字符过滤器_闽师大software的空间_百度空间

import java.io.IOException;

import javax.servlet.Filter;
import javax.servlet.FilterChain;

public class CharacterEncodingFilter implements Filter{
// 字符编码(初始化参数)
    protected String encoding = null;
    // FilterConfig对象
    protected FilterConfig filterConfig = null;
    // 初始化方法
    public void init(FilterConfig filterConfig) throws ServletException {
        // 对filterConfig赋值
    this.filterConfig = filterConfig;
    // 对初始化参数赋值
        this.encoding = filterConfig.getInitParameter("encoding");
    }
    // 过滤器处理方法
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
        // 判断字符编码是否有效
    if (encoding != null) {
       // 设置request字符编码
            request.setCharacterEncoding(encoding);
            // 设置response字符编码
            response.setContentType("text/html; charset="+encoding);
        }
    // 传递给下一过滤器
        chain.doFilter(request, response);
    }
    // 销毁方法
    public void destroy() {
    // 释放资源
        this.encoding = null;
        this.filterConfig = null;
    }
}
<filter>
   <filter-name>CharacterEncodingFilter</filter-name>
   <filter-class>com.lyq.CharacterEncodingFilter</filter-class>
   <!-- 设置初始化参数 -->
   <init-param>
    <param-name>encoding</param-name>
    <param-value>GBK</param-value>
   </init-param>
</filter>
<!-- 映射字符编码过滤器 -->
<filter-mapping>
   <filter-name>CharacterEncodingFilter</filter-name>
   <!-- 与所有请求关联 -->
   <url-pattern>/*</url-pattern>
   <!-- 设置过滤器对应的请求方式 -->
   <dispatcher>REQUEST</dispatcher>
   <dispatcher>FORWARD</dispatcher>
</filter-mapping>



郑重声明:资讯 【字符过滤器_闽师大software的空间_百度空间】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
—— 相关资讯 ——