我有以下问题:我试图将请求从servlet转发到jsp页面,但我得到了404。当我直接访问/site/home.jsp.jsp时,它会加载jsp。
WebAppContext sites = new WebAppContext("src/com/example/blub/server/sites", "/sites");
ServletContextHandler weblet = new ServletContextHandler(ServletContextHandler.SESSIONS);
weblet.setContextPath("/");
weblet.addServlet(new ServletHolder(new Weblet()), "/home");
HandlerList handlers = new HandlerList();
handlers.setHandlers(new Handler[] {sites, weblet});
server.setHandler(handlers);。
public void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
req.getRequestDispatcher("/sites/home.jsp").forward(req, resp);
}发布于 2013-12-03 20:39:42
这个问题经常出现,所以我创建了一个使用启用JSP的嵌入式Jetty的示例项目。
https://github.com/jetty-project/embedded-jetty-jsp/
将此项目加载到您最喜欢的IDE中。
运行org.eclipse.jetty.demo.Main类,然后使用浏览器打开http://localhost:8080/
快速旅游
src/main/java/org/eclipse/jetty/demo/Main.java包含创建/配置/启动嵌入式服务器的部分。
特别注意:
jspServletHolder()org.eclipse.jetty.containerInitializers。ServletContainerInitializersStarter beanInstanceManager引用javax.servlet.context.tempdirorg.apache.jasper.compiler.disablejsr199设置为false以使用标准的JavaC编译器getUrlClassLoader()defaultServletHolder()src/main/java/com/acme/DateServlet.java是如何从Servlet转发到JSP的一个示例。
DateServlet是 in Main.java
因此,一旦按下http://localhost:8080/date/,请求就会命中servlet,而servlet又会转发给/test/tag2.jsp
https://stackoverflow.com/questions/20352232
复制相似问题