My Spring MVC应用程序在作为代理的Apache 2后面的Tomcat上运行。我通过像http://localhost:8080/myapp
这样的网址直接在tomcat中访问我的应用。我通过代理使用http://localhost/tomcat/myapp
等网址访问我的应用。
第二个网址会导致我的应用行为不正确,因为它假设它位于/myapp
上下文路径中,但是通过代理它应该存在/tomcat/myapp
。
Spring或Servlet API中是否有变量,如果我通过代理访问它,则保留/tomcat/myapp
;如果我直接访问它,则保留/myapp
?
感谢名单
答案 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.jsp
。 index.jsp
是相对网址,会重定向到tomcat/myapp/index.jsp