Java Tomcat向URL添加上下文路径
在我的应用程序中,生成的每个链接都被response.ecodeURL包围。在某些服务器上,encodeURL将上下文路径添加到URL 该应用程序名为“appl”。创建链接/a/b/c.jsp在开发系统上创建url/a/b/c.jsp,在Prod上创建/appl/a/b/c.jsp tomcat背后是一个通过ajp连接的Apache Web服务器,不确定这是否是一个相关事实 编辑: Web服务器不相关。我尝试直接在端口8080上运行,但还是发生了同样的情况。Java Tomcat向URL添加上下文路径,java,apache,tomcat,hyperlink,Java,Apache,Tomcat,Hyperlink,在我的应用程序中,生成的每个链接都被response.ecodeURL包围。在某些服务器上,encodeURL将上下文路径添加到URL 该应用程序名为“appl”。创建链接/a/b/c.jsp在开发系统上创建url/a/b/c.jsp,在Prod上创建/appl/a/b/c.jsp tomcat背后是一个通过ajp连接的Apache Web服务器,不确定这是否是一个相关事实 编辑: Web服务器不相关。我尝试直接在端口8080上运行,但还是发生了同样的情况。始终挂起URL的上下文路径:这是标准做
始终挂起URL的上下文路径:这是标准做法,应该始终这样做。如果您使用的是
,则不应添加自己的前缀。还要注意,
通过HttpServletResponse.encodeURL
为您运行URL。如果合适,该方法会添加基于URL的会话跟踪信息(例如“jsessionid”路径参数)
您应该始终将上下文前缀添加到所有URL,无论您是使用类似于
的内容还是自己添加。你不应该两者兼而有之。当您使用根上下文时,带有”
(即空字符串)的上下文路径将不会在URL中预先设置任何内容。方法HttpServletResponse.encodeURL
和HttpServletResponse.encodeRedirectURL
不应在上下文路径前面加前缀。其他组件必须为您执行此操作。当你说“创建一个链接/a/b/c.jsp”时,你的确切意思是什么?我写了一些类似于HTML的东西