jsp 中文乱码之过滤器

这两天做一个项目jsp+hibernate+mysql,在查询的时候中文正常,但是插入中文数据的时候乱码,于是在网上找到用过滤器这个方法进行解决,jsp中用GB2312,MYSQL中也改为gb2312.写个过滤器如下:

 

package  filter;

import  javax.servlet. * ;
import  javax.servlet.http. * ;
import  java.io. * ;
public   class  CharacterEncodingFilter  implements  Filter {
        
private FilterConfig filterConfig;
        
private String encoding=null;
       
       
public void init(FilterConfig filterConfig){
          
this.filterConfig=filterConfig;
          encoding
=filterConfig.getInitParameter("encoding");
       }


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


    
public void destroy() {
        
    }

    
}

 在web.xml中加入filter:

     < filter >
        
< filter-name > setcharacterencodingfilter </ filter-name >
        
< filter-class > filter.CharacterEncodingFilter </ filter-class >
        
< init-param >
          
< param-name > encoding </ param-name >
          
< param-value > GB2312 </ param-value >
        
</ init-param >
    
</ filter >
    
< filter-mapping >
        
< filter-name > setcharacterencodingfilter </ filter-name >
        
< url-pattern > /* </ url-pattern >
    
</ filter-mapping >

这样即可解决jsp中的中文乱码问题。

你可能感兴趣的:(Hibernate,mysql,jsp,filter,import,encoding)