web.xml中webAppRootKey
2016-07-29 10:12
393 查看
web.xml中webAppRootKey
------------------------------------------------------------------------------------------------
1、 web.xml配置
<context-param>
<param-name>webAppRootKey</param-name>
<param-value>webapp.root</param-value>
</context-param>
"webapp.root"这个字符串可以随便写任何字符串。如果不配置默认值是"webapp.root"。
可以用System.getProperty("webapp.root")来动态获项目的运行路径。
一般返回结果例如:/usr/local/tomcat6/webapps/项目名
如果使用了spring 则配置如下:
<context-param>
<param-name>webAppRootKey</param-name>
<param-value>zboa_xm_ext.root</param-value>
</context-param>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:applicationContext.xml </param-value>
</context-param>
2、解决以下报错
部署在同一容器中的Web项目,要配置不同的<param-value>,不能重复,否则报类似下面的错误:
Web app root system property already set to different value: 'webapp.root' = [/home/user/tomcat/webapps/project1/] instead of [/home/user/tomcat/webapps/project2/] - Choose unique values for the 'webAppRootKey' context-param in your web.xml files!
意思是“webapp.root”这个key已经指向了项目1,不可以再指向项目2.
3、加载方式
Spring通过org.springframework.web.util.WebAppRootListener 这个监听器来运行时的项目路径。
但是如果在web.xml中已经配置了 org.springframework.web.util.Log4jConfigListener这个监听器,
则不需要配置WebAppRootListener了。因为Log4jConfigListener已经包含了WebAppRootListener的功能
一般配置类型下面的例子:
Xml代码
<!-- 加载Log4J 配置文件 -->
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>WEB-INF/conf/log4j.properties</param-value>
</context-param>
<context-param>
<param-name>log4jRefreshInterval</param-name>
<param-value>3000</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
4、在运行时动态的找出项目的路径
在log4j.properties配置文件,就可以按下面的方式使用${webapp.root}:
log4j.appender.file.File=${webapp.root}/WEB-INF/logs/sample.log
就可以在运行时动态的找出项目的路径
------------------------------------------------------------------------------------------------
1、 web.xml配置
<context-param>
<param-name>webAppRootKey</param-name>
<param-value>webapp.root</param-value>
</context-param>
"webapp.root"这个字符串可以随便写任何字符串。如果不配置默认值是"webapp.root"。
可以用System.getProperty("webapp.root")来动态获项目的运行路径。
一般返回结果例如:/usr/local/tomcat6/webapps/项目名
如果使用了spring 则配置如下:
<context-param>
<param-name>webAppRootKey</param-name>
<param-value>zboa_xm_ext.root</param-value>
</context-param>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:applicationContext.xml </param-value>
</context-param>
2、解决以下报错
部署在同一容器中的Web项目,要配置不同的<param-value>,不能重复,否则报类似下面的错误:
Web app root system property already set to different value: 'webapp.root' = [/home/user/tomcat/webapps/project1/] instead of [/home/user/tomcat/webapps/project2/] - Choose unique values for the 'webAppRootKey' context-param in your web.xml files!
意思是“webapp.root”这个key已经指向了项目1,不可以再指向项目2.
3、加载方式
Spring通过org.springframework.web.util.WebAppRootListener 这个监听器来运行时的项目路径。
但是如果在web.xml中已经配置了 org.springframework.web.util.Log4jConfigListener这个监听器,
则不需要配置WebAppRootListener了。因为Log4jConfigListener已经包含了WebAppRootListener的功能
一般配置类型下面的例子:
Xml代码
<!-- 加载Log4J 配置文件 -->
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>WEB-INF/conf/log4j.properties</param-value>
</context-param>
<context-param>
<param-name>log4jRefreshInterval</param-name>
<param-value>3000</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
4、在运行时动态的找出项目的路径
在log4j.properties配置文件,就可以按下面的方式使用${webapp.root}:
log4j.appender.file.File=${webapp.root}/WEB-INF/logs/sample.log
就可以在运行时动态的找出项目的路径
相关文章推荐
- Eclipse建立Maven maven-archtype-webapp项目
- 移动端原生app、混合app、webapp 区别
- webapp font-size解决问题的方案
- 八、多WebApps与多mysql的集成
- 使用Spring4+Maven构建webapp项目
- 移动WEBAPP开发常规CSS样式总结
- webApplicationContext 与servletContext
- web.xml中webAppRootKey
- 移动WebApp开发框架(珍藏)
- webapp开发使用Cordova-Cordova教程
- WebApplicationInitializer (spring 3.x.x以上版本)
- 利用WebApplicationInitializer配置SpringMVC取代web.xml
- WebAPP实现自动更新功能
- WebAppbuilder更改微件大小
- Visual Stadio 2015创建WebApplication应用和运行赏析
- “WebApplication.SqlHelper”的类型初始值设定项引发异常。
- 【webapp的优化整理】要做移动前端优化的朋友进来看看吧
- 【webapp的优化整理】要做移动前端优化的朋友进来看看吧
- webapp适配 rem实现
- Unable to start EmbeddedWebApplicationContext due to missing EmbeddedServletContainerFactory bean.