fc.web.page
Class PageServlet

java.lang.Object
  extended by javax.servlet.GenericServlet
      extended by javax.servlet.http.HttpServlet
          extended by fc.web.servlet.FCBaseServlet
              extended by fc.web.page.PageServlet
All Implemented Interfaces:
Serializable, javax.servlet.Servlet, javax.servlet.ServletConfig

public class PageServlet
extends FCBaseServlet

The page servlet. Handles web requests that are mapped to a molly server page (typically via a *.mp extension).

All uncaught exceptions in the rendered page are wrapped in a ServletException and thrown up to the servlet container. These are typically handled by the container by either showing the full stack trace to the user or using a error page configured in the containers web.xml file. This latter approach is recommended for production use. An example is shown below.

<!-- in web.xml --> <error-page> <exception-type>java.lang.Exception</exception-type> <location>/errors/error.mp</location> </error-page>

However, if some partial response has already been sent to the browser and an exception occurs (later in java code on that same page), then the error page (if configured in web.xml) cannot typically be displayed.

For that scenario, this servlet accepts an optional error_page initialization parameter. This parameter, if present, should contain a webapp-relative path to an error page that will be included in the rendered page if there is an exception after the response has been committed. This error page is then included in the response sent to the browser.

The following attributes are available in the error page

javax.servlet.error.status_code 
javax.servlet.error.exception
javax.servlet.error.request_uri
javax.servlet.error.servlet_name

This servlet also accepts an optional 404_page parameter. This parameter, if present, should contain a web document root-relative path to a 404 or not found page. This page is different than the error_page because it signifies a badly typed URL request for a page that does not exist. (for example, http://somehost/badpage.mp). This parameter should be the same as the 404 error code parameter in web.xml. For example:

<!-- in web.xml --> <error-page> <error-code>404</error-code> <location>/errors/not_found.html</location> </error-page>

See Also:
Serialized Form

Constructor Summary
PageServlet()
           
 
Method Summary
 void destroy()
           
 void init(javax.servlet.ServletConfig conf)
           
 String toString()
           
 
Methods inherited from class fc.web.servlet.FCBaseServlet
getLog, stats
 
Methods inherited from class javax.servlet.http.HttpServlet
service
 
Methods inherited from class javax.servlet.GenericServlet
getInitParameter, getInitParameterNames, getServletConfig, getServletContext, getServletInfo, getServletName, init, log, log
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

PageServlet

public PageServlet()
Method Detail

init

public void init(javax.servlet.ServletConfig conf)
          throws javax.servlet.ServletException
Specified by:
init in interface javax.servlet.Servlet
Overrides:
init in class FCBaseServlet
Throws:
javax.servlet.ServletException

toString

public String toString()
Overrides:
toString in class FCBaseServlet

destroy

public void destroy()
Specified by:
destroy in interface javax.servlet.Servlet
Overrides:
destroy in class FCBaseServlet