|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object javax.faces.webapp.FacesServlet
public final class FacesServlet
FacesServlet is a servlet that manages the request processing lifecycle for web applications that are utilizing JavaServer Faces to construct the user interface.
If the application is running in a Servlet 3.0 (and beyond)
container, the runtime must provide an implementation of the ServletContainerInitializer
interface that declares
the following classes in its javax.servlet.annotation.HandlesTypes
annotation.
ResourceDependencies
ResourceDependency
FacesComponent
UIComponent
Converter
FacesConverter
ListenerFor
ListenersFor
FacesBehaviorRenderer
Renderer
FacesValidator
Validator
This servlet must automatically be mapped if it is
not explicitly mapped in web.xml
or
web-fragment.xml
and one or more of the following
conditions are true.
A faces-config.xml
file is found in
WEB-INF
A faces-config.xml
file is found in the
META-INF
directory of a jar in the application's
classpath.
A filename ending in .faces-config.xml
is
found in the META-INF
directory of a jar in the
application's classpath.
The javax.faces.CONFIG_FILES
context param
is declared in web.xml
or
web-fragment.xml
.
The Set
of classes passed to the
onStartup()
method of the
ServletContainerInitializer
implementation is not
empty.
If the runtime determines that the servlet must be automatically
mapped, it must be mapped to the following
<url-pattern
> entries.
Field Summary | |
---|---|
static java.lang.String |
CONFIG_FILES_ATTR
Context initialization parameter name for a comma delimited list of context-relative resource paths (in addition to /WEB-INF/faces-config.xml which is loaded automatically
if it exists) containing JavaServer Faces configuration information. |
static java.lang.String |
LIFECYCLE_ID_ATTR
Context initialization parameter name for the lifecycle identifier of the Lifecycle instance to be utilized. |
Constructor Summary | |
---|---|
FacesServlet()
|
Method Summary | |
---|---|
void |
destroy()
Release all resources acquired at startup time. |
javax.servlet.ServletConfig |
getServletConfig()
Return the ServletConfig instance for this servlet. |
java.lang.String |
getServletInfo()
Return information about this Servlet. |
void |
init(javax.servlet.ServletConfig servletConfig)
Acquire the factory instances we will require. |
void |
service(javax.servlet.ServletRequest request,
javax.servlet.ServletResponse response)
Process an incoming request, and create the corresponding response according to the following specification. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final java.lang.String CONFIG_FILES_ATTR
Context initialization parameter name for a comma delimited list
of context-relative resource paths (in addition to
/WEB-INF/faces-config.xml
which is loaded automatically
if it exists) containing JavaServer Faces configuration information.
public static final java.lang.String LIFECYCLE_ID_ATTR
Context initialization parameter name for the lifecycle identifier
of the Lifecycle
instance to be utilized.
Constructor Detail |
---|
public FacesServlet()
Method Detail |
---|
public void destroy()
Release all resources acquired at startup time.
destroy
in interface javax.servlet.Servlet
public javax.servlet.ServletConfig getServletConfig()
Return the ServletConfig
instance for this servlet.
getServletConfig
in interface javax.servlet.Servlet
public java.lang.String getServletInfo()
Return information about this Servlet.
getServletInfo
in interface javax.servlet.Servlet
public void init(javax.servlet.ServletConfig servletConfig) throws javax.servlet.ServletException
Acquire the factory instances we will require.
init
in interface javax.servlet.Servlet
javax.servlet.ServletException
- if, for any reason, the startup of
this Faces application failed. This includes errors in the
config file that is parsed before or during the processing of
this init()
method.public void service(javax.servlet.ServletRequest request, javax.servlet.ServletResponse response) throws java.io.IOException, javax.servlet.ServletException
Process an incoming request, and create the corresponding response according to the following specification.
If the request
and response
arguments to this method are not instances of
HttpServletRequest
and
HttpServletResponse
, respectively, the results of
invoking this method are undefined.
This method must respond to requests that start with the
following strings by invoking the sendError
method
on the response argument (cast to
HttpServletResponse
), passing the code
HttpServletResponse.SC_NOT_FOUND
as the
argument.
/WEB-INF/
/WEB-INF
/META-INF/
/META-INF
If none of the cases described above in the specification for this method apply to the servicing of this request, the following action must be taken to service the request.
Acquire a FacesContext
instance for this request.
Acquire the ResourceHandler
for this request by
calling Application.getResourceHandler()
. Call
ResourceHandler.isResourceRequest(javax.faces.context.FacesContext)
. If
this returns true
call ResourceHandler.handleResourceRequest(javax.faces.context.FacesContext)
.
If this returns false
, call Lifecycle.execute(javax.faces.context.FacesContext)
followed by Lifecycle.render(javax.faces.context.FacesContext)
. If a FacesException
is thrown in either case, extract the
cause from the FacesException
. If the cause is
null
extract the message from the
FacesException
, put it inside of a new
ServletException
instance, and pass the
FacesException
instance as the root cause, then
rethrow the ServletException
instance. If the cause
is an instance of ServletException
, rethrow the
cause. If the cause is an instance of IOException
,
rethrow the cause. Otherwise, create a new
ServletException
instance, passing the message from
the cause, as the first argument, and the cause itself as the
second argument.
The implementation must
make it so FacesContext.release()
is
called within a finally block as late as possible in the
processing for the JSF related portion of this request.
service
in interface javax.servlet.Servlet
request
- The servlet request we are processingresponse
- The servlet response we are creating
java.io.IOException
- if an input/output error occurs during processing
javax.servlet.ServletException
- if a servlet error occurs during processing
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |