Hi,
I'll reply to my own message. :) Martin Grigorov figured out that Jetty
doesn't install the DefaultServlet in this configuration. Without a
servlet the WicketFilter cannot work.
There's now new working sample code at
https://issues.apache.org/jira/browse/WICKET-4350
Christoph
Christoph Leiter (2012-04-03 12:55):
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(SetClass? 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
-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org