关于路径
来源:4-7 Dom4j实现XML追加操作
Ungalo
2021-04-21 10:05:17
老师,我想问一下,xxx.class.getResource("").getPath()还有servletContext().getRealPath("")都是获取路径有啥区别呀?还有老师可以讲一下获取路径都有哪些方法吗?他们之间区别是什么呀?
还有老师,在jsp文件夹下的jsp,相对路径调用js为什么也是可以直接写js/....不应该先返回到根目录吗?
1回答
同学你好
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来解析的。它认为的目录结构和我们开发时的不同,如:
访问项目是通过根路径进行访问的,浏览器会认为我们现在根路径下,所以在同级目录下直接书写js/xxx.js,这样就会访问到同级目录下的js文件夹下js,css同理
祝学习愉快~
相似问题