Tag Archives: servlet

closer look at the FacesServlet instance


This is always ignored as a default servlet that gets generated in the web.xml, but do we know the actual usage of this servlet?

All the JSF applications should include a mapping to this servlet in the deployment Descriptor. The usage of this servlet is that it

  • accepts all the incoming request
  • passes them to the lifecycle for processing
  • intializes the resources

it is usually defined in the web.xml file as

<servlet>
 <display-name>FacesServlet</display-name>
 <servlet-name>FacesServlet</servlet-name>
 <servlet-class>javax.faces.webapp.FacesServlet
 </servlet-class>
 <load-on-startup>1</load-on-startup>
 </servlet>

with corresponding mapping as well

<servlet-mapping>
 <servlet-name>FacesServlet</servlet-name>
 <url-pattern>/faces/*</url-pattern>
 </servlet-mapping>

the servlet includes servlet lifecycle methods to initialize and process the request

init(ServletConfig)FacesContextFactory,LifeCycleFactory is identified and the lifeCycle reference is obtained with the default lifecycle id
service()the pathInfo is manipulated from WEB-INF and META-INF folder from the request, FacesContext is obtained, lifecycle is executed and rendered, later the context is released
destroy()all the instances are destroyed.. technically speaking nullified