路径中“./”、“../”、“/”代表的含义 路径相关知识点总结

“./”、“…/”、“/”代表的含义

1・"./":代表当前目录
2・"../":代表上一层目录
3・"/":代表根目录

路径作用

路径为了告诉编译器如何找到其他资源.

路径分类

1・相对路径

当前资源 出发找到其他资源的过程

req.getRequestDispatcher("index.jsp").forward(req, resp);     目前所在的目录
req.getRequestDispatcher("./index.jsp").forward(req, resp);   目前所在的目录
req.getRequestDispatcher("../index.jsp").forward(req, resp);  向上跳一级

参考:路径 . / 写和不写的区别在哪儿?

2・绝对路径

根目录 ( 服务器根目录 或 项目根目录 ) 出发找到其他资源的过程。

req.getRequestDispatcher("/index.jsp").forward(req, resp);

2.1・如果是请求转发/ 表示项目根目录 (WebContent) 。
2.1・如果是重定向,静态资源引用: 比如说<img src=""/> <scrip src=""/> <style/> location.href 等, / 表示服务器根目录 (tomcat/webapps) 。

技巧
只要以/开头的都是绝对路径 ,只要不以/开头的都是相对路径
除了请求转发 / 指向项目根目录,其余/ 都是指服务器根目录

注意
如果客户端请求控制器,控制器转发到JSP后,JSP中如果使用相对路径,需要按照控制器的路径去找其他资源.。
保险办法: 使用绝对路径,可以防止上面的问题。

ーーーーーーーーーーーーーー

常见Q&A

<url-pattern>/</url-pattern><url-pattern>/*</url-pattern>区别

<url-pattern>/</url-pattern> 不会匹配到.jsp,即:*.jsp不会进入spring的 DispatcherServlet类 。
<url-pattern>/*</url-pattern> 会匹配 .jsp,会出现返回jsp视图时再次进入spring的DispatcherServlet类,导致找不到对应的controller所以报404错。

总之,关于web.xml的url映射的小知识:
<url-pattern>/</url-pattern> 会匹配到/login这样的 路径型url,不会匹配到模式为*.jsp这样的 后缀型url
<url-pattern>/*</url-pattern> 会匹配所有url:路径型的和后缀型的url(包括/login,*.jsp,*.js*.html等)

以上本人未验证,需要验证

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值