欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

java web过滤器处理乱码

程序员文章站 2024-03-02 23:43:10
我们在servlet页面中读取前台的数据时  经常会出现乱码问题 而自己每次都要在servlet中使用 string encoding="utf-8"...

我们在servlet页面中读取前台的数据时  经常会出现乱码问题

而自己每次都要在servlet中使用

string encoding="utf-8"; 
request.setcharacterencoding(enconding); 
response.setcharacterencoding(enconding); 

来进行编码的转换  会很麻烦

所以使用过滤器 我们可以避免这些重复的工作

web.xml配置

<filter> 
 <filter-name>encodingfilter</filter-name> 
 <filter-class>com.scx.filter.filter</filter-class> 
 <!-- 初始化参数 --> 
 <init-param> 
  <param-name>encoding</param-name> 
  <param-value>utf-8</param-value> 
 </init-param> 
 </filter> 
 <!-- filter映射关系 --> 
 <filter-mapping> 
 <filter-name>encodingfilter</filter-name> 
 <url-pattern>/*</url-pattern> 
 </filter-mapping> 

filter

package com.scx.filter; 
import java.io.ioexception; 
import javax.servlet.filterchain; 
import javax.servlet.filterconfig; 
import javax.servlet.servletexception; 
import javax.servlet.servletrequest; 
import javax.servlet.servletresponse; 
import javax.servlet.http.httpservletrequest; 
import javax.servlet.http.httpservletresponse; 

public class filter implements javax.servlet.filter{ 
  //读取过滤器配置文件 
  private filterconfig config; 
  public void destroy() { 
    // todo auto-generated method stub 
  } 
  public void dofilter(servletrequest arg0, servletresponse arg1, 
      filterchain chain) throws ioexception, servletexception { 
    // todo auto-generated method stub 
    httpservletrequest request=(httpservletrequest) arg0; 
    httpservletresponse response=(httpservletresponse) arg1; 
    string encoding=config.getinitparameter("encoding"); 
    if(encoding==null||"".equals(encoding)){ 
      encoding="utf-8"; 
    } 
    request.setcharacterencoding(encoding); 
    response.setcharacterencoding(encoding); 
    chain.dofilter(request, response); 
  } 
  public void init(filterconfig arg0) throws servletexception { 
    // todo auto-generated method stub 
    config=arg0; 
  } 
} 

这样的话  在servlet里面读取到的数据就不会出现乱码的情况了

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!