1,request.getRealPath("/");这个方法已不推荐用 --> request.getSession().getServletContext().getRealPath("/")
2,在Servlet 里用this.getServletContext().getRealPath("/");获得要路径。
或者 request.getSession().getServletContext().getRealPath("/")来获取。
3,struts里用this.getServlet().getServletContext().getRealPath("/")获得要路径。
在spring中,可以通过
ContextLoader.getCurrentWebApplicationContext().getServletContext().getRealPath("/") 来获取。
再转java获取WEB服务真实路径:
(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。所以它应该是一个通用的方法。
request 获取几种路径
System.out.println(request.getRequestURI());///ms/baseActionForUrl.actionSystem.out.println(request.getRequestURL());// http://127.0.0.1:8080/ms/baseActionForUrl.actionSystem.out.println(request.getContextPath());///msSystem.out.println(request.getServletPath());///baseActionForUrl.action