簡體   English   中英

Jetty嵌入式:JSP和Servlet在一起?

[英]Jetty embedded: JSP and Servlets together?

我有一個嵌入式Jetty 6.1.26的應用程序。 Servlet 2.5。 以下是我的服務器配置。

問題是,當我嘗試將JSP和Servlet放在一起時,它不起作用。 根據我在下面的代碼中是否有server.addHandler()server.setHandler() ,我有一個或另一個工作。

通過“不工作”我的意思是Jetty返回404,但是否則看起來很好,甚至Jetty日志顯示配置都很好 - 請參閱http://pastebin.com/PzbEx0qc (與addHandler()一起使用,JSP無效)。

請求的URL是
http:// localhost:17283 / jars?mvnPath = ...和
http:// localhost:17283 / jsp / index.jsp

謝謝,Ondra

Server server = new Server( PORT );
Context ctx = new Context( server, "/", Context.NO_SECURITY | Context.SESSIONS );


final String WEBAPP_RESOURCES_PATH = "org/jboss/qa/mavenhoe/web/jsp";
final String JSP_CONTEXT_PATH = "/jsp";

// For localhost:port/jsp/index.html and whatever else is in the directory...
final URL warUrl = this.getClass().getClassLoader().getResource(WEBAPP_RESOURCES_PATH);
final String warUrlString = warUrl.toExternalForm();
    WebAppContext webAppContext = new WebAppContext(warUrlString, JSP_CONTEXT_PATH);
webAppContext.setAttribute("jarIndex", jarIndex);
server.addHandler( webAppContext );


// .jar's download.
final ServletHolder mavenhoeSH = new ServletHolder(new JarFinderServlet(this.jarIndex));
ctx.addServlet( mavenhoeSH, "/jars" );


final ServletHolder shutdownSH = new ServletHolder(new JettyShutdownServlet( server ));
shutdownSH.checkServletType();
ctx.addServlet( shutdownSH, "/shutdown" );

每個路徑組件都應由其自己的上下文處理,並確保對多個上下文使用ContextHandlerCollection

ContextHandlerCollection contexts = new ContextHandlerCollection();

contexts.setHandlers(new Handler[] { jspContext, servletContext });

server.setHandler(contexts);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM