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
就可以在运行时动态的找出项目的路径
相关推荐
通过在`web.xml`中配置如下: ```xml <listener-class>org.springframework.web.context.ContextLoaderListener ``` 当Servlet容器启动时,`ContextLoaderListener`会查找`ApplicationContext`的配置...
当web.xml中配置了`<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>`,容器启动时会调用其相关方法,初始化Spring应用上下文。ContextLoaderListener依赖于ContextLoader...
Spring MVC是目前最流行的框架之一,在创建Java Web项目时,web.xml配置文件是Java Web为我们封装的逻辑,不在今天的研究中。web.xml配置文件是Spring MVC框架的核心配置文件,它定义了整个应用程序的结构和行为。 ...
Tomcat服务器下../webapps/项目名称/WEB-INF/web.xml。 【webAppRootKey】与其他项目下的配置值决不可相同!。 webAppRootKey:就好比身份证,不存在2个人用同一个身份证号。 在同一个tomcat下,它的值是唯一的。
下面将详细解释RED5的安装配置过程以及核心配置文件`web.xml`中的主要参数。 首先,RED5的所有应用程序都需要放置在RED5安装目录下的`webapps`目录。每个应用程序都应该有自己的目录,并且包含一个名为`WEB-INF`的...
这个异常是因为多个项目中的 `web.xml` 文件中没有配置 `webAppRootKey` 项,导致 Tomcat 无法正确地分配项目的根目录。 解决方法 1:配置 webAppRootKey 要解决这个问题,可以在每个项目的 `web.xml` 文件中添加 ...
通过在web.xml中配置`OpenSessionInViewFilter`,可以实现持久化层的事务与视图渲染的无缝结合,提高应用性能。 ##### 2. **Struts-config.xml与Spring集成** 当Spring与Struts框架集成时,可以通过`...
在集成过程中,需要将 Red5 的 `web.xml` 内容合并到现有项目的 `web.xml` 中。 - `@webapp.root.key@` 替换:这个占位符需要被替换为 `${webapp.root.key}`,这是一个 Spring EL 表达式,用于动态获取 Web 应用的...
3. **Spring框架的思路**:在`web.xml`中创建一个`webAppRootKey`的参数,并通过监听器、过滤器或Servlet将该键值写入系统属性中,后续可以通过`System.getProperty("webapp.root")`来获取WebRoot的物理路径。...
打开Web项目中的WEB-INF目录中的web.xml文件,添加以下内容: <!-- 应用程序名称 --> <display-name>JI <!-- 应用程序描述说明性文字 --> <description>Job Integration <!-- 上下文参数 , 用于 log4j以及 ...
在`web.xml`中,`web.context`是必须配置的bean,它代表了应用的上下文环境。 ```xml <bean id="web.context" class="org.red5.server.Context" autowire="byType" /> ``` 4. Scope配置 `Scope`是Red5中的另一种...
`web.xml`是RED5中最核心的配置文件之一,用于定义应用程序的上下文参数以及其他配置项。下面详细介绍几个重要的参数: 1. **globalScope**:全局作用域。用于指定全局作用域的名称,默认值通常为`default`。 ```...
RED5的核心配置文件是`web.xml`,它位于每个应用的`WEB-INF`目录下。此文件中定义了一些重要的参数,具体如下: 1. **globalScope**:指定全局作用域,默认值为`default`。全局作用域用于定义整个系统级别的设置和...
在迁移过程中,需要对`web.xml`文件中的某些配置进行调整,以确保其能够正确地被WebLogic服务器解析和执行。 1. **移除通配符**:WebLogic不支持使用通配符如“*”来匹配文件路径,因此需要显式列出所有文件路径。 ...
6. **Flex工程结构**:在Flex项目中,`src`目录通常存放源代码,`WEB-INF`包含项目配置文件,如`red5-web.xml`、`web.xml`和`red5-web.properties`。`red5-web.xml`配置服务器的应用处理类,`web.xml`设置Web应用根...
- **`web.xml`**: 修改`webAppRootKey`下的`param-value`为`/myChat`。 - **`red5-web.properties`**: 修改第一行`webapp.contextPath=/myChat`。 - **调整日志配置**: 删除`log4j.properties`文件或重命名,并从...