如何获得项目的路径
1个回答
展开全部
但是这样获取到得好像是E:\myeclispeWorkbase\samplev\WebRoot\WEB-INF\classes
E:\apache-tomcat-6.0.30\webapps\samplev\WEB-INF
所以就得到你这个效果
顶上去System.getProperty("user.dir")这个可以获得项目的路劲。
Tomcat目录\webapps\WEB-INF\classes
request.getServletContext().getRealPath("\\src");
Java codepublicvoid doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String p =this.getServletContext().getRealPath("index.jsp"); System.out.println(p); }输出的是:D:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\testWeb\index.jsp
System.getProperty("")
我想得到相对路径,也就是项目发布后的路径,我是在java类里面,不在action中所以得不到request对象!
你是自己建了WEB项目,又在这个项目上右键点Run出来的结果吧
这样的路径部署到服务器上 又对不对呢?好像不是部署后的路径,因为我部署后的路径是
所有WEB项目都是类似你那种路径的,WEB项目在应用服务器例如TOMCAT下的默认部署路径像这样
而假设你在这个项目中,用MyEclise直接Run单个测试类的话,出现的Class.getResource()路径就类似
MyEclipse工作目录\项目名\webRoot\WEB-INF\classes
如果是web项目可以使用
而假设你建立的是Java Project的话,部署路径就是项目路径
假设你的程序已导出为Jar或者classes包,并且部署在D:\test下,在不修改默认工作目录,并且在D:\test下执行程序的话,Class.getResource()的路径就是D:\test
所以,你得搞请楚几个概念,1.项目开发位置 2.部署位置 3.执行路径 4.工作目录
Java code/** * 获得工程的classpath根目录 * @return String */publicstatic String getClasspath() { try { return Class.forName("随便一个类").getResource("/").getPath(); } catch (Exception e) { e.printStackTrace(); } return""; }这个是在myeclipse里面运行得到的路径 E:\myeclispeWorkbase\samplev\WebRoot\WEB-INF\classes
如果你打包放到 tomcat里面运行,就会得到这个路径 E:\apache-tomcat-6.0.30\webapps\samplev\WEB-INF\classes
所以你完全可以使用这种方式得到路径。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询