web.xml中webAppRootKey
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/项目名
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
就可以在运行时动态的找出项目的路径
转载自http://elf8848.iteye.com/blog/2008595
本文转自lzf0530377451CTO博客,原文链接:http://blog.51cto.com/8757576/1834014,如需转载请自行联系原作者
web.xml中webAppRootKey相关推荐
- 在tomcat下部署两个或多个项目时 log4j和web.xml配置webAppRootKey 的问题(转)
在tomcat下部署两个或多个项目时 web.xml文件中最好定义webAppRootKey参数,如果不定义,将会缺省为"webapp.root",如下: <!-- 应用路径 ...
- Jsp在Web.xml中的配置
以下列出web.xml经常使用的标签元素及这些标签元素的功能: 1.指定欢迎页面.比如: <welcome-file-list> <welcome-file-list> < ...
- web.xml 中的listener、 filter、servlet 加载顺序及其详解(转)
在项目中总会遇到一些关于加载的优先级问题,近期也同样遇到过类似的,所以自己查找资料总结了下,下面有些是转载其他人的,毕竟人家写的不错,自己也就不重复造轮子了,只是略加点了自己的修饰. 首先可以肯定的是 ...
- web.xml中filter,servlet和listener区别
2019独角兽企业重金招聘Python工程师标准>>> 1.Filter与Servlet的区别和联系,点击查看详情 2.Filter的执行顺序与实例,点击查看详情 Filter 实现 ...
- JavaWeb的web.xml中context-param、listener、filter、servlet加载顺序(重点)
文章目录 结论 分析 1.context-param 2.listener 3.filter 4.servlet 总结 结论 先说结论,在JavaWeb的web.xml中的加载顺序为: context ...
- [转]web.xml 中的listener、 filter、servlet 加载顺序及其详解
2019独角兽企业重金招聘Python工程师标准>>> 转自:http://zhxing.iteye.com/blog/399668 在项目中总会遇到一些关于加载的优先级问题,近期也 ...
- web.xml 中的listener、 filter、servlet 加载顺序及其详解
在项目中总会遇到一些关于加载的优先级问题,近期也同样遇到过类似的,所以自己查找资料总结了下,下面有些是转载其他人的,毕竟人家写的不错,自己也就不重复造轮子了,只是略加点了自己的修饰. 首先可以肯定的是 ...
- web.xml中load-on-startup的作用
今天在研究SpringMCV web.xml配置的时候发现load-on-startup标签,之前只是大概知道使用它是用来控制servlet加载顺序的.今天研究了一下. 如下是从网上找到的一片总结的比 ...
- web.xml 中的filter
Servlet API的2.3版本中最重要的一个新功能就是能够为servlet和JSP页面定义过滤器.过滤器提供了某些早期服务器所支持的非标准"servlet链接"的一种功能强大且 ...
最新文章
- 新装oracle如何启动服务,Oracle数据库新装之后出现的监听程序无法正常启动和运行(Oracle-12514)问题...
- Kotlin极简教程:第4章 基本数据类型与类型系统
- 3.1 if条件语句
- android 动态广告图片,android – 如何在动态壁纸的设置屏幕中添加一个admob广告视图?...
- OSI七层模型与TCP/IP五层模型详解
- 测试面试题集-Python编程题(1)
- 《大型数据库技术》MySQL的进阶开发技巧
- c# 如何获取项目的根目录
- SVN安装和中文语言包安装
- linux hping3命令,系列H - hping3 - 测试网络及主机的安全 - 《Linux命令大全》 - 技术池(jishuchi.com)...
- 在Eclipse中如何快速的计算代码量
- 平板电脑可以装python吗_电脑上的应用程序可以装在平板电脑上吗
- 思科认证和华为认证哪个更香?
- 模型结构可视化神器——Netron(支持tf, caffe, keras,mxnet等多种框架)
- 关于Windows和Linux的那些事儿
- java开发手机app教程,看完必懂
- 计算机的许可服务在哪里打开,Win10服务在哪里,怎么打开Win10服务列表?
- div css经典布局实例,div+css布局实例:常用图文混排(一)--腾讯图文 - 蜗爱CSS
- 水星USB无线网卡mw150us苹果macOS系统驱动成功
- devC++代码格式化对齐的快捷键