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

在这里插入图片描述

"./":代表目前所在的目录。

" . ./"代表上一层目录。

"/":代表根目录。
在这里插入图片描述

路径作用:

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

路径分类

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);

  1. 如果是请求转发: / 表示项目根目录(WebContent)

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

  3. 技巧
    除了请求转发/ 指向项目根目录,其余/ 都是指服务器根目录;

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

3. 技巧:

  • 只要不以/开头的都是相对路径
  • 只要以/开头的都是绝对路径

在这里插入图片描述

//*区别

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

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

说的有疑问,需要验证

你可能感兴趣的:(tomcat,java)