我有一个带有上下文根'myapp'的网络应用。和一个servlet myapp / page1和一个jsp myapp / page2.jsp。从servlet我使用'response.sendRedirect('/page2.jsp')
重定向到jsp。它失败了。我注意到请求重定向是“http://localhost:8080/page2.jsp
”(上下文根未包含在URL中)。
我的理解是容器会包含上下文根
环境:Tomcat 7,web.xml 3.0版,
我错过了什么?
答案 0 :(得分:0)
不,你正在使用相对路径。 page2.jsp的绝对路径为"http://localhost:8080/"+request.getContextRoot()+"/page2.jsp"
。这种方法的另一个优点是,如果您应该更改您的appserver,说JBoss或WebLogic或其他什么,您将不需要更改您的代码。