J2EE常见路径处理
Posted 清箫
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了J2EE常见路径处理相关的知识,希望对你有一定的参考价值。
资源路径
File(path)
- 对于UNIX操作系统,绝对路径总是以”/”开头,相对路径没有前缀;
- 对于Windows操作系统,绝对路径格式是”盘符:\\\\path”,Windows UNC绝对路径的的前缀是”\\\\\\\\”。
如果path是相对路径,文件的绝对路径部分从user.dir系统属性获取。比如如果user.dir的值是:c:/Users/workspace/projectDemo,那么File("path.properties")指向的文件是c:/Users/workspace/projectDemo/path.properties。
MyClass.class.getResource(path)
MyClass是你自己定义的类,假设MyClass加上包名的全称是"com.demo.MyClass"。
- path不以"/"开头时,则是相对从"com/demo/"目录下取资源,如果没有找到返回null;
- path 以"/"开头时,则是从ClassPath根目录下获取,如果没有找到返回null;
ClassLoader.getResource(path)
- path不以"/"开头,从ClassPath根目录下查找资源,如果没有找到返回null;
- path 以"/"开头时,返回null;
即MyClass.class.getResource("/") == ClassLoader().getResource("")。
WEB请求或文件路径
- 请求的URL:request.getRequestURL()。
- 请求去除协议部分后的路径:request.getRequestURI(),比如请求为http://localhost:8080/J2EEProject/path?hello=world,返回的是"/J2EEProject/path"。
- Web应用根目录的在硬盘上的真实路径:ServletContext.getRealPath(""),比如返回"c:\\tomcat\\webapps\\J2EEProject"。如果是调用ServletContext.getRealPath("/"),则返回"c:\\tomcat\\webapps\\J2EEProject\\"。
- 文件路径:ServletContext.getRealPath("readme.txt"),如果文件在Web根目录真实存在,则返回"c:\\tomcat\\webapps\\J2EEProject\\readme.txt"。
以上是关于J2EE常见路径处理的主要内容,如果未能解决你的问题,请参考以下文章
在 Eclipse 中哪里可以找到我的 J2EE 应用程序的类路径 [重复]