過濾器 -- 解決中文亂碼問題

1.web.xml:

<filter>
    <filter-name>EncodingFilter</filter-name>
    <filter-class>com.fzw.util.EncodingFilter</filter-class>
    <init-param>
      <param-name>encoding</param-name>
      <param-value>gbk</param-value>
    </init-param>
  </filter>
  <filter-mapping>
    <filter-name>EncodingFilter</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>

2.EncodingFilter.java:

package com.fzw.util;

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 EncodingFilter implements Filter{

  private String encoding = "GBK";
  public void destroy() {
    // TODO Auto-generated method stub
    
  }

  public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws IOException, ServletException {
    request.setCharacterEncoding(this.encoding);
    filterChain.doFilter(request, response);
    
  }

  public void init(FilterConfig config) throws ServletException {
    String encoding = config.getInitParameter("encoding");
    if(encoding != null && encoding.trim().length()>0){
      this.encoding = encoding;
    }
    
  }

}




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章