Spring MVC应用程序上下文路径

时间:2010-10-11 07:47:17

标签: java spring-mvc tomcat servlets

My Spring MVC应用程序在作为代理的Apache 2后面的Tomcat上运行。我通过像http://localhost:8080/myapp这样的网址直接在tomcat中访问我的应用。我通过代理使用http://localhost/tomcat/myapp等网址访问我的应用。

第二个网址会导致我的应用行为不正确,因为它假设它位于/myapp上下文路径中,但是通过代理它应该存在/tomcat/myapp

Spring或Servlet API中是否有变量,如果我通过代理访问它,则保留/tomcat/myapp;如果我直接访问它,则保留/myapp

感谢名单

3 个答案:

答案 0 :(得分:2)

我认为您需要启用代理支持。这个链接可以帮助您或在这方面给出一点提示。

答案 1 :(得分:0)

在搜索tomcat的配置设置时偶然发现了这篇文章。 有一种更简单的方法来配置tomcat来处理您遇到的确切情况。参见:

http://tomcat.apache.org/tomcat-5.5-doc/proxy-howto.html

在tomcat中为代理配置简单连接器,servlet / struts上下文路径问题将解决。

-edit:显然我没看过#2评论......

答案 2 :(得分:-1)

  

我的意思是当我重定向到“/index.jsp”时   它实际上重定向到   “HTTP://localhost/myapp/index.jsp”   代替   的 “http://localhost/tomcat/myapp/index.jsp”

重定向到index.jsp而不是/index.jsp

当您重定向到/index.jsp时,它会充当绝对网址,并会重定向到myapp/index.jspindex.jsp是相对网址,会重定向到tomcat/myapp/index.jsp