|
|||||||||
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.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 | |
---|---|
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 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, logger, resourcesContextPath, rootFolder, webDir |
Constructor Summary | |
---|---|
|
ServletAdapter()
|
|
ServletAdapter(Servlet servlet)
Create a ServletAdapter which support the specific Servlet |
|
ServletAdapter(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,
HashMap<String,String> parameters,
ArrayList<String> listeners)
|
Method Summary | |
---|---|
void |
addContextParameter(String name,
String value)
Add a new servlet context parameter for this servlet. |
void |
addFilter(Filter filter,
String filterName,
Map initParameters)
Add a Filter to the FilterChain |
void |
addInitParameter(String name,
String value)
Add a new servlet initialization parameter for this servlet. |
void |
addServletListener(String listenerName)
Add Servlet listeners like ServletContextAttributeListener ,
ServletContextListener . |
void |
afterService(GrizzlyRequest request,
GrizzlyResponse response)
|
protected void |
configureClassLoader(String appliPath)
Create a URLClassLoader which has the capability of loading classes
jar under an exploded war application. |
protected void |
configureServletEnv()
Configure the ServletContext and ServletConfig |
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 |
String |
getContextPath()
Returns the portion of the request URI that indicates the context of the request. |
protected ArrayList<String> |
getListeners()
|
protected HashMap<String,String> |
getParameters()
|
Object |
getProperty(String name)
Return a configured property. |
protected ServletContextImpl |
getServletCtx()
|
Servlet |
getServletInstance()
Return the Servlet instance used by this Adapter |
String |
getServletPath()
Returns the part of this request's URL that calls the servlet. |
protected void |
loadServlet()
Load a Servlet instance. |
ServletAdapter |
newServletAdapter(Servlet servlet)
Create a new ServletAdapter instance that will share the same
init-parameters, ServletContext and Servlet's listener. |
void |
removeProperty(String name)
Remove a configured property. |
void |
service(GrizzlyRequest request,
GrizzlyResponse response)
|
void |
setContextPath(String contextPath)
Programmatically set the context path of the Servlet. |
void |
setProperty(String name,
Object value)
Set a configured property. |
void |
setServletInstance(Servlet servletInstance)
Set the Servlet instance used by this Adapter |
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, isHandleStaticResources, service, setAllowEncodedSlash, setDecodeUrl, setHandleStaticResources |
Methods inherited from class com.sun.grizzly.tcp.StaticResourcesAdapter |
---|
customizedErrorPage, getResourcesContextPath, getRootFolder, initWebDir, isUseSendFile, service, 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 Servlet servletInstance
protected HashMap<String,Object> properties
Constructor Detail |
---|
public ServletAdapter()
public ServletAdapter(Servlet servlet)
public ServletAdapter(String publicDirectory)
publicDirectory
- the folder where the static resource are located.protected ServletAdapter(String publicDirectory, ServletContextImpl servletCtx, HashMap<String,String> parameters, ArrayList<String> listeners)
public ServletAdapter(Servlet servlet, ServletContextImpl servletContext)
Method Detail |
---|
public void start()
start
in class GrizzlyAdapter
protected void configureClassLoader(String appliPath) throws IOException
URLClassLoader
which has the capability of loading classes
jar under an exploded war application.
IOException
public void service(GrizzlyRequest request, GrizzlyResponse response)
service
in class GrizzlyAdapter
public void customizeErrorPage(GrizzlyResponse response, String message, int errorCode)
response
- the GrizzlyResponse
message
- the Http error messageerroCode
- the error code.protected void loadServlet() throws ServletException
Servlet
instance.
ServletException
protected void configureServletEnv() throws ServletException
ServletContext
and ServletConfig
ServletException
public void afterService(GrizzlyRequest request, GrizzlyResponse response) throws Exception
afterService
in class GrizzlyAdapter
Exception
public void addInitParameter(String name, String value)
name
- Name of this initialization parameter to addvalue
- Value of this initialization parameter to addpublic void addContextParameter(String name, String value)
name
- Name of this initialization parameter to addvalue
- Value of this initialization parameter to addpublic void addFilter(Filter filter, String filterName, Map initParameters)
Filter
to the FilterChain
filter
- an instance of FilterfilterName
- the Filter's nameinitParameters
- the Filter init parameters.public Servlet getServletInstance()
Servlet
instance used by this Adapter
public void setServletInstance(Servlet servletInstance)
Servlet
instance used by this Adapter
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
- 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
- public void addServletListener(String listenerName)
ServletContextAttributeListener
,
ServletContextListener
.
public Object getProperty(String name)
ServletContext
and ServletConfig
public void setProperty(String name, Object value)
ServletContext
and ServletConfig
. 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)
ServletContext
and ServletConfig
public void destroy()
ServletContextListener
destroy
in class GrizzlyAdapter
public ServletAdapter newServletAdapter(Servlet servlet)
ServletAdapter
instance that will share the same
init-parameters, ServletContext
and Servlet's listener.
servlet
- - The Servlet associated with the ServletAdapter
ServletAdapter
protected ServletContextImpl getServletCtx()
protected ArrayList<String> getListeners()
protected HashMap<String,String> getParameters()
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |