读书人

过滤器改变编码的兑现

发布时间: 2012-12-19 14:13:15 作者: rapoo

过滤器改变编码的实现

1、写好过滤器Java源文件文件(名称为:CharacterEncodingFilter)

package com.cky.firstStruts.common.CharacterEncodingFilter import java.io.IOException;import javax.servlet.Filter;import javax.servlet.FilterChain;import javax.servlet.FilterConfig;import javax.servlet.ServletException;import javax.servlet.ServletRequest;import javax.servlet.ServletResponse;/** 编码过滤器 */public class CharacterEncodingFilter implements Filter { String encoding = null; FilterConfig filterConfig = null; /** 初始化方法 */ public void init(FilterConfig filterConfig) throws ServletException {  this.filterConfig = filterConfig;  this.encoding = filterConfig.getInitParameter("encoding"); } /** 处理过滤方法 */ public void doFilter(ServletRequest request, ServletResponse response,   FilterChain filterChain) throws IOException, ServletException {  if(encoding != null){   //对请求进行编码设置   request.setCharacterEncoding(encoding);  }  //将处理权转交给下一个处理器  filterChain.doFilter(request, response); } /** 销毁方法 */ public void destroy() {  this.encoding = null;  this.filterConfig = null; }}

?
过滤器文件就写好了,接下来就是配置了。

2、在XML配置

<!-- 配置过滤器 --> <filter>  <filter-name>CharacterEncodingFilter</filter-name>  <filter-class>com.cky.firstStruts.common.CharacterEncodingFilter</filter-class>  <init-param>   <param-name>encoding</param-name>   <param-value>UTF-8</param-value>  </init-param>  <init-param>   <param-name>ignore</param-name>   <param-value>true</param-value>  </init-param> </filter> <filter-mapping>  <filter-name>CharacterEncodingFilter</filter-name>  <url-pattern>/*</url-pattern> </filter-mapping>

?最近记性很不好的.老是忘记东西,居然忘记过滤器要实现哪个类.看来不用真的很快忘记了!写一个记录一下.

读书人网 >编程

热点推荐