JSP绝对路径

sid*_*nks 16 jsp intellij-idea

有人可以解释为什么不建议在JSP中使用绝对路径(例如,IntelliJ IDEA向我显示警告)? 在此输入图像描述

Uoo*_*ooo 28

请考虑JSP中的以下代码:

<script src="/path/to/script.js" />
Run Code Online (Sandbox Code Playgroud)

并且您www.example.com在servlet上下文中部署应用程序,myContext浏览器将查找您的脚本

www.example.com/path/to/script.js
Run Code Online (Sandbox Code Playgroud)

但是,浏览器将找不到该脚本.实际可以找到它的URL包含servlet上下文以及URL的一部分:

www.example.com/myContext/path/to/script.js
Run Code Online (Sandbox Code Playgroud)

因此,您应该将JSP中的URL更改为:

<script src="${pageContext.request.contextPath}/path/to/script.js" />
Run Code Online (Sandbox Code Playgroud)

然后在URL中也可以使用上下文路径,一切都可以正常工作.