Class WicketServlet
- java.lang.Object
-
- javax.servlet.GenericServlet
-
- javax.servlet.http.HttpServlet
-
- org.apache.wicket.protocol.http.WicketServlet
-
- All Implemented Interfaces:
java.io.Serializable,javax.servlet.Servlet,javax.servlet.ServletConfig
- Direct Known Subclasses:
ReloadingWicketServlet
public class WicketServlet extends javax.servlet.http.HttpServletPlease useWicketFilterif you require advanced chaining of resources.Servlet class for all wicket applications. The specific application class to instantiate should be specified to the application server via an init-params argument named "applicationClassName" in the servlet declaration, which is typically in a web.xml file. The servlet declaration may vary from one application server to another, but should look something like this:
<servlet> <servlet-name>MyApplication</servlet-name> <servlet-class>org.apache.wicket.protocol.http.WicketServlet</servlet-class> <init-param> <param-name>applicationClassName</param-name> <param-value>com.whoever.MyApplication</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet>Note that the applicationClassName parameter you specify must be the fully qualified name of a class that extends WebApplication. If your class cannot be found, does not extend WebApplication or cannot be instantiated, a runtime exception of type WicketRuntimeException will be thrown. As an alternative, you can configure an application factory instead. This looks like:<init-param> <param-name>applicationFactoryClassName</param-name> <param-value>teachscape.platform.web.wicket.SpringApplicationFactory</param-value> </init-param>
and it has to satisfy interfaceIWebApplicationFactory.The servlet can also be configured to skip certain paths, this is especially useful when the servlet is mapped to
/*mapping:<init-param> <param-name>ignorePaths</param-name> <param-value>/images/products/,/documents/pdf/</param-value> </init-param>
When GET/POST requests are made via HTTP, a WebRequestCycle object is created from the request, response and session objects (after wrapping them in the appropriate wicket wrappers). The RequestCycle's render() method is then called to produce a response to the HTTP request.
If you want to use servlet specific configuration, e.g. using init parameters from the
ServletConfigobject, you should override the init() method ofGenericServlet. For example:public void init() throws ServletException { ServletConfig config = getServletConfig(); String webXMLParameter = config.getInitParameter("myWebXMLParameter"); ...In order to support frameworks like Spring, the class is non-final and the variable webApplication is protected instead of private. Thus subclasses may provide their own means of providing the application object.- Author:
- Jonathan Locke, Timur Mehrvarz, Juergen Donnerstag, Igor Vaynberg (ivaynberg), Al Maw
- See Also:
RequestCycle, Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected WicketFilterwicketFilterThe WicketFilter where all the handling is done
-
Constructor Summary
Constructors Constructor Description WicketServlet()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voiddestroy()Servlet cleanup.voiddoGet(javax.servlet.http.HttpServletRequest servletRequest, javax.servlet.http.HttpServletResponse servletResponse)Handles servlet page requests.voiddoPost(javax.servlet.http.HttpServletRequest servletRequest, javax.servlet.http.HttpServletResponse servletResponse)Calls doGet with arguments.voidinit()Servlet initializationprotected WicketFilternewWicketFilter()-
Methods inherited from class javax.servlet.http.HttpServlet
doDelete, doHead, doOptions, doPut, doTrace, getLastModified, service, service
-
-
-
-
Field Detail
-
wicketFilter
protected transient WicketFilter wicketFilter
The WicketFilter where all the handling is done
-
-
Method Detail
-
doGet
public final void doGet(javax.servlet.http.HttpServletRequest servletRequest, javax.servlet.http.HttpServletResponse servletResponse) throws javax.servlet.ServletException, java.io.IOExceptionHandles servlet page requests.- Overrides:
doGetin classjavax.servlet.http.HttpServlet- Parameters:
servletRequest- Servlet request objectservletResponse- Servlet response object- Throws:
javax.servlet.ServletException- Thrown if something goes wrong during request handlingjava.io.IOException
-
doPost
public final void doPost(javax.servlet.http.HttpServletRequest servletRequest, javax.servlet.http.HttpServletResponse servletResponse) throws javax.servlet.ServletException, java.io.IOExceptionCalls doGet with arguments.- Overrides:
doPostin classjavax.servlet.http.HttpServlet- Parameters:
servletRequest- Servlet request objectservletResponse- Servlet response object- Throws:
javax.servlet.ServletException- Thrown if something goes wrong during request handlingjava.io.IOException- See Also:
doGet(HttpServletRequest, HttpServletResponse)
-
init
public void init() throws javax.servlet.ServletExceptionServlet initialization- Overrides:
initin classjavax.servlet.GenericServlet- Throws:
javax.servlet.ServletException
-
newWicketFilter
protected WicketFilter newWicketFilter()
- Returns:
- The wicket filter
-
destroy
public void destroy()
Servlet cleanup.- Specified by:
destroyin interfacejavax.servlet.Servlet- Overrides:
destroyin classjavax.servlet.GenericServlet
-
-