实现了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。所以它应该是一个通用的方法。