Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [jetty-users] Trouble with servlet mapping

Hi Kay,

If you've specified the servlet path mapping as "/us.heptet.magewars.webapp.WebApp.JUnit/springGwtServices/"  then the only request that will match it is exactly "/us.heptet.magewars.webapp.WebApp.JUnit/springGwtServices/" - note the trailing slash.  These won't match:

"/us.heptet.magewars.webapp.WebApp.JUnit/springGwtServices"
"/us.heptet.magewars.webapp.WebApp.JUnit/springGwtServices/foo/bar"

Similarly, if you map it without the trailing slash ("/us.heptet.magewars.webapp.WebApp.JUnit/springGwtServices"), then the only request that will match is exactly  "/us.heptet.magewars.webapp.WebApp.JUnit/springGwtServices". These won't match:

"/us.heptet.magewars.webapp.WebApp.JUnit/springGwtServices/"
"/us.heptet.magewars.webapp.WebApp.JUnit/springGwtServices/foo/bar"

Maybe you want to specify "/us.heptet.magewars.webapp.WebApp.JUnit/springGwtServices/*", which will match all of the above?

Jan

On 4 August 2016 at 09:45, Kay McCormick <knim@xxxxxxxxxxx> wrote:
I am having difficulty with servlet mapping. My servlet configuration is configured programmatically by the GWT framework with an embedded jetty. The configuration is not directly accessible to me,  but I am configuring a custom servlets via the GWT configuration mechanism. My custom servlet is not being invoked, although based on the log output it appears to be "mapped" in the jetty initialization process. I will include log output below.  It seems to indicate that the servlet is being mapped correctly, but then later when the request is handled, it goes to the default servlet.

If you look at the line with the timestamp 16:14:23.638, log output from "ServletHandler" is as follows:

org.eclipse.jetty.servlet.ServletHandler - servlet |/us.heptet.magewars.webapp.WebApp.JUnit/springGwtServices/gwtGameService|null -> default@5c13d641==org.eclipse.jetty.servlet.DefaultServlet,0,true

The output is the string 'servlet' followed by {context path}|{servlet path}|{path info} -> {servlet}

I can see that the "context path" is an empty string, and the servlet path is the full URI, and the "path info" is null. I don't know if this is correct, and if the path info should be "gwtGameService" or if that gets broken out later in the processing. Obviously it is finding the default servlet which is not correct.

Can anyone help here?

Sincerely,

Kay

Logs to follow (jetty version 9.2.14.v20151106)


[INFO] 16:13:59.066 [main] DEBUG org.eclipse.jetty.servlet.ServletHandler - Chose path=/us.heptet.magewars.webapp.WebApp.JUnit/springGwtServices/ mapped to servlet=org.spring4gwt.server.SpringGwtRemoteServiceServlet-4f2c9ba6 from default=false
[INFO] 16:13:59.066 [main] DEBUG org.eclipse.jetty.servlet.ServletHandler - Chose path=/ mapped to servlet=default from default=true

