实现了Servlet接口的对象(其中包含getServletContext的方法),通过getServletContext()方法获得实现了ServletContext接口的上下文对象,通过该对象包含的getRealPath("/")获得完整路径。

使用技巧:

getServletContext().getRealPath("/")

       只要是在基于Servlet的任何场合都可以使用(原因是像HttpServlet、GenericServlet、FacesServlet()等实现了ServletConfig接口,ServletConfig接口中定义了获得实现了ServletContext接口的对象的方法getServletContext(),通过该对象定义的getRealPath("/")方法获得完整路径)。有点拗口!哈哈。

基本:



1.request.getRealPath("/");//不推荐使用获取工程的根路径


.getRealPath("/")
   getRealPath("/") 
getRealPath("/")
 
getRealPath("/")

 

再转:

(1)、request.getRealPath("/");//不推荐使用获取工程的根路径
(2)、request.getRealPath(request.getRequestURI());//获取jsp的路径,这个方法比较好用,可以直接在servlet和jsp中使用
(3)、request.getSession().getServletContext().getRealPath("/");//获取工程的根路径,这个方法比较好用,可以直接在servlet和jsp中使用
(4)、this.getClass().getClassLoader().getResource("").getPath();//获取工程classes下的路径,这个方法可以在任意jsp,servlet,java文件中使用,因为不管是jsp,servlet其实都是java程序,都是一个class。所以它应该是一个通用的方法。


实现了Servlet接口的对象(其中包含getServletContext的方法),通过getServletContext()方法获得实现了ServletContext接口的上下文对象,通过该对象包含的getRealPath("/")获得完整路径。

使用技巧:

getServletContext().getRealPath("/")

       只要是在基于Servlet的任何场合都可以使用(原因是像HttpServlet、GenericServlet、FacesServlet()等实现了ServletConfig接口,ServletConfig接口中定义了获得实现了ServletContext接口的对象的方法getServletContext(),通过该对象定义的getRealPath("/")方法获得完整路径)。有点拗口!哈哈。

基本:



1.request.getRealPath("/");//不推荐使用获取工程的根路径


.getRealPath("/")
   getRealPath("/") 
getRealPath("/")
 
getRealPath("/")

 

再转:

(1)、request.getRealPath("/");//不推荐使用获取工程的根路径
(2)、request.getRealPath(request.getRequestURI());//获取jsp的路径,这个方法比较好用,可以直接在servlet和jsp中使用
(3)、request.getSession().getServletContext().getRealPath("/");//获取工程的根路径,这个方法比较好用,可以直接在servlet和jsp中使用
(4)、this.getClass().getClassLoader().getResource("").getPath();//获取工程classes下的路径,这个方法可以在任意jsp,servlet,java文件中使用,因为不管是jsp,servlet其实都是java程序,都是一个class。所以它应该是一个通用的方法。