Spring 在 org.springframework.web.util 包中提供了几个特殊用途的 Servlet 监听器,正确地使用它们可以完成一些特定需求的功能。比如某些第三方工具支持通过 ${key} 的方式引用系统参数(即可以通过 System.getProperty() 获取的属性),WebAppRootListener 可以将 Web 应用根目录添加到系统参数中,对应的属性名可以通过名为“webAppRootKey”的 Servlet 上下文参数指定,默认为“webapp.root”。下面是该监听器的具体的配置:
清单 6. WebAppRootListener 监听器配置
这样,您就可以在程序中通过 System.getProperty("baobaotao.root") 获取 Web 应用的根目录了。不过更常见的使用场景是在第三方工具的配置文件中通过 ${baobaotao.root} 引用 Web 应用的根目录。比如以下的 log4j.properties 配置文件就通过 ${baobaotao.root} 设置了日志文件的地址:
log4j.rootLogger=INFO,R
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=${baobaotao.root}/WEB-INF/logs/log4j.log ① 指定日志文件的地址
log4j.appender.R.MaxFileSize=100KB
log4j.appender.R.MaxBackupIndex=1
log4j.appender.R.layout.ConversionPattern=%d %5p [%t] (%F:%L) - %m%n
|
转自IBM文章:http://www.ibm.com/developerworks/cn/java/j-lo-spring-utils1/
分享到:
相关推荐
当我们需要访问位于Web应用根目录下的文件时,`getRealPath()`方法就派上用场了。例如,如果我们有一个名为"images/logo.png"的静态资源,我们可以这样做: ```java ServletContext context = getServletContext();...
- `<listener>`:定义了一个`ContextLoaderListener`监听器,当Web应用启动时,它会读取`context-param`中指定的配置文件,初始化Spring应用上下文。 4. **创建`applicationContext.xml`**: 这是Spring的配置...
在本项目中,我们主要探讨的是基于Maven和Spring 3.0 MVC框架,采用注解方式进行开发的一个Web应用程序,特别地,它还利用了SimpleJdbcTemplate进行数据操作。这个项目是一个基本的CRUD(创建、读取、更新、删除)...
通过以上步骤,你可以在Java Web应用中轻松地读取并使用`webroot`下的属性文件。这有助于将敏感信息和配置细节与代码分离,提高代码的可维护性和灵活性。记住,始终确保正确处理资源和异常,以保持良好的编程实践。
本文将深入解析Java Web中所有路径问题的解决方法,涵盖Servlet、Action、Controller、Filter、Listener等关键组件的路径获取技巧,以及Spring框架下Web应用根目录的获取策略。 ### 一、理解Java Web中的路径类型 ...
- **根目录下的链接**:如果需要链接到Web应用根目录下的文件,可以使用绝对路径`<a href="/road/dir2/b.jsp">b.jsp</a>`,这里的`/`指向Web应用的根目录。 ### Servlet中的路径表示 Servlet中的路径表示与JSP有所...
- **2.6 运行Web应用** - **启动应用**:部署并运行 Web 应用。 - **2.7 小结** - **总结**:通过一个完整的例子展示了如何使用 Spring 框架来开发 Web 应用。 #### 第3章 IoC容器概述 - **3.1 IoC概述** - **...
- `request.getRealPath("/")`和`request.getRealPath("/config/")`用于获取Web应用程序根目录或特定目录下的物理路径。 #### 四、路径选择和注意事项 - **路径的选择**取决于具体的应用场景和需求。 - 在开发...
例如,如果你需要读取Web应用内部的静态资源,可能选择`ServletContext.getRealPath()`;如果处理用户上传的文件,可能需要`request.getParameter()`配合`ActionForm`;而获取当前运行环境的工作目录,则使用`System...
在多数情况下,这应该指向Web应用的根目录。 - `contentRoot`:定义了Flex应用中静态资源的根目录,比如图片、样式表等。如果未明确指定,则默认为Flex应用的根目录。 **解决方法:** - 确保`rootUrl`正确指向了Web...
在Servlet中,可以通过`WebApplicationContext`接口的`getServletContext().getAttribute(WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE)`方法获取到Spring的根应用上下文,从而得到Service对象...
7. **项目结构**:一个标准的Web项目结构通常包括`src`(源代码目录)、`WebRoot`(Web应用根目录),其中`WebRoot`下包含了HTML、CSS、JavaScript文件以及Web应用所需的其他资源。 8. **Struts集成**:Struts是MVC...
2. 运行应用:在项目根目录下,使用`spring run application.java`命令可以运行Java源代码。 3. 交互式模式:输入`spring`进入CLI的交互模式,可以尝试编写和运行简单的Spring Boot命令。 Spring Boot CLI的核心...
- **应用调整**:修改Web应用代码,使其能够从数据库中读取和写入数据,实现数据的持久化。 ### 总结 此文档不仅提供了从头构建Spring Web应用程序的步骤,还深入介绍了如何优化代码结构、实现业务逻辑、添加测试...
在Spring中可以通过在XML配置文件中添加context命名空间并声明注解驱动元素,或者使用Java配置类上的注解(如@ComponentScan)来启动注解装配。 27、@Component,@Controller,@Repository,@Service有何区别? 这些...
4. **src/main/webapp**: Web应用程序的根目录,包含静态资源(如HTML、CSS、JavaScript)、Web-INF目录(存放web.xml配置文件)。 5. **web.xml**: Web应用程序的部署描述符,配置了Spring MVC的前端控制器...
- `src/main/webapp`: Web应用的根目录,包含`WEB-INF`下的`web.xml`(Web应用的部署描述符)、`velocity.properties`(Velocity的配置)以及其他静态资源和视图模板。 通过这个项目,开发者可以学习到如何配置...
文件名称列表中提到了"java web project",这很可能是指整个项目源代码的根目录,其中可能包含以下子目录和文件: 1. `src/main/java`:Java源代码,包括控制器、服务层、DAO(数据访问对象)层以及模型类。 2. `...
在Web应用中,可以通过`ServletContext`对象获取当前Web应用的根目录路径。这通常用于读取位于`WebRoot`目录下的资源。 ```java String realPath = getServletContext().getRealPath("/"); ``` 这里`"/"`代表...