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

发布时间:2017-2-27 14:40:44 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"Java Web获取Web应用根路径(转)",主要涉及到Java Web获取Web应用根路径(转)方面的内容,对于Java Web获取Web应用根路径(转)感兴趣的同学可以参考一下。

最基本的 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()方法来加载资源。

上一篇:胖子哥的大数据之路(五)- 数据资源-垄断的壁垒
下一篇:如何申请在线家教

相关文章

相关评论

本站评论功能暂时取消,后续此功能例行通知。

一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家社会集体的和公民的合法权益,不得利用本站制作、复制和传播不法有害信息!

二、互相尊重,对自己的言论和行为负责。