首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

变换字符编码filter,乱码

2012-12-25 
转换字符编码filter,乱码package com.yuanimport java.io.IOExceptionimport javax.servlet.Filterimpo

转换字符编码filter,乱码

package com.yuan;

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 SetCharacterEncodingFilter implements Filter {
?
?protected FilterConfig filterConfig;
?protected String encodingName;
?protected boolean enable;
?
?public SetCharacterEncodingFilter(){
??this.encodingName = "gb2312";
??this.enable = false;
?}
?
?public void init(FilterConfig filterConfig) throws ServletException {
??this.filterConfig = filterConfig;
??loadConfigParams();
?}
?
?private void loadConfigParams(){
??this.encodingName = this.filterConfig.getInitParameter("encoding");
??String strIgnoreFlag = this.filterConfig.getInitParameter("enable");
??
??if(strIgnoreFlag.equals("true")){
???this.enable = true;
??}else{
???this.enable = false;
??}
?}

?public void doFilter(ServletRequest request, ServletResponse response,
???FilterChain chain) throws IOException, ServletException {
??if(this.enable){
???request.setCharacterEncoding(this.encodingName);
??}
??chain.doFilter(request, response);
?}
?
?public void destroy() {
??// TODO Auto-generated method stub
?}
?
}

?

?

web.xml配置:

<filter>
?<filter-name>SetCharacterEncodingFilter</filter-name>
?<filter-class>com.yuan.SetCharacterEncodingFilter</filter-class>
?<init-param>
??<param-name>enable</param-name>
??<param-value>true</param-value>
?</init-param>
?
?<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>

?

?

热点排行