快速业务通道

Spring的优秀工具类盘点,第1部分: 文件资源操作和Web相关 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-19
ern>*.html</url-pattern>   </filter-mapping> <!---servlet的配置--> </web-app>

这样所有以 .html 为后缀的 URL 请求的数据都会被转码为 UTF-8 编码格式,表单中文乱码的问题就可以解决了。

Spring的优秀工具类盘点,第1部分: 文件资源操作和Web相关(7)

时间:2011-02-06 IBM 陈雄华

请求跟踪日志过滤器

除了以上两个常用的过滤器外,还有两个在程序调试时可能会用到的请求日志跟踪过滤器,它们会将请求的一些重要信息记录到日志中,方便程序的调试。这两个日志过滤器只有在日志级别为 DEBUG 时才会起作用:

方法 说明
org.springframework.web.filter.ServletContextRequestLoggingFilter 该过滤器将请求的 URI 记录到 Common 日志中(如通过 Log4J 指定的日志文件);
org.springframework.web.filter.ServletContextRequestLoggingFilter 该过滤器将请求的 URI 记录到 ServletContext 日志中。

以下是日志过滤器记录的请求跟踪日志的片断:

(JspServlet.java:224) - JspEngine --> /htmlTest.jsp (JspServlet.java:225) - ServletPath: /htmlTest.jsp (JspServlet.java:226) - PathInfo: null (JspServlet.java:227) - RealPath: D:\masterSpring\chapter23\webapp\htmlTest.jsp (JspServlet.java:228) - RequestURI: /baobaotao/htmlTest.jsp

通过这个请求跟踪日志,程度调试者可以详细地查看到有哪些请求被调用,请求的参数是什么,请求是否正确返回等信息。虽然这两个请求跟踪日志过滤器一般在程序调试时使用,但是即使程序部署不将其从 web.xml 中移除也不会有大碍,因为只要将日志级别设置为 DEBUG 以上级别,它们就不会输出请求跟踪日志信息了。

转存 Web 应用根目录监听器和 Log4J 监听器

Spring 在 org.springframework.web.util 包中提供了几个特殊用途的 Servlet 监听器,正确地使用它们可以完成一些特定需求的功能。比如某些第三方工具支持通过 ${key} 的方式引用系统参数(即可以通过 System.getProperty() 获取的属性),WebAppRootListener 可以将 Web 应用根目录添加到系统参数中,对应的属性名可以通过名为“webAppRootKey”的 Servlet 上下文参数指定,默认为“webapp.root”。下面是该监听器的具体的配置:

清单 6. WebAppRootListener 监听器配置

… <context-param>   <param-name>webAppRootKey</param-name>   <param-value>baobaotao.root</param-value> ① Web 应用根目录以该属性名添加到系统参数中 </context-param> … ② 负责将 Web 应用根目录以 webAppRootKey 上下文参数指定的属性名添加到系统参数中 <listener>   <listener-class>   org.springframework.web.util.WebAppRootListener   </listener-class> </listener> …

这样,您就可以在程序中通过 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

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号