To get the effect of the following (from WEB-INF/web.xml
) in an
embedded Jetty server,
<filter> <filter-name>wicket.wicket</filter-name> <filter-class>org.apache.wicket.protocol.http.WicketFilter</filter-class> <init-param> <param-name>applicationClassName</param-name> <param-value>cz.dw.test.WicketApplication</param-value> </init-param> </filter>
you can use this code:
public class RunInJetty { public static void main( String[] args ){ Server server = new Server(8080); Context root = new Context( server, "/", Context.SESSIONS ); ServletHolder servletHolder = new ServletHolder(new WicketServlet()); servletHolder.setInitParameter("applicationClassName", cz.dw.test.WicketApplication.class.getName() ); root.addServlet( servletHolder, "/*" ); /**/ /*/ FilterHolder filterHolder = new FilterHolder( new WicketFilter() ); filterHolder.setInitParameter("applicationClassName", cz.dw.test.WicketApplication.class.getName() ); root.addFilter( filterHolder, "/*" , Handler.ALL ); /**/ try { server.start(); } catch (Exception ex) { ex.printStackTrace(); } } }// class
The filter does not work – I don't know why. Also note that this way to add filters is deprecated in Jetty 7.