介绍一下相对路径和绝对路径的区别
<!--路径: 1. 相对路径 从当前url的开始 不推荐 http://localhost:8080/user/AServlet 转发到 demo.html <link href="./bootsrap/css/bootstrap.css"/> 找: http://localhost:8080/user/bootsrap/css/bootstrap.css 404 2.绝对路径 项目的根目录开始 从/发布的项目名开始 推荐 /bootstrap/css/bootstrap.css 现在url: http://localhost:8080/user/AServlet http://localhost:8080/bootstrap/css/bootstrap.css -->
推荐使用绝对路径
因为使用相对路径会导致
在使用请求转发时,因为路径没有改变,相对路径会默认当前网址往上查找,而不是从文件所在的项目目录找,就会导致链接的资源找不到
/ 表示从项目的根目录开始
/ 在发布的项目中:
默认的是http://localhost:8080
小技巧:
发布的项目的文件结构和web下的一致
可以参考这里设置路径
遇到的几个路径问题:
1.加了这个后,cookie的路径会自动加上/user/ 要手动设置路径为/
不然登录页面拿不到(因为登录页面的路径是/下的,拿不到/user/下的cookie)
2.要使用getContextPath()的话,servlet转发的路径要和网页的路径一样
划线中getContextPath()会获取到当前servlet上下文路径,也就是/user
进入的网页是/user/login.jsp
此时这里因为是相对路径,就获取不到css等文件
(或者css改成绝对路径)