【问题标题】:Tomcat, sendRedirect using absolute path not workingTomcat,使用绝对路径的发送重定向不起作用
【发布时间】:2013-07-23 05:31:58
【问题描述】:

我有一个上下文根为“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,
我错过了什么?

【问题讨论】:

    标签: tomcat servlets


    【解决方案1】:

    不,您使用的是相对路径。 page2.jsp 的绝对路径是"http://localhost:8080/"+request.getContextRoot()+"/page2.jsp"。这种方法的另一个优点是,如果您要更改应用服务器,例如 JBoss 或 WebLogic 或其他任何东西,则无需更改代码。

    【讨论】:

      【解决方案2】:

      hd1's answer 给了我一个编译时错误。

      但是,这对我有用:

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

      【讨论】:

        猜你喜欢
        • 2013-07-06
        • 1970-01-01
        • 2020-09-26
        • 1970-01-01
        • 2015-08-29
        • 2014-05-31
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多