`

在Java代码中获得WebRoot的物理路径

    博客分类:
  • java
 
阅读更多

在开发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的物理路径

根据第二种的思路,我们还可以再扩展一下。不过对于在部署在一台服务器中的应用来说,已经足够了。

2009-12-16 16:12

java:WEB 项目中JAVA取得WEBROOT物理路径

1.最近项目中应用到JAVA 后台代码取得WEBROOT物理路径的问题,网上找了点资料学习了一下

我们知道JSP Servlet 取得WEB根路径可以用request.getContextPath(), 相对路径request.getSession().getServletContext().getRealPath("/") 物理路径 绝对路径

这2个相对有方法可以使用我们很容易取得根路径

 

2.JAVA 中取得系统路径可以使用System.getProperty("user.dir"); 但是我要取得WEB的物理路径如何取得呢,JAVA中不能继承或者取得到request ServletContext 等WEB的上下文就不能直接用API 函数取得了

 

3.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的物理路径

 

原文:http://www.blogjava.net/liuwentao253/archive/2009/06/15/282307.html

原文:http://hi.baidu.com/w_xiaofeng20xx/item/d820eb0b492070e9ff240de4

分享到:
评论

相关推荐

    WEB 项目中JAVA取得WEBROOT物理路径

    在Java Web开发中,获取WEB-INF目录或者更广泛的WEBROOT(Web应用的根目录)的物理路径是一项常见的需求。这通常涉及到服务器环境变量、Servlet API的使用以及对Web应用部署结构的理解。以下将详细讲解如何在Java中...

    Java web项目代码结构说明

    - 可以通过Eclipse中的`Properties`->`Deployment Assembly`进行设置,包括`.java`文件路径、Web文件路径、项目依赖的`.jar`包文件路径及其发布路径。 通过上述介绍,我们可以清晰地了解到Java Web项目的代码结构...

    web中的路径问题

    在Java Web开发中,通常有多种方法可以获取到所需的路径。 - **通过`ServletContext`获取路径**: - `getRealPath("/")`:获取Web应用程序根目录的物理路径。 - `getRealPath("/relative/path")`:获取Web应用程序...

    总结一下java获取路径几种途径

    在Web应用中,通过`request.getContextPath()`可以获得web应用的上下文路径,如"/tree",这里的"tree"指的是web项目的root context。这通常用于构建请求URL或资源路径的基础部分。 ### 2. 解决Java路径问题的方案 ...

    Java Web中解决路径(绝对路径与相对路径)问题

    1. **使用ServletContext.getRealPath("/")**:这是获取Web应用在服务器上物理路径的常见方式。当需要访问服务器上的文件时,如读取配置文件或上传的文件,可以使用此方法。例如,`context.getRealPath("/WEB-INF/...

    深入分析java文件路径的详解

    在Web应用开发中,经常需要获取Web应用的根目录,即WebRoot的物理路径。对于Servlet、Action、Controller、Filter或Listener等,可以通过`ServletContext.getRealPath("/")`来获取。这种方法直接且有效,但如果在...

    Java或web中解决所有路径问题

    在Web应用开发中,特别是使用Servlet、Action、Controller或其他类似组件时,获取服务器中当前WebRoot的物理路径是至关重要的。可以通过`ServletContext`的`getRealPath("/")`方法来获取Web应用在服务器上的根目录。...

    JSP中java文件操作大全

    在探讨JSP中Java文件操作的全面指南时,我们深入剖析了文件的创建、检查、删除,目录的管理,以及如何处理虚拟目录和获取文件属性等核心知识点。这些操作对于构建动态网页,尤其是那些需要与文件系统交互的应用程序...

    jsp图片上传代码

    - 将文件保存到指定的物理路径上。 - 图片压缩处理:这部分代码尝试对上传的图片进行压缩处理,生成缩略图,但由于代码片段不完整,具体的实现细节无法完全展示。 ### 总结 通过上述分析可以看出,这段JSP代码实现...

    java读写文件,Java操作文件

    在JSP页面中处理虚拟目录通常涉及到获取目录的实际物理路径。这在读取服务器上的文件或设置文件路径时非常重要。 ```java // 获取Web站点主目录的位置 String webRoot = request.getRealPath("/"); // 获取JSP网页...

    Java Web项目中连接Access数据库的配置方法

    在本文中,我们将探讨如何在不依赖ODBC数据源或使用绝对路径的情况下,通过Java代码在DAO层连接Web项目中的Access数据库,以确保项目的可移植性。 首先,我们需要明白Access数据库的JDBC连接通常是通过JDBC-ODBC...

    JavaWeb项目部署方式.txt

    - **`docBase`**:指定Web应用的实际物理路径。例如,上面的例子中`E:\MyEclipse9.0\WorkShop\webTest\WebRoot`即为实际的Web应用根目录。 - **`reloadable`**:设置为`true`时,表示允许热部署,即在不重启服务器的...

    Java Web应用开发 54 课堂案例-应用jspSmartUpload组件实现文件上传.docx

    - 在项目的`WebRoot`目录下新建所需的JSP页面。 - 将`WEB-INF`文件夹及其内容复制到项目中,并确保`web.xml`文件也一并包含。 - 部署`jspSmartUpload`组件到项目名称下的`WEB-INF\classes`目录中。 - **配置说明...

    如何在Tomcat 7.0服务器中添加Web应用及注意事项

    ### 如何在Tomcat 7.0服务器中添加Web应用及注意事项 #### 一、引言 Apache Tomcat 是一个免费开源的轻量级Servlet容器,用于开发和部署基于Java的Web应用程序。Tomcat 支持最新的Java EE标准,如Servlet、JSP等。...

    Myeclipse中Tomcat的项目两种部署方式

    在浏览器中输入 http://localhost:8080/工程名字/WebRoot/index.jsp,可以访问到部署的程序。 方式二:通过 Tomcat 的 server.xml 配置文件中部署 在 Tomcat 的 server.xml 配置文件中部署 Tomcat 项目需要进行...

    配置tomcat虚拟目录

    1. **路径问题**:确保在`server.xml`文件中指定的物理路径与实际文件系统中的路径完全一致,包括大小写也要匹配。 2. **权限问题**:检查目标目录的读写权限,确保Tomcat进程有足够的权限访问这些文件。 3. **...

    Tomcat如何配置去项目名称访问.doc

    在MyEclipse等IDE中,Web应用程序的最终部署目录通常是项目的`WebRoot`子目录。 如果遇到项目无法自动部署或者找不到的问题,可能是因为`docBase`设置不正确,或者Tomcat的部署策略与预期不符。检查`webapps`目录,...

Global site tag (gtag.js) - Google Analytics