Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Tomcat向URL添加上下文路径_Java_Apache_Tomcat_Hyperlink - Fatal编程技术网

Java Tomcat向URL添加上下文路径

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的上下文路径:这是标准做

在我的应用程序中,生成的每个链接都被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的上下文路径:这是标准做法,应该始终这样做。如果您使用的是
,则不应添加自己的前缀。还要注意,
通过
HttpServletResponse.encodeURL
为您运行URL。如果合适,该方法会添加基于URL的会话跟踪信息(例如“jsessionid”路径参数)


您应该始终将上下文前缀添加到所有URL,无论您是使用类似于
的内容还是自己添加。你不应该两者兼而有之。当您使用根上下文时,带有
(即空字符串)的上下文路径将不会在URL中预先设置任何内容。

方法
HttpServletResponse.encodeURL
HttpServletResponse.encodeRedirectURL
不应在上下文路径前面加前缀。其他组件必须为您执行此操作。当你说“创建一个链接/a/b/c.jsp”时,你的确切意思是什么?我写了一些类似于HTML的东西