javaWeb 路径问题与小记

介绍一下相对路径和绝对路径的区别

<!--路径:
   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)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XXqKCi59-1666783601557)(笔记.assets/1666349552690.png)]

2.要使用getContextPath()的话,servlet转发的路径要和网页的路径一样

划线中getContextPath()会获取到当前servlet上下文路径,也就是/user

进入的网页是/user/login.jsp

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ziI8PdYg-1666783601558)(笔记.assets/1666350141135.png)]

此时这里因为是相对路径,就获取不到css等文件

(或者css改成绝对路径)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值