web.xml中webAppRootKey

日志的配置,有两个参数,第一个参数:log4jConfigLocation 值:classpath:log4j.properties

第二个参数:webAppRootKey   值:SMBMS-NEW.root

不明白这两个参数怎么来的怎么就要配置,下面满足自己的好奇,到底该如何查看源码,重点是为了培养“语感”

 

  首先点进去

org.springframework.web.util.Log4jConfigListener

 

发现有初始化字样的参数initLogging ,所以猜测与它有关(因为web.xml配置的大多数就是为了初始化)再点进initLogging方法中

 

发现了第一个参数log4jConfigLocation 而这个是通过servletContext 中文翻译为servlet的上下文,其实就是包含的内容,用包含内容的servletContext得到参数值

点进setAppRootSystemProperty(servletContext)方法

 

发现这是得到真的路径,

第二个说如果没设置这个参数就默认webapp.root

第三个说用自己写的或者系统默认给的目录做key,而真正的根目录是root 既可以用这个key得到root,所以我们第二参数写不写都行或者随便写,但是最好要遵循规范,体现我们的专业性

所以我们通过阅读源码知道了这两个参数的作用!

补充: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

原文参考:http://elf8848.iteye.com/blog/2008595

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
东方通的web.xml文件有一些配置项需要注意。首先,web.xml文件可以配置一个<context-param>,其的<param-name>为webAppRootKey,<param-value>为webapp.root。这个字符串可以随便写任何内容,如果不配置,默认值是"webapp.root"。这个配置可以通过System.getProperty("webapp.root")来获取项目的运行路径。一般返回的结果为例如:/usr/local/tomcat6/webapps/项目名。 此外,在部署同一容器的多个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。因此,在web.xml文件选择唯一的值来配置'webAppRootKey'这个context-param。 以上是关于东方通的web.xml文件的一些说明和配置指导。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [使用东方通部署多个web应用](https://blog.csdn.net/imagination1022/article/details/130153526)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [web.xml设置根目录](https://blog.csdn.net/xqhys/article/details/54618791)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值