`

Spring 获取web根目录

 
阅读更多

不使用Spring,怎样能在Listener启动的Thread中获取web目录,还真不完全确定。其实我觉得实际代码也很简单。
就是基于普通的listener,然后在listener中获取web目录并放到JRE全局变量中。

但使用Spring,就可以用一种比较优雅的方式来获取了。

在web.xml中的<web-app>节点内加入:

 

<context-param>  
        <param-name>webAppRootKey</param-name>   
        <param-value>tansungWeb.root</param-value>  
    </context-param>  
    <listener>   
        <listener-class>org.springframework.web.util.WebAppRootListener</listener-class>   
    </listener>

 

 

然后在普通的Java类中(不是action中),就可以通过System.getProperty("tansungWeb.root")获取了web根目录了。

然后再拼凑路径的时候,最好不要直接使用/或者\,最好使用File.separatorChar

参考:http://blog.csdn.net/hellostory/archive/2010/12/30/6106930.aspx

这样的做法,适用于Spring配置中启动的线程需要获取web目录。例如删除临时文件的线程,定时发送邮件的线程。

分享到:
评论

相关推荐

    JavaWeb_servlet(10)_ 通过 ServletContex 获得根目录下的文件路径

    在这个主题中,我们将深入探讨如何使用ServletContext来获取JavaWeb应用的根目录下的文件路径,这对于读取、写入或操作静态资源如图片、CSS、JavaScript文件等非常有用。 首先,了解ServletContext接口。它在javax....

    Spring框架web项目实战全代码分享

    - `&lt;listener&gt;`:定义了一个`ContextLoaderListener`监听器,当Web应用启动时,它会读取`context-param`中指定的配置文件,初始化Spring应用上下文。 4. **创建`applicationContext.xml`**: 这是Spring的配置...

    spring-boot-cli下载

    2. 运行应用:在项目根目录下,使用`spring run application.java`命令可以运行Java源代码。 3. 交互式模式:输入`spring`进入CLI的交互模式,可以尝试编写和运行简单的Spring Boot命令。 Spring Boot CLI的核心...

    Web项目中使用Spring, 使用 Spring 的器监听器 ContextLoaderListener.docx

    在Servlet中,可以通过`WebApplicationContext`接口的`getServletContext().getAttribute(WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE)`方法获取到Spring的根应用上下文,从而得到Service对象...

    Spring in Action 使用Maven 构建Spring 工程

    首先,你需要在项目根目录下创建一个`pom.xml`文件,这是Maven的配置中心。在`&lt;dependencies&gt;`标签中,列出所有Spring相关的模块和其他必要的库,如Spring Core、Spring Web、Spring Data等。每个依赖项都有一个唯一...

    SPring安装

    7. **项目结构**:一个标准的Web项目结构通常包括`src`(源代码目录)、`WebRoot`(Web应用根目录),其中`WebRoot`下包含了HTML、CSS、JavaScript文件以及Web应用所需的其他资源。 8. **Struts集成**:Struts是MVC...

    整合flex和spring常遇到的问题

    在多数情况下,这应该指向Web应用的根目录。 - `contentRoot`:定义了Flex应用中静态资源的根目录,比如图片、样式表等。如果未明确指定,则默认为Flex应用的根目录。 **解决方法:** - 确保`rootUrl`正确指向了Web...

    spring3 MVC实战,手工搭建Spring3项目

    Eclipse的Web项目根目录是`WebContent`,而MyEclipse通常是`WebRoot`。 - **Tomcat**:推荐使用Tomcat 6,启动时应确保控制台无错误输出,显示服务器正常启动的信息。 - **Eclipse/MyEclipse设置**:确保IDE中的...

    maven-springMVC-springJDBC-Demo

    4. **src/main/webapp**: Web应用程序的根目录,包含静态资源(如HTML、CSS、JavaScript)、Web-INF目录(存放web.xml配置文件)。 5. **web.xml**: Web应用程序的部署描述符,配置了Spring MVC的前端控制器...

    java-web-project.zip_jdbctemplate_js项目_spring jdbctemplate

    文件名称列表中提到了"java web project",这很可能是指整个项目源代码的根目录,其中可能包含以下子目录和文件: 1. `src/main/java`:Java源代码,包括控制器、服务层、DAO(数据访问对象)层以及模型类。 2. `...

    spring+velocity+ibatis

    - `src/main/webapp`: Web应用的根目录,包含`WEB-INF`下的`web.xml`(Web应用的部署描述符)、`velocity.properties`(Velocity的配置)以及其他静态资源和视图模板。 通过这个项目,开发者可以学习到如何配置...

    如何读取webroot文件下的属性文件

    在Servlet容器(如Tomcat)中,`webroot`是应用程序的根目录,可以通过`ServletContext`对象获取。首先,我们需要在Servlet或者Filter中获取`ServletContext`实例: ```java ServletContext context = ...

    一步一步开发spring

    1. **开发目录的设定**:创建一个项目根目录`springapp`,并在其下建立`src`和`war`子目录。`src`目录用于存储Java源代码,而`war`目录则用于存放最终会被打包成WAR文件的所有资源,包括JSP文件、配置文件等。 2. *...

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

    本文将深入解析Java Web中所有路径问题的解决方法,涵盖Servlet、Action、Controller、Filter、Listener等关键组件的路径获取技巧,以及Spring框架下Web应用根目录的获取策略。 ### 一、理解Java Web中的路径类型 ...

    web中的路径问题

    - `DebitNoteAction.class.getResource("/")`:获取当前类路径的根目录,输出结果类似于`file:/D:/eclipse/springTest/WebRoot/WEB-INF/classes/`。 - 这种方式适用于获取类路径的根目录。 3. **使用线程上下文类...

    Maven+spring3.0MVC注释方式开发的Web应用

    3. `src/main/webapp`: 这是Web应用的根目录,包含了Web应用的静态资源(如HTML、CSS、JavaScript)、视图解析路径(如JSP文件)以及WEB-INF目录,其中`web.xml`是Web应用的部署描述符。 项目中可能的架构设计如下...

    java web开发中的路径问题

    - **根目录下的链接**:如果需要链接到Web应用根目录下的文件,可以使用绝对路径`&lt;a href="/road/dir2/b.jsp"&gt;b.jsp&lt;/a&gt;`,这里的`/`指向Web应用的根目录。 ### Servlet中的路径表示 Servlet中的路径表示与JSP有所...

    Spring系列面试题129道(附答案解析)

    由于内容量较大,我们将按照目录给出的知识点进行详细解读: 1、不同版本的SpringFramework有哪些主要功能? Spring Framework是一个开源的Java平台,它提供了全面的编程和配置模型,适用于企业级应用程序的开发。...

    spring mvc html5带进度条上传的例子.zip

    `webapp`目录则是Web应用的根目录,其中`WEB-INF`目录下的`web.xml`配置文件用于定义Servlet容器的配置,而`WEB-INF/views`目录通常存放JSP或Thymeleaf等视图模板,这些模板会被Spring MVC的视图解析器用来渲染响应...

Global site tag (gtag.js) - Google Analytics