web项目中各种路径的获取HttpServletRequest

以工程名为/DemoWeb为例: 
访问的jsp为:http://localhost:8080/DemoWeb/test/index.jsp 

1 JSP中获得当前应用的相对路径和绝对路径 
(1)得到工程名:request.getContextPath() 
结果:/DemoWeb 

(2)得到包含工程名的当前页面全路径:request.getRequestURI() 
结果:/DemoWeb/test/testpath.jsp 

(3)得到IE地址栏地址:request.getRequestURL() 
结果:http://localhost:8080/DemoWeb/test/testpath.jsp 


(4)得到当前页面所在目录下全名称:request.getServletPath() 
结果:/test/testpath.jsp 

(5)得到页面所在服务器的全路径(实际的路径):application.getRealPath("testpath.jsp") 
结果:D:Develop Filesapache-tomcat-5.5.15apache-tomcat-5.5.15webappsDemoWeb estpath.jsp 
D:Develop Filesapache-tomcat-5.5.15apache-tomcat-5.5.15为tomcat的安装路径 

2.java 的Class中获得相对路径,绝对路径的方法 

(1)类的绝对路径: 
System.out.println(TestPath.class.getResource("/").getPath()); 
结果:/E:/workspace/workspace_tcc/DemoWeb/WebRoot/WEB-INF/classes/ 

System.out.println(TestPath.class.getResource("")); 
结果:file:/E:/workspace/workspace_tcc/DemoWeb/WebRoot/WEB-INF/classes/demo1/ 


(2)得到工程的路径:System.getProperty("user.dir") 

结果:E:workspaceworkspace_tccDemoWeb 

原文地址:https://www.cnblogs.com/yhtboke/p/5707434.html