Java Web类路径,项目路径的获取问题
2016-08-11 11:59
211 查看
//类加载根路径 String classPath = this.getClass().getResource("/").getPath(); //类加载根路径 URL xmlPath = this.getClass().getClassLoader().getResource(""); //类所在工程根路径 String proClassPath = this.getClass().getResource("").getPath(); //项目服务器脚本文件路径 File directory = new File("");// 参数为空 String proRootPath = directory.getCanonicalPath(); //项目服务器脚本文件路径 String proPath = System.getProperty("user.dir"); // 获取所有的类路径 包括jar包的路径 String allClassPath = System.getProperty("java.class.path"); //项目部署的路径 String path = request.getSession().getServletContext().getRealPath("/"); System.out.println("类加载根路径:" + classPath); System.out.println("类加载根路径:" + xmlPath); System.out.println("类所在工程路径:" + proClassPath); System.out.println("项目服务器脚本文件路径:" + proRootPath); System.out.println("项目服务器脚本文件路径:" + proPath); System.out.println("项目部署的路径:" + allClassPath ); System.out.println("获取所有的类路径:" + path );
结果如下:
类加载根路径:/D:/workspace/Training2016/04-PG/0401-Source/base2016/base_web/target/base_web-1.0-SNAPSHOT/WEB-INF/classes/ 类加载根路径:file:/D:/workspace/Training2016/04-PG/0401-Source/base2016/base_web/target/base_web-1.0-SNAPSHOT/WEB-INF/classes/ 类所在工程路径:/D:/workspace/Training2016/04-PG/0401-Source/base2016/base_web/target/base_web-1.0-SNAPSHOT/WEB-INF/classes/com/study/mvc/ 项目服务器脚本文件路径:D:\apache-tomcat-8.0.361\bin 项目服务器脚本文件路径:D:\apache-tomcat-8.0.361\bin 项目部署的路径:D:\workspace\Training2016\04-PG\0401-Source\base2016\base_web\target\base_web-1.0-SNAPSHOT\ 获取所有的类路径:D:\apache-tomcat-8.0.361\bin\bootstrap.jar;D:\apache-tomcat-8.0.361\bin\tomcat-juli.jar
项目路径如图所示,target为部署的位置
注意此处可能request获取不到,获取request的方法有很多:
1.通过注解获取(推荐): public class Hello { @Autowired HttpServletRequest request; //这里可以获取到request } 2.在web.xml中配置一个监听: <listener> <listener-class> org.springframework.web.context.request.RequestContextListener </listener-class> </listener> java代码: HttpServletRequest request = ((ServletRequestAttributes)RequestContextHolder.getRequestAttributes()).getRequest(); 3.直接在参数中传递: public String hello(HttpServletRequest request) 4.如果有Struts: HttpServletRequest request = ServletActionContext.getRequest();
有时request.getSession().getServletContext().getRealPath(“/”);获取到的路径不是tomcat的路径
D:\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\....
这个的原因其实 D:\workspace.metadata.plugins\org.eclipse.wst.server.core\tmp0\ 这个目录就是eclipse的对 D:\Tomcat 7.0 目录的一个克隆,从而使 D:\workspace.metadata.plugins\org.eclipse.wst.server.core\tmp0\ 也能够具备源服务器的功能。
相关文章推荐
- Java Web类路径,项目路径的获取问题
- java取得项目工程---获取文件的相对路径问题---getResource()和getResourceAsStream以及路径问题
- java获取项目路径时,里面有空格问题
- java获取本项目的路径问题
- java取得项目工程---获取文件的相对路径问题---getResource()和getResourceAsStream以及路径问题
- (转)java项目的中绝对相对路径问题
- 转帖--在JAVA文件中获取该项目的相对路径
- 怎样在JAVA文件中获取该项目的相对路径
- 在JAVA文件中获取该项目的相对路径
- v在JAVA文件中获取该项目的相对路径
- 在JAVA文件中获取该项目的相对路径
- 在JAVA文件中获取该项目的相对路径
- 在JAVA文件中获取该项目的相对路径
- JAVA文件中获取该项目的相对路径方法
- [Java]JAVA获取相对路径问题的解决
- 在JAVA文件中获取该项目的相对路径
- 在JAVA文件中获取该项目的相对路径
- LyNews『凌云新闻』 - 在JAVA文件中获取该项目的相对路径
- 在JAVA文件中获取该项目的相对路径
- Java]JAVA获取相对路径问题的解决