[INFO] 16:13:59.066 [main] DEBUG org.eclipse.jetty.servlet.ServletHandler - filterNameMap={}
[INFO] 16:13:59.066 [main] DEBUG org.eclipse.jetty.servlet.ServletHandler - pathFilters=[]
[INFO] 16:13:59.066 [main] DEBUG org.eclipse.jetty.servlet.ServletHandler - servletFilterMap={}
[INFO] 16:13:59.067 [main] DEBUG org.eclipse.jetty.servlet.ServletHandler - servletPathMap={*.jspx=jsp@19c47==org.eclipse.jetty.jsp.JettyJspServlet,0,true, /us.heptet.magewars.webapp.WebApp.JUnit/junithost/*=com.google.gwt.junit.server.JUnitHostImpl-619bfe29@78b0397a==com.google.gwt.junit.server.JUnitHostImpl,-1,false, *.JSPX=jsp@19c47==org.eclipse.jetty.jsp.JettyJspServlet,0,true, *.jsp=jsp@19c47==org.eclipse.jetty.jsp.JettyJspServlet,0,true, *.JSPF=jsp@19c47==org.eclipse.jetty.jsp.JettyJspServlet,0,true, *.jspf=jsp@19c47==org.eclipse.jetty.jsp.JettyJspServlet,0,true, *.JSP=jsp@19c47==org.eclipse.jetty.jsp.JettyJspServlet,0,true, *.xsp=jsp@19c47==org.eclipse.jetty.jsp.JettyJspServlet,0,true, *.XSP=jsp@19c47==org.eclipse.jetty.jsp.JettyJspServlet,0,true, /us.heptet.magewars.webapp.WebApp.JUnit/springGwtServices/=org.spring4gwt.server.SpringGwtRemoteServiceServlet-4f2c9ba6@c9a45085==org.spring4gwt.server.SpringGwtRemoteServiceServlet,-1,false, /=default@5c13d641==org.eclipse.jetty.servlet.DefaultServlet,0,true}
[INFO] 16:13:59.068 [main] DEBUG org.eclipse.jetty.util.component.AbstractLifeCycle - starting org.spring4gwt.server.SpringGwtRemoteServiceServlet-4f2c9ba6@c9a45085==org.spring4gwt.server.SpringGwtRemoteServiceServlet,-1,false
[INFO] 16:13:59.068 [main] DEBUG org.eclipse.jetty.servlet.BaseHolder - Holding class org.spring4gwt.server.SpringGwtRemoteServiceServlet from sun.misc.Launcher$AppClassLoader@6e5e91e4
[INFO] 16:13:59.069 [main] DEBUG org.eclipse.jetty.util.component.AbstractLifeCycle - STARTED @7315ms org.spring4gwt.server.SpringGwtRemoteServiceServlet-4f2c9ba6@c9a45085==org.spring4gwt.server.SpringGwtRemoteServiceServlet,-1,false


[INFO] 16:14:23.638 [qtp1422238463-22] DEBUG org.eclipse.jetty.server.Server - REQUEST POST /us.heptet.magewars.webapp.WebApp.JUnit/springGwtServices/gwtGameService on HttpChannelOverHttp@370169fb{r=65,c=false,a=DISPATCHED,uri=/us.heptet.magewars.webapp.WebApp.JUnit/springGwtServices/gwtGameService}
[INFO] 16:14:23.638 [qtp1422238463-22] DEBUG org.eclipse.jetty.server.handler.ContextHandler - scope null||/us.heptet.magewars.webapp.WebApp.JUnit/springGwtServices/gwtGameService @ c.g.g.j.@7bd7d6d6{/,file:/D:/jade/temp/magewars-italy/webapp/target/www-test/,AVAILABLE}{D:\jade\temp\magewars-italy\webapp\target\www-test}
[INFO] 16:14:23.638 [qtp1422238463-22] DEBUG org.eclipse.jetty.server.handler.ContextHandler - context=||/us.heptet.magewars.webapp.WebApp.JUnit/springGwtServices/gwtGameService @ c.g.g.j.@7bd7d6d6{/,file:/D:/jade/temp/magewars-italy/webapp/target/www-test/,AVAILABLE}{D:\jade\temp\magewars-italy\webapp\target\www-test}
[INFO] 16:14:23.638 [qtp1422238463-22] DEBUG org.eclipse.jetty.server.session - sessionManager=org.eclipse.jetty.server.session.HashSessionManager@740fb309
[INFO] 16:14:23.638 [qtp1422238463-22] DEBUG org.eclipse.jetty.server.session - session=null
[INFO] 16:14:23.638 [qtp1422238463-22] DEBUG org.eclipse.jetty.servlet.ServletHandler - servlet |/us.heptet.magewars.webapp.WebApp.JUnit/springGwtServices/gwtGameService|null -> default@5c13d641==org.eclipse.jetty.servlet.DefaultServlet,0,true
[INFO] 16:14:23.638 [qtp1422238463-22] DEBUG org.eclipse.jetty.servlet.ServletHandler - chain=null
[INFO] 16:14:23.640 [qtp1422238463-22] DEBUG org.eclipse.jetty.servlet.DefaultServlet - Resource /us.heptet.magewars.webapp.WebApp.JUnit/springGwtServices/gwtGameService=file:/D:/jade/temp/magewars-italy/webapp/target/www-test/us.heptet.magewars.webapp.WebApp.JUnit/springGwtServices/gwtGameService
[INFO] 16:14:23.640 [qtp1422238463-22] DEBUG org.eclipse.jetty.servlet.DefaultServlet - uri=/us.heptet.magewars.webapp.WebApp.JUnit/springGwtServices/gwtGameService, resource=null, content=null
[INFO] 16:14:23.644 [qtp1422238463-22] DEBUG org.eclipse.jetty.server.Server - RESPONSE /us.heptet.magewars.webapp.WebApp.JUnit/springGwtServices/gwtGameService 404 handled=true



--
Sincerely,

Kay McCormick
knim@xxxxxxxxxxx
206-486-2016

_______________________________________________
jetty-users mailing list
jetty-users@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/jetty-users



--
Jan Bartel <janb@xxxxxxxxxxx>
www.webtide.com
Expert assistance from the creators of Jetty and CometD


Back to the top