Java Web获取Web应用根路径(转)_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > Java Web获取Web应用根路径(转)

Java Web获取Web应用根路径(转)

 2014/4/27 12:27:17  williamyml2010  程序员俱乐部  我要评论(0)
  • 摘要:最基本的1,request.getRealPath("/");这个方法已不推荐用2,在Servlet里用this.getServletContext().getRealPath("/");获得要路径。或者request.getSession().getServletContext().getRealPath("/")来获取。3,struts里用this.getServlet().getServletContext().getRealPath("/")获得要路径。在spring中
  • 标签:Web Java 应用


最基本的

1,request.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。所以它应该是一个通用的方法。



再转:
this.getClass().getClassLoader().getResource("template");
   首先,调用对象的getClass()方法是获得对象当前的类类型,这部分数据存在方法区中,而后在类类型上调用getClassLoader()方法是得到当前类型的类加载器,我们知道在Java中所有的类都是通过加载器加载到虚拟机中的,而且类加载器之间存在父子关系,就是子知道父,父不知道子,这样不同的子加载的类型之间是无法访问的(虽然它们都被放在方法区中),所以在这里通过当前类的加载器来加载资源也就是保证是和类类型同一个加载器加载的。
最后调用了类加载器的getResourceAsStream()方法来加载资源。


转自:http://blog.csdn.net/classicbear/article/details/7549035
发表评论
用户名: 匿名