雄猫,使用绝对路径发送重定向不起作用



我有一个上下文根为"myapp"的Web应用程序。 还有一个 Servlet MyApp/Page1 和一个 JSP MyApp/Page2.jsp。从servlet,我正在使用' response.sendRedirect('/page2.jsp')重定向到jsp。它正在失败。我注意到请求重定向到" http://localhost:8080/page2.jsp "(上下文根不包含在 URL 中(。我的理解是上下文根将包含在容器中.
环境:Tomcat 7,网络版.xml 3.0版,
我错过了什么?

不,您使用的是相对路径。第 2 页.jsp的绝对路径将是 "http://localhost:8080/"+request.getContextRoot()+"/page2.jsp" 。这种方法的另一个优点是,如果你应该改变你的应用程序服务器,比如JBoss或WebLogic或其他什么,你不需要改变你的代码。

hd1的回答给了我一个编译时错误。

但是,这对我有用:

response.sendRedirect(request.getContextPath() + "/page2.jsp");

最新更新