java web过滤器处理乱码
我们在servlet页面中读取前台的数据时 经常会出现乱码问题
而自己每次都要在servlet中使用
Stringencoding="utf-8"; request.setCharacterEncoding(enconding); response.setCharacterEncoding(enconding);
来进行编码的转换 会很麻烦
所以使用过滤器我们可以避免这些重复的工作
web.xml配置
encodingFilter com.scx.filter.Filter encoding utf-8 encodingFilter /*
Filter
packagecom.scx.filter;
importjava.io.IOException;
importjavax.servlet.FilterChain;
importjavax.servlet.FilterConfig;
importjavax.servlet.ServletException;
importjavax.servlet.ServletRequest;
importjavax.servlet.ServletResponse;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
publicclassFilterimplementsjavax.servlet.Filter{
//读取过滤器配置文件
privateFilterConfigconfig;
publicvoiddestroy(){
//TODOAuto-generatedmethodstub
}
publicvoiddoFilter(ServletRequestarg0,ServletResponsearg1,
FilterChainchain)throwsIOException,ServletException{
//TODOAuto-generatedmethodstub
HttpServletRequestrequest=(HttpServletRequest)arg0;
HttpServletResponseresponse=(HttpServletResponse)arg1;
Stringencoding=config.getInitParameter("encoding");
if(encoding==null||"".equals(encoding)){
encoding="utf-8";
}
request.setCharacterEncoding(encoding);
response.setCharacterEncoding(encoding);
chain.doFilter(request,response);
}
publicvoidinit(FilterConfigarg0)throwsServletException{
//TODOAuto-generatedmethodstub
config=arg0;
}
}
这样的话 在servlet里面读取到的数据就不会出现乱码的情况了
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持毛票票!