|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectcom.sun.grizzly.tcp.StaticResourcesAdapter
com.sun.grizzly.tcp.http11.GrizzlyAdapter
com.sun.grizzly.http.servlet.ServletAdapter
public class ServletAdapter
Adapter class that can initiate a FilterChain and execute its
Filter and its Servlet
Configuring a GrizzlyWebServer or
SelectorThread to use this
GrizzlyAdapter implementation add the ability of servicing Servlet
as well as static resources.
This class can be used to programatically configure a Servlet, Filters, listeners,
init parameters, context-param, etc. a application usually defined using the web.xml.
See addInitParameter(String, String) addContextParameter(String, String)
setProperty(String, Object), addServletListener(String), etc.
As an example:
GrizzlyWebServer ws = new GrizzlyWebServer("/var/www");
try{
ServletAdapter sa = new ServletAdapter();
sa.setRootFolder("/Path/To/Exploded/War/File");
sa.setServlet(new MyServlet());
// Set the Servlet's Name
// Any ServletConfig.getXXX method can be configured using this call.
// The same apply for ServletContext.getXXX.
sa.setProperty("display-name","myServlet");
sa.addListener("foo.bar.myHttpSessionListener");
sa.addListener(MyOtherHttpSessionListener.class);
sa.addServletContextListener(new FooServletContextListener());
sa.addServletContextAttributeListener(new BarServletCtxAttListener());
sa.addContextParameter("databaseURI","jdbc://");
sa.addInitParameter("password","hello");
sa.setServletPath("/MyServletPath");
sa.setContextPath("/myApp");
ws.addGrizzlyAdapter(sa);
ws.start();
} catch (IOException ex){
// Something when wrong.
}
| Field Summary | |
|---|---|
protected ClassLoader |
classLoader
|
static int |
INCREMENT
|
protected boolean |
initialize
Initialize the ServletContext |
static String |
LOAD_ON_STARTUP
|
protected HashMap<String,Object> |
properties
Holder for our configured properties. |
static int |
REQUEST_RESPONSE_NOTES
|
static int |
SERVLETCONFIG_NOTES
|
protected javax.servlet.Servlet |
servletInstance
|
| Fields inherited from class com.sun.grizzly.tcp.http11.GrizzlyAdapter |
|---|
ADAPTER_NOTES, ALLOW_BACKSLASH, chunkingDisabled |
| Fields inherited from class com.sun.grizzly.tcp.StaticResourcesAdapter |
|---|
cache, commitErrorResponse, fileFolders, logger, resourcesContextPath |
| Constructor Summary | |
|---|---|
|
ServletAdapter()
|
|
ServletAdapter(javax.servlet.Servlet servlet)
Create a ServletAdapter which support the specific Servlet |
|
ServletAdapter(javax.servlet.Servlet servlet,
ServletContextImpl servletContext)
|
|
ServletAdapter(String publicDirectory)
Create a new instance which will look for static pages located under publicDirectory folder. |
protected |
ServletAdapter(String publicDirectory,
ServletContextImpl servletCtx,
Map<String,String> contextParameters,
Map<String,String> servletInitParameters,
List<String> listeners)
Convenience constructor. |
|
ServletAdapter(String publicDirectory,
String name)
Create a new instance which will look for static pages located under publicDirectory folder. |
protected |
ServletAdapter(String publicDirectory,
String servletName,
ServletContextImpl servletCtx,
Map<String,String> contextParameters,
Map<String,String> servletInitParameters,
boolean initialize)
Convenience constructor. |
protected |
ServletAdapter(String publicDirectory,
String servletName,
ServletContextImpl servletCtx,
Map<String,String> contextParameters,
Map<String,String> servletInitParameters,
List<String> listeners)
Convenience constructor. |
protected |
ServletAdapter(String publicDirectory,
String servletName,
ServletContextImpl servletCtx,
Map<String,String> contextParameters,
Map<String,String> servletInitParameters,
List<String> listeners,
boolean initialize)
Convenience constructor. |
| Method Summary | |
|---|---|
void |
addContextParameter(String name,
String value)
Add a new servlet context parameter for this servlet. |
protected void |
addFilter(FilterConfigImpl filterConfig)
Add a filter to the set of filters that will be executed in this chain. |
void |
addFilter(javax.servlet.Filter filter,
String filterName,
Map initParameters)
Add a Filter to the
ServletAdapter.FilterChainImpl |
void |
addInitParameter(String name,
String value)
Add a new servlet initialization parameter for this servlet. |
void |
addServletListener(String listenerName)
Add Servlet listeners that implement EventListener |
void |
afterService(GrizzlyRequest request,
GrizzlyResponse response)
|
protected void |
configureClassLoader(String applicationPath)
Create a URLClassLoader which has the capability of
loading classes jar under an exploded war application. |
protected void |
configureServletEnv()
Configure the ServletContextImpl
and ServletConfigImpl |
boolean |
containsInitParameter(String name)
if the servlet initialization parameter in present for this servlet. |
void |
customizeErrorPage(GrizzlyResponse response,
String message,
int errorCode)
Customize the error page returned to the client. |
void |
destroy()
Destroy this Servlet and its associated ServletContextListener |
void |
doService(GrizzlyRequest request,
GrizzlyResponse response)
|
ClassLoader |
getClassLoader()
|
protected Map<String,String> |
getContextParameters()
|
String |
getContextPath()
Returns the portion of the request URI that indicates the context of the request. |
String |
getInitParameter(String name)
get a servlet initialization parameter for this servlet. |
protected List<String> |
getListeners()
|
String |
getName()
|
Object |
getProperty(String name)
Return a configured property. |
protected ServletContextImpl |
getServletCtx()
|
javax.servlet.Servlet |
getServletInstance()
Return the Servlet instance used by this ServletAdapter |
String |
getServletPath()
Returns the part of this request's URL that calls the servlet. |
boolean |
isLoadOnStartup()
|
protected void |
loadServlet()
Load a Servlet instance. |
ServletAdapter |
newServletAdapter(javax.servlet.Servlet servlet)
Create a new ServletAdapter instance that will share the same
ServletContextImpl and Servlet's
listener but with an empty map of init-parameters. |
void |
removeInitParameter(String name)
Remove a servlet initialization parameter for this servlet. |
void |
removeProperty(String name)
Remove a configured property. |
boolean |
removeServletListener(String listenerName)
Remove Servlet listeners that implement EventListener |
void |
service(GrizzlyRequest request,
GrizzlyResponse response)
|
void |
setClassLoader(ClassLoader classLoader)
|
void |
setContextPath(String contextPath)
Programmatically set the context path of the Servlet. |
protected void |
setDispatcherHelper(DispatcherHelper dispatcherHelper)
|
void |
setProperty(String name,
Object value)
Set a configured property. |
void |
setServletInstance(javax.servlet.Servlet servletInstance)
Set the Servlet instance used by this ServletAdapter |
void |
setServletPath(String servletPath)
Programmatically set the servlet path of the Servlet. |
void |
start()
|
| Methods inherited from class com.sun.grizzly.tcp.http11.GrizzlyAdapter |
|---|
afterService, isAllowEncodedSlash, isDecodeURL, isHandleStaticResources, service, setAllowEncodedSlash, setDecodeUrl, setHandleStaticResources |
| Methods inherited from class com.sun.grizzly.tcp.StaticResourcesAdapter |
|---|
addRootFolder, customizedErrorPage, getDefaultContentType, getResourcesContextPath, getRootFolder, getRootFolders, initWebDir, isUseSendFile, service, setDefaultContentType, setLogger, setResourcesContextPath, setRootFolder, setUseSendFile |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public static final int REQUEST_RESPONSE_NOTES
public static final int SERVLETCONFIG_NOTES
public static final String LOAD_ON_STARTUP
protected volatile javax.servlet.Servlet servletInstance
protected HashMap<String,Object> properties
protected boolean initialize
ServletContext
protected ClassLoader classLoader
public static final int INCREMENT
| Constructor Detail |
|---|
public ServletAdapter()
public ServletAdapter(javax.servlet.Servlet servlet)
servlet - Instance to be used by this adapter.public ServletAdapter(String publicDirectory)
publicDirectory - the folder where the static resource are located.
public ServletAdapter(String publicDirectory,
String name)
publicDirectory - the folder where the static resource are located.
protected ServletAdapter(String publicDirectory,
ServletContextImpl servletCtx,
Map<String,String> contextParameters,
Map<String,String> servletInitParameters,
List<String> listeners)
publicDirectory - The folder where the static resource are located.servletCtx - ServletContextImpl to be used by new instance.contextParameters - Context parameters.servletInitParameters - servlet initialization parameres.listeners - Listeners.
protected ServletAdapter(String publicDirectory,
String servletName,
ServletContextImpl servletCtx,
Map<String,String> contextParameters,
Map<String,String> servletInitParameters,
List<String> listeners)
publicDirectory - The folder where the static resource are located.servletCtx - ServletContextImpl to be used by new instance.contextParameters - Context parameters.servletInitParameters - servlet initialization parameres.listeners - Listeners.
protected ServletAdapter(String publicDirectory,
String servletName,
ServletContextImpl servletCtx,
Map<String,String> contextParameters,
Map<String,String> servletInitParameters,
List<String> listeners,
boolean initialize)
publicDirectory - The folder where the static resource are located.servletCtx - ServletContextImpl to be used by new instance.contextParameters - Context parameters.servletInitParameters - servlet initialization parameres.listeners - Listeners.initialize - false only when the #newServletAdapter() is invoked.
protected ServletAdapter(String publicDirectory,
String servletName,
ServletContextImpl servletCtx,
Map<String,String> contextParameters,
Map<String,String> servletInitParameters,
boolean initialize)
publicDirectory - The folder where the static resource are located.servletCtx - ServletContextImpl to be used by new instance.contextParameters - Context parameters.servletInitParameters - servlet initialization parameres.initialize - false only when the #newServletAdapter() is invoked.
public ServletAdapter(javax.servlet.Servlet servlet,
ServletContextImpl servletContext)
| Method Detail |
|---|
public void start()
start in class GrizzlyAdapter
protected void configureClassLoader(String applicationPath)
throws IOException
URLClassLoader which has the capability of
loading classes jar under an exploded war application.
applicationPath - Application class path.
IOException - I/O error.
public void service(GrizzlyRequest request,
GrizzlyResponse response)
service in class GrizzlyAdapter
public void doService(GrizzlyRequest request,
GrizzlyResponse response)
public void customizeErrorPage(GrizzlyResponse response,
String message,
int errorCode)
response - the GrizzlyResponsemessage - the Http error messageerrorCode - the error code.
protected void loadServlet()
throws javax.servlet.ServletException
Servlet instance.
javax.servlet.ServletException - If failed to
Servlet.init(javax.servlet.ServletConfig).
protected void configureServletEnv()
throws javax.servlet.ServletException
ServletContextImpl
and ServletConfigImpl
javax.servlet.ServletException - Error while configuring
Servlet.
public void afterService(GrizzlyRequest request,
GrizzlyResponse response)
throws Exception
afterService in class GrizzlyAdapterException
public void addInitParameter(String name,
String value)
name - Name of this initialization parameter to addvalue - Value of this initialization parameter to addpublic void removeInitParameter(String name)
name - Name of this initialization parameter to removepublic String getInitParameter(String name)
name - Name of this initialization parameter to retreivepublic boolean containsInitParameter(String name)
name - Name of this initialization parameter
public void addContextParameter(String name,
String value)
name - Name of this initialization parameter to addvalue - Value of this initialization parameter to add
public void addFilter(javax.servlet.Filter filter,
String filterName,
Map initParameters)
Filter to the
ServletAdapter.FilterChainImpl
filter - an instance of FilterfilterName - the Filter's nameinitParameters - the Filter init parameters.public javax.servlet.Servlet getServletInstance()
Servlet instance used by this ServletAdapter
Servlet isntance.public void setServletInstance(javax.servlet.Servlet servletInstance)
Servlet instance used by this ServletAdapter
servletInstance - an instance of Servlet.public String getServletPath()
This method will return an empty string ("") if the servlet used to process this request was matched using the "/*" pattern.
String containing
the name or path of the servlet being
called, as specified in the request URL,
decoded, or an empty string if the servlet
used to process the request is matched
using the "/*" pattern.public void setServletPath(String servletPath)
servletPath - Path of Servlet.public String getContextPath()
It is possible that a servlet container may match a context by
more than one context path. In such cases this method will return the
actual context path used by the request and it may differ from the
path returned by the
ServletContext.getContextPath() method.
The context path returned by
ServletContext.getContextPath()
should be considered as the prime or preferred context path of the
application.
String specifying the
portion of the request URI that indicates the context
of the requestServletContext.getContextPath()public void setContextPath(String contextPath)
contextPath - Context path.public void addServletListener(String listenerName)
EventListener
listenerName - name of a Servlet listenerpublic boolean removeServletListener(String listenerName)
EventListener
listenerName - name of a Servlet listener to removepublic Object getProperty(String name)
ServletContextImpl
and ServletConfigImpl
name - Name of property to get.
public void setProperty(String name,
Object value)
ServletContextImpl
and ServletConfigImpl.
Use this method to map what's you usually
have in a web.xml like display-name, context-param, etc.
name - Name of the property to setvalue - of the property.public void removeProperty(String name)
ServletContextImpl
and ServletConfigImpl
name - Property name to remove.public boolean isLoadOnStartup()
public void destroy()
ServletContextListener
destroy in class GrizzlyAdapterpublic ServletAdapter newServletAdapter(javax.servlet.Servlet servlet)
ServletAdapter instance that will share the same
ServletContextImpl and Servlet's
listener but with an empty map of init-parameters.
servlet - - The Servlet associated with the ServletAdapter
ServletAdapterpublic String getName()
getName in class GrizzlyAdapterprotected void setDispatcherHelper(DispatcherHelper dispatcherHelper)
setDispatcherHelper in class GrizzlyAdapterprotected ServletContextImpl getServletCtx()
protected List<String> getListeners()
protected Map<String,String> getContextParameters()
public ClassLoader getClassLoader()
public void setClassLoader(ClassLoader classLoader)
protected void addFilter(FilterConfigImpl filterConfig)
filterConfig - The FilterConfig for the servlet to be executed
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||