Hi,

I'm trying to use ServletContainerInitializer to start my wicket application. There's already work done to support this in WICKET-4350. It's not working for me, however. The filter is registered in jetty but I get a 404 response for every request.

What I've done so far (starting from a quickstart):
1) Add dependency: org.eclipse.jetty.orbit:org.objectweb.asm:3.1.0.v200803061910
2) Delete web.xml
3) Create file META-INF/services/javax.servlet.ServletContainerInitializer with the content com.mycompany.Initializer
4) Add AnnotationConfiguration to the jetty configuration:
bb.setConfigurations(new Configuration[] { new AnnotationConfiguration() });
5) Add Initializer:

| public class Initializer implements ServletContainerInitializer {
|    @Override
| public void onStartup(Set<Class<?>> c, ServletContext servletContext) throws ServletException {
|         WicketApplication app = new WicketApplication();
|         app.setConfigurationType(RuntimeConfigurationType.DEVELOPMENT);
|         WicketFilter wicketFilter = new WicketFilter(app);
|         wicketFilter.setFilterPath("");
|         Dynamic filter = servletContext.addFilter("wicket", wicketFilter);
| filter.addMappingForUrlPatterns(EnumSet.allOf(DispatcherType.class), true, "/*");
|     }
| }

That's the relevant part of the jetty debug log for the filter registration:

| DEBUG - Container - Container org.eclipse.jetty.servlet.ServletHandler@78334ba0 + wicket as filter | DEBUG - Container - Container org.eclipse.jetty.servlet.ServletHandler@78334ba0 + [/*]/[]==31=>wicket as filterMapping
| DEBUG - ServletHandler             - filterNameMap={wicket=wicket}
| DEBUG - ServletHandler             - pathFilters=[[/*]/[]==31=>wicket]
| DEBUG - ServletHandler             - servletFilterMap={}
| DEBUG - ServletHandler             - servletPathMap=null
| DEBUG - ServletHandler             - servletNameMap={}
| DEBUG - AbstractLifeCycle          - starting wicket
| DEBUG - WebAppClassLoader - loaded class org.apache.wicket.Initializer from sun.misc.Launcher$AppClassLoader@7981c4eb | INFO - Application - [wicket] init: Wicket core library initializer

The log for a request to /:

| DEBUG - Server - REQUEST / on BlockingHttpConnection@3c7352d1,g=HttpGenerator{s=0,h=-1,b=-1,c=-1},p=HttpParser{s=-5,l=18,c=0},r=1 | DEBUG - ContextHandler - scope null||/ @ o.e.j.w.WebAppContext{/,null},src/main/webapp | DEBUG - ContextHandler - context=||/ @ o.e.j.w.WebAppContext{/,null},src/main/webapp | DEBUG - session - sessionManager=org.eclipse.jetty.server.session.HashSessionManager@efc0830
| DEBUG - session                    - session=null
| DEBUG - ServletHandler             - servlet ||/ -> null
| DEBUG - ServletHandler             - chain=null
| DEBUG - ServletHandler             - Not Found /
| DEBUG - Server                     - RESPONSE /  404

Environment is Wicket 1.5.5, jetty 8.1.2. I tried with Tomcat 7 as well but no luck either.

Any help is appreciated


Christoph

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org

Reply via email to