...
Configure Jetty to start WebApplication
Using WicketServlet
Code Block |
---|
server = new Server(); /* Setup server (port, etc.) */ ServletContextHandler sch = new ServletContextHandler(ServletContextHandler.SESSIONS); ServletHolder sh = new ServletHolder(WicketServlet.class); sh.setInitParameter(ContextParamWebApplicationFactory.APP_CLASS_PARAM, WicketApplication.class.getName()); sh.setInitParameter(WicketFilter.FILTER_MAPPING_PARAM, "/*"); /* Define a variable DEV_MODE and set to false * if wicket should be used in deployment mode */ if(!DEV_MODE) { sh.setInitParameter("wicket.configuration", "deployment"); } sch.addServlet(sh, "/*"); server.setHandler(sch) |
...
You may wonder where WicketServlet
came from, since it is not explicitly in web.xml. It is important to note that even if in web.xml there is only a filter defined, jetty needs a servlet to serve the requests. WicketServlet
is an implementation of servlet, which contains WicketFilter
to filter requests. If you want to have more control over WicketFilter
see next part.
Using WicketFilter
Code Block |
---|
ServletContextHandler sch = new ServletContextHandler(ServletContextHandler.SESSIONS); FilterHolder fh2 = new FilterHolder(WicketFilter.class); fh2.setInitParameter(ContextParamWebApplicationFactory.APP_CLASS_PARAM, WicketApplication.class.getName()); fh2.setInitParameter(WicketFilter.FILTER_MAPPING_PARAM, "/*"); sch.addFilter(fh2, "/*", EnumSet.of(DispatcherType.REQUEST,DispatcherType.ERROR)); sch.addServlet(DefaultServlet.class, "/*"); |
...