关于路径

来源:4-7 Dom4j实现XML追加操作

Ungalo

2021-04-21 10:05:17

老师,我想问一下,xxx.class.getResource("").getPath()还有servletContext().getRealPath("")都是获取路径有啥区别呀?还有老师可以讲一下获取路径都有哪些方法吗?他们之间区别是什么呀?

还有老师,http://img.mukewang.com/climg/607f88020953062414140791.jpg在jsp文件夹下的jsp,相对路径调用js为什么也是可以直接写js/....不应该先返回到根目录吗?

写回答

1回答

好帮手慕阿园

2021-04-21

同学你好

1、class.getResource("/").getPath()获取classes文件夹下的文件路径,getPath是得到该路径物理磁盘的地址;

getRealPath获取到的是项目部署在tomcat上的真实路径,也就是磁盘路径。比如

getServletContext().getRealPath("/upload")是获得磁盘中的Tomcat下的项目目录中upload文件夹的路径

getContextPath()是获取上下文路径,也就是工程项目名

getServletPath()是获取当前页面所在项目目录下路径

getPathInfo()获取的是servlet配置路径/*后的路径,如

<url-pattern>/*</url-pattern>

那么访问: /context/imooc/index.html获取到的是/imooc/index.html

getServletContext().getRealPath("/")获取的是项目在容器中的实际发布运行的根路径

这些同学大致了解下即可,常用的也就是课程中使用到的

2、浏览器在解析地址时是根据地址的URL来解析的。它认为的目录结构和我们开发时的不同,如:

http://img.mukewang.com/climg/607f9980091ad52c02610151.jpg

访问项目是通过根路径进行访问的,浏览器会认为我们现在根路径下,所以在同级目录下直接书写js/xxx.js,这样就会访问到同级目录下的js文件夹下js,css同理

http://img.mukewang.com/climg/607f9a36094a104d07330108.jpg

祝学习愉快~

0

0 学习 · 16556 问题

查看课程