From: Frank C. (JIRA) <ji...@co...> - 2007-01-06 11:12:13
|
[ http://jira.codehaus.org/browse/JETTY-203?page=comments#action_84172 ] Frank Cornelis commented on JETTY-203: -------------------------------------- When replacing contextHandler.setContextPath("/"); with context.setContextPath("/"); in your given sequence it seems to work as expected. Thanks Greg. > Regression: Servlet Not Initialized > ----------------------------------- > > Key: JETTY-203 > URL: http://jira.codehaus.org/browse/JETTY-203 > Project: Jetty > Issue Type: Bug > Affects Versions: 6.0.2 > Environment: Fedora Core 6, Sun JVM 1.5.0_09 > Reporter: Frank Cornelis > Assigned To: Greg Wilkins > Priority: Blocker > Fix For: 6.1.0 > > > Upgrading from Jetty 6.0.1 to 6.0.2 gives me the following exception: > 2006-12-21 08:34:43.995::WARN: EXCEPTION > javax.servlet.UnavailableException: Servlet Not Initialized > at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:434) > at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360) > at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:629) > at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:141) > at org.mortbay.jetty.Server.handle(Server.java:303) > at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:452) > at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:721) > at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:509) > at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:209) > at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:349) > at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:320) > at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:475) > The unit test that triggers this: > public void testJettyBang() throws Exception { > // setup test servlet container > Server server = new Server(); > Connector connector = new SelectChannelConnector(); > connector.setPort(0); > server.setConnectors(new Connector[] { connector }); > ContextHandler context = new ContextHandler(); > context.setContextPath("/"); > server.setHandler(context); > ServletHandler handler = new ServletHandler(); > context.setHandler(handler); > ServletHolder servletHolder = new ServletHolder(); > servletHolder.setClassName(TestServlet.class.getName()); > servletHolder.setName("TestServlet"); > handler.addServlet(servletHolder); > ServletMapping servletMapping = new ServletMapping(); > servletMapping.setServletName("TestServlet"); > servletMapping.setPathSpecs(new String[] { "/*" }); > handler.addServletMapping(servletMapping); > server.start(); > int port = connector.getLocalPort(); > LOG.debug("port: " + port); > String location = "http://localhost:" + port + "/"; > HttpClient httpClient = new HttpClient(); > GetMethod getMethod = new GetMethod(location); > int result = httpClient.executeMethod(getMethod); > LOG.debug("result: " + result); > server.stop(); > assertEquals(200, result); > String resultBody = getMethod.getResponseBodyAsString(); > assertEquals("Hello World", resultBody); > } > public static class TestServlet extends HttpServlet { > private static final long serialVersionUID = 1L; > @Override > protected void doGet(HttpServletRequest request, > HttpServletResponse response) throws ServletException, > IOException { > PrintWriter writer = response.getWriter(); > writer.print("Hello World"); > } > } -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira |