`

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的功能
一般配置类型下面的例子:

    <!-- 加载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
就可以在运行时动态的找出项目的路径

 

 

 

分享到:
评论
5 楼 xinglianxlxl 2017-08-03  
对我有用,非常感谢
4 楼 xiaobadi 2016-06-21  
 
3 楼 dragoo1 2016-06-08  
写得不错
2 楼 di1984HIT 2015-09-05  
学习了,写的太好。
1 楼 xy_z487 2015-08-14  
haooooooooo

相关推荐

    web.xml配置解析[总结].pdf

    通过在`web.xml`中配置如下: ```xml &lt;listener-class&gt;org.springframework.web.context.ContextLoaderListener ``` 当Servlet容器启动时,`ContextLoaderListener`会查找`ApplicationContext`的配置...

    web.xml配置解析.pdf

    当web.xml中配置了`&lt;listener-class&gt;org.springframework.web.context.ContextLoaderListener&lt;/listener-class&gt;`,容器启动时会调用其相关方法,初始化Spring应用上下文。ContextLoaderListener依赖于ContextLoader...

    Spring MVC的web.xml配置详解

    Spring MVC是目前最流行的框架之一,在创建Java Web项目时,web.xml配置文件是Java Web为我们封装的逻辑,不在今天的研究中。web.xml配置文件是Spring MVC框架的核心配置文件,它定义了整个应用程序的结构和行为。 ...

    关于tomcat部署多系统仅部分系统正常说明及解决办法

    Tomcat服务器下../webapps/项目名称/WEB-INF/web.xml。 【webAppRootKey】与其他项目下的配置值决不可相同!。 webAppRootKey:就好比身份证,不存在2个人用同一个身份证号。 在同一个tomcat下,它的值是唯一的。

    RED5安装与配置.doc

    下面将详细解释RED5的安装配置过程以及核心配置文件`web.xml`中的主要参数。 首先,RED5的所有应用程序都需要放置在RED5安装目录下的`webapps`目录。每个应用程序都应该有自己的目录,并且包含一个名为`WEB-INF`的...

    tomcat部署多个项目.pdf

    这个异常是因为多个项目中的 `web.xml` 文件中没有配置 `webAppRootKey` 项,导致 Tomcat 无法正确地分配项目的根目录。 解决方法 1:配置 webAppRootKey 要解决这个问题,可以在每个项目的 `web.xml` 文件中添加 ...

    Spring配置总结

    通过在web.xml中配置`OpenSessionInViewFilter`,可以实现持久化层的事务与视图渲染的无缝结合,提高应用性能。 ##### 2. **Struts-config.xml与Spring集成** 当Spring与Struts框架集成时,可以通过`...

    red5 与 tomcat项目集成

    在集成过程中,需要将 Red5 的 `web.xml` 内容合并到现有项目的 `web.xml` 中。 - `@webapp.root.key@` 替换:这个占位符需要被替换为 `${webapp.root.key}`,这是一个 Spring EL 表达式,用于动态获取 Web 应用的...

    java web开发中的路径问题

    3. **Spring框架的思路**:在`web.xml`中创建一个`webAppRootKey`的参数,并通过监听器、过滤器或Servlet将该键值写入系统属性中,后续可以通过`System.getProperty("webapp.root")`来获取WebRoot的物理路径。...

    web框架搭建.pdf

    打开Web项目中的WEB-INF目录中的web.xml文件,添加以下内容: &lt;!-- 应用程序名称 --&gt; &lt;display-name&gt;JI &lt;!-- 应用程序描述说明性文字 --&gt; &lt;description&gt;Job Integration &lt;!-- 上下文参数 , 用于 log4j以及 ...

    关于red5配置详解

    在`web.xml`中,`web.context`是必须配置的bean,它代表了应用的上下文环境。 ```xml &lt;bean id="web.context" class="org.red5.server.Context" autowire="byType" /&gt; ``` 4. Scope配置 `Scope`是Red5中的另一种...

    RED5安装与配置

    `web.xml`是RED5中最核心的配置文件之一,用于定义应用程序的上下文参数以及其他配置项。下面详细介绍几个重要的参数: 1. **globalScope**:全局作用域。用于指定全局作用域的名称,默认值通常为`default`。 ```...

    RED5安装与配置 RED5

    RED5的核心配置文件是`web.xml`,它位于每个应用的`WEB-INF`目录下。此文件中定义了一些重要的参数,具体如下: 1. **globalScope**:指定全局作用域,默认值为`default`。全局作用域用于定义整个系统级别的设置和...

    tomcat工程迁移至weblogic文档

    在迁移过程中,需要对`web.xml`文件中的某些配置进行调整,以确保其能够正确地被WebLogic服务器解析和执行。 1. **移除通配符**:WebLogic不支持使用通配符如“*”来匹配文件路径,因此需要显式列出所有文件路径。 ...

    red5+flex小程序

    6. **Flex工程结构**:在Flex项目中,`src`目录通常存放源代码,`WEB-INF`包含项目配置文件,如`red5-web.xml`、`web.xml`和`red5-web.properties`。`red5-web.xml`配置服务器的应用处理类,`web.xml`设置Web应用根...

    RED5+Flex3一步一步入门实例,保证通过!

    - **`web.xml`**: 修改`webAppRootKey`下的`param-value`为`/myChat`。 - **`red5-web.properties`**: 修改第一行`webapp.contextPath=/myChat`。 - **调整日志配置**: 删除`log4j.properties`文件或重命名,并从...

Global site tag (gtag.js) - Google Analytics