1.自定义处理字符集类,实现Filter接口:CharFilter.java

 
  
  1. package com.util;  
  2.  
  3. import java.io.IOException;  
  4.  
  5. import javax.servlet.Filter;  
  6. import javax.servlet.FilterChain;  
  7. import javax.servlet.FilterConfig;  
  8. import javax.servlet.ServletException;  
  9. import javax.servlet.ServletRequest;  
  10. import javax.servlet.ServletResponse;  
  11. import javax.servlet.http.HttpServletRequest;  
  12.  
  13. public class CharFilter implements Filter  
  14. {  
  15.     private String targetEncoding;  
  16.     /**  
  17.      *   
  18.      * {还原到原始编码格式}  
  19.      *   
  20.      * @author:LJ  
  21.      */ 
  22.     public void destroy()  
  23.     {  
  24.         targetEncoding = null;  
  25.     }  
  26.     /**  
  27.      *   
  28.      * {对请求和响应字符集过滤}  
  29.      *   
  30.      * @param srequest  
  31.      * @param sresponse  
  32.      * @param chain  
  33.      * @throws IOException  
  34.      * @throws ServletException  
  35.      * @author:LJ  
  36.      */ 
  37.     public void doFilter(ServletRequest srequest, ServletResponse sresponse, FilterChain chain) throws IOException,  
  38.             ServletException  
  39.     {  
  40.         HttpServletRequest request = (HttpServletRequest) srequest;  
  41.         request.setCharacterEncoding(targetEncoding);  
  42.         sresponse.setContentType("text/html;charset=GBK");  
  43.         chain.doFilter(srequest, sresponse); ///派发请求  
  44.     }  
  45.     /**  
  46.      *   
  47.      * {初始化字符集编码格式}  
  48.      *   
  49.      * @param config  
  50.      * @throws ServletException  
  51.      * @author:LJ  
  52.      */ 
  53.     public void init(FilterConfig config) throws ServletException  
  54.     {  
  55.         targetEncoding = config.getInitParameter("encoding");  
  56.     }  

2.web.xml配置:

 
  
  1. <filter> 
  2.      <filter-name>filter</filter-name>   
  3.      <filter-class>com.util.CharFilter</filter-class>    
  4.      <init-param> 
  5.             <param-name>encoding</param-name> 
  6.             <param-value>GBK</param-value> 
  7.      </init-param>         
  8. </filter>     
  9. <filter-mapping>   
  10.        <filter-name>filter</filter-name>   
  11.        <url-pattern>/*</url-pattern>    
  12. </filter-mapping>