在开发Web
方面的应用时, 经常需要获取
服务器中当前WebRoot的物理路径
如果是Servlet , Action , Controller, 或则Filter , Listener , 拦截器等相关类时,
我们只需要获得ServletContext, 然后通过ServletContext.getRealPath("/")来获取当前应用在服务器上的物理地址
如果在类中取不到ServletContext时, 有两种方式可以做到
1) 利用Java的类加载机制 调用 XXX.class.getClassLoader().getResource("");
方法来获取到ClassPath , 然后处理获得WebRoot目录
这种方式只能是该class在WebRoot/WEB-INF/classes下才能生效, 如果该class被打包到一个jar文件中,
则该方法失效。这时就应该用下面一种方式
2) spring框架的思路, 在WEB-INF/web.xml中 , 创建一个webAppRootKey的param,
指定一个值(默认为webapp.root)作为键值, 然后通过Listener , 或者Filter , 或者Servlet 执行String
webAppRootKey = getServletContext().getRealPath("/");
并将webAppRootKey对应的webapp.root 分别作为Key , Value写到System
Properties系统属性中。之后在程序中通过System.getProperty("webapp.root")来获得WebRoot的物理路径
根据第二种的思路,我们还可以再扩展一下。不过对于在部署在一台服务器中的应用来说,已经足够了。
分享到:
相关推荐
NULL 博文链接:https://wwwzhouhui.iteye.com/blog/504330
java Web 中相对路径绝对路径问题总结
java-flex-webroot配置文件和JAVA包
java语言开发web课程设计新闻发布系统源代码java语言开发web课程设计新闻发布系统源代码java语言开发web课程设计新闻发布系统源代码java语言开发web课程设计新闻发布系统源代码。java语言开发web课程设计新闻发布...
java project和java web project项目中如何获得相对路径、绝对路径问题详解
如何读取webroot文件下的属性文件
关于web的java代码,通过和数据库连接,实现页面的跳转,后台和前台代码都有。
学籍管理系统 WebRoot
WebRoot.rar
java 写的网页,用于显示SWF文件,可以直接运行,绝对好用。
codeFactory 介绍: 1.codeFactory: Java代码生成,依赖rapid-generator.4.0.6.jar, 支持自定义模板生成代码, 弱业务下完全...3.main方法运行CodeGenerator类,在配置的outRoot输出路径找到生成代码,复制到对应项目包下.
Java Restful Web 源代码Java Restful Web 源代码Java Restful Web 源代码Java Restful Web 源代码Java Restful Web 源代码Java Restful Web 源代码Java Restful Web 源代码Java Restful Web 源代码Java Restful Web...
如何在java中获取文件的绝对路径,以及在java web开发中得到文件的绝对路径。
如果你的jsp放在项目下面 但不是放在WebRoot下 才能访问到 但jsp放在WebRoot下 就是访问不了
在myeclipse下的一个web程序,把wsdl文件转化成java代码
如何读取webroot文件下的属性文件
Java WebServer源代码;Java WebServer源代码;Java WebServer源代码
Java Web 整合开发 完全自学手册 源代码
由于Java Web技术是SUN公司在Java Servlet规范中提出的通用技术,因此本书讲解的Java Web应用例子可以运行在任何一个实现SUN的Servlet规范的Java Web服务器上。随书附赠光盘内容为本书所有范例源程序,以及本书涉及...