Hi Joakim, Thanks a lot ! I am thinking maybe it happens because I exclude spring jars from war ( provide it at runtime using extraClasspath ) I must check a simple war file and investigate what is wrong in my web app or jetty version. ( 8.1.12 )
Thanks again... Sent securely from my iPad From: Joakim Erdfelt Sent: Thursday, January 15, 2015 at 21:38:39 To: Nir Barel Cc: [email protected] Subject: Re: [jetty-users] Jetty 8 standalone and Servlet 3.0 without web.xml Works with spring too. $ jar -tvf webapps/webapp-3.0-bare-spring.war 0 Thu Jan 15 12:32:52 MST 2015 META-INF/ 131 Thu Jan 15 12:32:52 MST 2015 META-INF/MANIFEST.MF 0 Thu Jan 15 12:32:52 MST 2015 WEB-INF/ 0 Thu Jan 15 12:32:52 MST 2015 WEB-INF/lib/ 0 Thu Jan 15 12:32:52 MST 2015 WEB-INF/classes/ 0 Thu Jan 15 12:32:52 MST 2015 WEB-INF/classes/org/ 0 Thu Jan 15 12:32:52 MST 2015 WEB-INF/classes/org/eclipse/ 0 Thu Jan 15 12:32:52 MST 2015 WEB-INF/classes/org/eclipse/demo/ 4467 Mon Oct 08 12:19:26 MST 2012 WEB-INF/lib/aopalliance-1.0.jar 442400 Thu Jan 15 12:27:02 MST 2015 WEB-INF/lib/spring-core-3.1.0.RELEASE.jar 53079 Thu Jan 15 12:27:02 MST 2015 WEB-INF/lib/spring-asm-3.1.0.RELEASE.jar 829601 Thu Jan 15 12:27:02 MST 2015 WEB-INF/lib/spring-context-3.1.0.RELEASE.jar 176283 Thu Jan 15 12:27:02 MST 2015 WEB-INF/lib/spring-expression-3.1.0.RELEASE.jar 540819 Thu Jan 15 12:27:02 MST 2015 WEB-INF/lib/spring-web-3.1.0.RELEASE.jar 60686 Thu Sep 27 08:14:48 MST 2012 WEB-INF/lib/commons-logging-1.1.1.jar 589253 Thu Jan 15 12:27:02 MST 2015 WEB-INF/lib/spring-beans-3.1.0.RELEASE.jar 331474 Thu Jan 15 12:27:02 MST 2015 WEB-INF/lib/spring-aop-3.1.0.RELEASE.jar 1699 Thu Jan 15 12:32:52 MST 2015 WEB-INF/classes/org/eclipse/demo/TimeServlet.class 1086 Thu Jan 15 12:32:52 MST 2015 WEB-INF/classes/org/eclipse/demo/MyAppInitializer.class Code for MyAppInitializer.java package org.eclipse.demo; import java.text.SimpleDateFormat; import java.util.Date; import javax.servlet.ServletContext; import org.springframework.web.WebApplicationInitializer; public class MyAppInitializer implements WebApplicationInitializer { @Override public void onStartup(ServletContext context) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ"); context.setAttribute("my.app.init","Initialized at: " + sdf.format(new Date())); } } and Code for TimeServlet.java package org.eclipse.demo; import java.io.IOException; import java.io.PrintWriter; import java.util.Date; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @SuppressWarnings("serial") @WebServlet(urlPatterns="/time") public class TimeServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { resp.setContentType("text/plain"); PrintWriter out = resp.getWriter(); out.println("(From " + MyAppInitializer.class.getName() + "): " + req.getServletContext().getAttribute("my.app.init")); out.println("(From servlet): " + new Date()); } } The server console: 2015-01-15 12:33:35.626:INFO:oejs.Server:jetty-8.1.16.v20140903 2015-01-15 12:33:35.640:INFO:oejdp.ScanningAppProvider:Deployment monitor /home/joakim/jetty-distros/jetty-distribution-8.1.16.v20140903/webapps at interval 1 2015-01-15 12:33:35.646:INFO:oejd.DeploymentManager:Deployable added: /home/joakim/jetty-distros/jetty-distribution-8.1.16.v20140903/webapps/webapp-3.0-bare-spring.war 2015-01-15 12:33:35.676:INFO:oejw.WebInfConfiguration:Extract jar:file:/home/joakim/jetty-distros/jetty-distribution-8.1.16.v20140903/webapps/webapp-3.0-bare-spring.war!/ to /tmp/jetty-0.0.0.0-8080-webapp-3.0-bare-spring.war-_webapp-3.0-bare-spring-any-/webapp 2015-01-15 12:33:36.432:INFO:w.0-bare-spring:Spring WebApplicationInitializers detected on classpath: [org.eclipse.demo.MyAppInitializer@70941f0a] 2015-01-15 12:33:36.659:INFO:oejdp.ScanningAppProvider:Deployment monitor /home/joakim/jetty-distros/jetty-distribution-8.1.16.v20140903/contexts at interval 1 2015-01-15 12:33:36.673:INFO:oejs.AbstractConnector:Started [email protected]:8080<http://[email protected]:8080> 2015-01-15 12:33:36.907:INFO:oejus.SslContextFactory:Enabled Protocols [SSLv2Hello, TLSv1, TLSv1.1, TLSv1.2] of [SSLv2Hello, SSLv3, TLSv1, TLSv1.1, TLSv1.2] 2015-01-15 12:33:36.911:INFO:oejs.AbstractConnector:Started [email protected]:8443<http://[email protected]:8443> ^C2015-01-15 12:34:18.476:INFO:oejs.Server:Graceful shutdown [email protected]:8443<http://[email protected]:8443> 2015-01-15 12:34:18.476:INFO:oejs.Server:Graceful shutdown [email protected]:8080<http://[email protected]:8080> 2015-01-15 12:34:18.477:INFO:oejs.Server:Graceful shutdown o.e.j.w.WebAppContext{/webapp-3.0-bare-spring,file:/tmp/jetty-0.0.0.0-8080-webapp-3.0-bare-spring.war-_webapp-3.0-bare-spring-any-/webapp/},/home/joakim/jetty-distros/jetty-distribution-8.1.16.v20140903/webapps/webapp-3.0-bare-spring.war 2015-01-15 12:34:19.534:INFO:oejsl.ELContextCleaner:javax.el.BeanELResolver purged 2015-01-15 12:34:19.534:INFO:oejsh.ContextHandler:stopped o.e.j.w.WebAppContext{/webapp-3.0-bare-spring,file:/tmp/jetty-0.0.0.0-8080-webapp-3.0-bare-spring.war-_webapp-3.0-bare-spring-any-/webapp/},/home/joakim/jetty-distros/jetty-distribution-8.1.16.v20140903/webapps/webapp-3.0-bare-spring.war The test case: $ curl http://localhost:8080/webapp-3.0-bare-spring/time (From org.eclipse.demo.MyAppInitializer): Initialized at: 2015-01-15T12:33:36-0700 (From servlet): Thu Jan 15 12:34:12 MST 2015 $ -- Joakim Erdfelt <[email protected]<mailto:[email protected]>> webtide.com<http://www.webtide.com/> - intalio.com/jetty<http://intalio.com/jetty> Expert advice, services and support from from the Jetty & CometD experts eclipse.org/jetty<http://eclipse.org/jetty/> - cometd.org<http://cometd.org/> On Thu, Jan 15, 2015 at 12:24 PM, Nir Barel <[email protected]<mailto:[email protected]>> wrote: Hi Well it doesn't work for spring... Anyone know what is missing? Sent securely from my iPad From: Joakim Erdfelt Sent: Thursday, January 15, 2015 at 21:23:27 To: Nir Barel Cc: [email protected]<mailto:[email protected]> Subject: Re: [jetty-users] Jetty 8 standalone and Servlet 3.0 without web.xml You didn't say spring, so I went with standard Servlet 3.0 behavior. The source for TimeServlet. package org.eclipse.demo; import java.io.IOException; import java.util.Date; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @SuppressWarnings("serial") @WebServlet(urlPatterns="/time") public class TimeServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { resp.setContentType("text/plain"); resp.getWriter().println(new Date()); } } Its a rather simple class. -- Joakim Erdfelt <[email protected]<mailto:[email protected]>> webtide.com<http://www.webtide.com/> - intalio.com/jetty<http://intalio.com/jetty> Expert advice, services and support from from the Jetty & CometD experts eclipse.org/jetty<http://eclipse.org/jetty/> - cometd.org<http://cometd.org/> On Thu, Jan 15, 2015 at 11:39 AM, Nir Barel <[email protected]<mailto:[email protected]>> wrote: Hi You use @WebServlet annotation and not spring WebApplicationInitializer that doesn't use it as I understand from their docs. I still don't understand how jetty should start spring framework just by searching for WebApplicationInitializer classes?? Can you share the code of TimeServlet? Sent securely from my iPad From: Joakim Erdfelt Sent: Thursday, January 15, 2015 at 19:55:48 To: JETTY user mailing list Subject: Re: [jetty-users] Jetty 8 standalone and Servlet 3.0 without web.xml It works here ... $ jar -tvf webapps/webapp-3.0-bare.war 0 Thu Jan 15 10:42:14 MST 2015 META-INF/ 131 Thu Jan 15 10:42:14 MST 2015 META-INF/MANIFEST.MF 0 Thu Jan 15 10:42:14 MST 2015 WEB-INF/ 0 Thu Jan 15 10:42:14 MST 2015 WEB-INF/classes/ 0 Thu Jan 15 10:42:14 MST 2015 WEB-INF/classes/org/ 0 Thu Jan 15 10:42:14 MST 2015 WEB-INF/classes/org/eclipse/ 0 Thu Jan 15 10:42:14 MST 2015 WEB-INF/classes/org/eclipse/demo/ 1055 Thu Jan 15 10:42:14 MST 2015 WEB-INF/classes/org/eclipse/demo/TimeServlet.class 3756 Thu Jan 15 10:42:06 MST 2015 META-INF/maven/org.eclipse.jetty.demo/webapp-3.0-bare/pom.xml 136 Thu Jan 15 10:42:14 MST 2015 META-INF/maven/org.eclipse.jetty.demo/webapp-3.0-bare/pom.properties Running the server : 2015-01-15 10:51:57.553:INFO:oejs.Server:jetty-8.1.16.v20140903 2015-01-15 10:51:57.568:INFO:oejdp.ScanningAppProvider:Deployment monitor /home/joakim/jetty-distros/jetty-distribution-8.1.16.v20140903/webapps at interval 1 2015-01-15 10:51:57.573:INFO:oejd.DeploymentManager:Deployable added: /home/joakim/jetty-distros/jetty-distribution-8.1.16.v20140903/webapps/webapp-3.0-bare.war 2015-01-15 10:51:57.600:INFO:oejw.WebInfConfiguration:Extract jar:file:/home/joakim/jetty-distros/jetty-distribution-8.1.16.v20140903/webapps/webapp-3.0-bare.war!/ to /tmp/jetty-0.0.0.0-8080-webapp-3.0-bare.war-_webapp-3.0-bare-any-/webapp 2015-01-15 10:51:58.038:INFO:oejdp.ScanningAppProvider:Deployment monitor /home/joakim/jetty-distros/jetty-distribution-8.1.16.v20140903/contexts at interval 1 2015-01-15 10:51:58.052:INFO:oejs.AbstractConnector:Started [email protected]:8080<http://[email protected]:8080> 2015-01-15 10:51:58.194:INFO:oejus.SslContextFactory:Enabled Protocols [SSLv2Hello, TLSv1, TLSv1.1, TLSv1.2] of [SSLv2Hello, SSLv3, TLSv1, TLSv1.1, TLSv1.2] 2015-01-15 10:51:58.197:INFO:oejs.AbstractConnector:Started [email protected]:8443<http://[email protected]:8443> ^C 2015-01-15 10:52:24.953:INFO:oejs.Server:Graceful shutdown [email protected]:8443<http://[email protected]:8443> 2015-01-15 10:52:24.953:INFO:oejs.Server:Graceful shutdown [email protected]:8080<http://[email protected]:8080> 2015-01-15 10:52:24.953:INFO:oejs.Server:Graceful shutdown o.e.j.w.WebAppContext{/webapp-3.0-bare,file:/tmp/jetty-0.0.0.0-8080-webapp-3.0-bare.war-_webapp-3.0-bare-any-/webapp/},/home/joakim/jetty-distros/jetty-distribution-8.1.16.v20140903/webapps/webapp-3.0-bare.war 2015-01-15 10:52:26.012:INFO:oejsl.ELContextCleaner:javax.el.BeanELResolver purged 2015-01-15 10:52:26.012:INFO:oejsh.ContextHandler:stopped o.e.j.w.WebAppContext{/webapp-3.0-bare,file:/tmp/jetty-0.0.0.0-8080-webapp-3.0-bare.war-_webapp-3.0-bare-any-/webapp/},/home/joakim/jetty-distros/jetty-distribution-8.1.16.v20140903/webapps/webapp-3.0-bare.war Testing the specified @WebServlet ... $ curl http://localhost:8080/webapp-3.0-bare/time Thu Jan 15 10:52:19 MST 2015 $ -- Joakim Erdfelt <[email protected]<mailto:[email protected]>> webtide.com<http://www.webtide.com/> - intalio.com/jetty<http://intalio.com/jetty> Expert advice, services and support from from the Jetty & CometD experts eclipse.org/jetty<http://eclipse.org/jetty/> - cometd.org<http://cometd.org/> On Wed, Jan 14, 2015 at 1:57 AM, Nir Barel <[email protected]<mailto:[email protected]>> wrote: Hi, I am trying to run Jetty 8 standalone ( not embedded ) and to use the servlet 3.0 code configuration capabilities using WebApplicationInitializer When I deploy my war ( includes servlet 3.0 APIs ) the jetty choose to use the defaultweb.xml that configured to use servlet 2.5 and therefore it doesn’t call my WebApplicationInitializer class. Does it supported for not embedded jetty? How can I tell jetty not to use web.xml or defaultweb.xml at all? >From the jetty debug log: 2015-01-14 10:54:24,722 DEBUG org.eclipse.jetty.webapp.WebInfConfiguration.unpack:508 [main] - webapp=file:/var/log/opt/tmp/jetty-127.0.0.1-8443-web.war-_web-any-/webapp/ 2015-01-14 10:54:24,737 DEBUG org.eclipse.jetty.webapp.WebAppContext.preConfigure:456 [main] - preConfigure o.e.j.w.WebAppContext{/web,file:/var/log/opt/tmp/jetty-127.0.0.1-8443-web.war-_web-any-/webapp/},/opt /webapps/web.war with org.eclipse.jetty.webapp.WebXmlConfiguration@6dc0d731 2015-01-14 10:54:24,766 DEBUG org.eclipse.jetty.webapp.WebDescriptor.processVersion:207 [main] - jar:file:/opt/jetty/lib/jetty-webapp-8.1.12.v20130726.jar!/org/eclipse/jetty/webapp/webdefault.xml: Calculated metadatacomplete = True with version=2.5 2015-01-14 10:54:24,767 DEBUG org.eclipse.jetty.webapp.WebXmlConfiguration.findWebXml:114 [main] - No WEB-INF/web.xml in /opt/webapps/web.war. Serving files and default/dynamic servlets only 2015-01-14 10:54:24,767 DEBUG org.eclipse.jetty.webapp.WebAppContext.preConfigure:456 [main] - preConfigure o.e.j.w.WebAppContext{/web,file:/var/log/opt/tmp/jetty-127.0.0.1-8443-web.war-_web-any-/webapp/},/opt /webapps/web.war with org.eclipse.jetty.webapp.MetaInfConfiguration@6357be97 _______________________________________________ jetty-users mailing list [email protected]<mailto:[email protected]> To change your delivery options, retrieve your password, or unsubscribe from this list, visit https://dev.eclipse.org/mailman/listinfo/jetty-users Email secured by Check Point Email secured by Check Point. Email secured by Check Point.
_______________________________________________ jetty-users mailing list [email protected] To change your delivery options, retrieve your password, or unsubscribe from this list, visit https://dev.eclipse.org/mailman/listinfo/jetty-users
