日期:2014-05-19 浏览次数:20711 次
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String p =this.getServletContext().getRealPath("index.jsp"); System.out.println(p); }
------解决方案--------------------
System.getProperty("")
------解决方案--------------------
你自己建的是个WEB项目吧...
你是自己建了WEB项目,又在这个项目上右键点Run出来的结果吧
看来得扫扫盲...
所有WEB项目都是类似你那种路径的,WEB项目在应用服务器例如TOMCAT下的默认部署路径像这样
Tomcat目录\webapps\WEB-INF\classes
而假设你在这个项目中,用MyEclise直接Run单个测试类的话,出现的Class.getResource()路径就类似
MyEclipse工作目录\项目名\webRoot\WEB-INF\classes
所以就得到你这个效果
而假设你建立的是Java Project的话,部署路径就是项目路径
假设你的程序已导出为Jar或者classes包,并且部署在D:\test下,在不修改默认工作目录,并且在D:\test下执行程序的话,Class.getResource()的路径就是D:\test
所以,你得搞请楚几个概念,1.项目开发位置 2.部署位置 3.执行路径 4.工作目录
------解决方案--------------------
这个是在myeclipse里面运行得到的路径 E:\myeclispeWorkbase\samplev\WebRoot\WEB-INF\classes
如果你打包放到 tomcat里面运行,就会得到这个路径 E:\apache-tomcat-6.0.30\webapps\samplev\WEB-INF\classes
所以你完全可以使用这种方式得到路径。