Spring 获取web根目录 (Spring线程获取web目录/路径/根目录,普通类获取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目录。例如删除临时文件的线程,定时发送邮件的线程。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏青青天空树

springboot整合mybatis(xml+注解)

​ 刚毕业的第一份工作是java开发,项目中需要用到mybatis,特此记录学习过程,这只是一个简单demo,mybatis用法很多不可能全部写出来,有更复杂的...

772
来自专栏阿杜的世界

了解Spring Boot的自动配置

Spring Boot的自动配置给开发者带来了很大的便利,当开发人员在pom文件中添加starter依赖后,maven或者gradle会自动下载很多jar包到c...

652
来自专栏IT 指南者专栏

SSM 框架快速整合实例--学生查询

SSM 框架即 Spring 框架、SpringMVC 框架、MyBatis 框架,关于这几个框架的基础和入门程序,我前面已经写过几篇文章作为基础和入门介绍了。

802
来自专栏java架构师

java-Spring-1

1、@Autowired 自动寻找合适的类型注入,byType 2、@Qualifier("userDAOImpl") 存在多个相同类型时,指定固定的一个bea...

2379
来自专栏实战docker

Java实战操作MongoDB集群(副本集)

Spring提供了MongoDB操作的工具:MongoTemplate,使得在Spring环境下对MongoDB的操作更为便利,本章我们就来学一下如何用Mong...

2239
来自专栏静默虚空的博客

[Spring]01_环境配置

1.1 Spring jar包下载 (1)进入官网http://repo.spring.io (2)在资源库界面点击Artifacts标签,然后点击libs-...

1799
来自专栏技术记录

Dubbo(五) Dubbo入门demo——helloworld

前言 前面我已经介绍了dubbo的一些基本工具和知识,让大家简单的了解了下RPC框架和Dubbo。接下来就是重点了,Dubbo的helloworld项目。 ? ...

8279
来自专栏史上最简单的Spring Cloud教程

5分钟带你入门Redis

1.redis概述 redis是一个开源的,先进的 key-value 存储可用于构建高性能的存储解决方案。它支持数据结构有字符串,哈希,列表,集合,带有范围查...

1868
来自专栏菩提树下的杨过

jboss EAP 6.2 + Message Drive Bean(MDB) 整合IBM Webshpere MQ 7.5

上一篇我们知道了消息驱动Bean的基本用法,实际大型分布式企业应用中,往往会采用高性能的商业Queue产品,比如IBM Webshpere MQ(目前最新版本是...

1898
来自专栏WindCoder

Dubbo入门-简易配置

想看分布式的东西好久了,目前的公司用不到,只能自己去网上找相关的,看到最多的Dubbo,于是趁着今天有时间自己照着一些教程自己配置了个基础的demo,顺便放出来...

733

扫码关注云+社区