背景
Absolute:浏览器将始终解释/
为主机名的根。例如,如果我的网站是http://google.com/
并且我指定/css/images.css
了,那么它将在http://google.com/css/images.css
. 如果您的项目根目录实际上是在/myproject/
它不会找到 css 文件。因此,您需要确定项目文件夹根目录相对于主机名的位置,并在href
符号中指定。
相对:如果你想引用你知道在 url 上的相同路径中的东西 - 也就是说,如果它在同一个文件夹中,例如http://mysite.com/myUrlPath/index.html
and http://mysite.com/myUrlPath/css/style.css
,并且你知道它总是这样,你可以违反约定并通过不在路径前面放置前导来指定相对路径/
,例如css/style.css
.
文件系统表示法:此外,您可以使用标准文件系统表示法,例如..
. 如果你这样做http://google.com/images/../images/../images/myImage.png
,它将与http://google.com/images/myImage.png
. 如果您想引用文件中一个目录的内容,请使用../myFile.css
.
您的具体案例
在您的情况下,您有两种选择:
<link rel="stylesheet" type="text/css" href="/ServletApp/css/styles.css"/>
<link rel="stylesheet" type="text/css" href="css/styles.css"/>
如果您移动内容,第一个将更加具体和兼容,但是如果您打算将文件保留在同一位置,并且您打算删除 URL 的 /ServletApp/ 部分,那么第二个解决方案会更好。