jsp_filter 编码 过滤器

##字符集过滤器

public class CharacterEncodingFilter implements Filter {   
    private String edcoding=null;   
    private FilterConfig filterConfig=null;   
    private boolean ignore=true;   

    public void destroy() {   
         edcoding=null;   
         filterConfig=null;   
    }   

    public void doFilter(ServletRequest request, ServletResponse response,   
            FilterChain filterChain) throws IOException, ServletException {   
        if(ignore==true||request.getCharacterEncoding()==null){   
            String encoding=setCharacterEncoding(request);   
              if(encoding!=null){   
                request.setCharacterEncoding(encoding);   

                }   
        }   
          filterChain.doFilter(request, response);   
    }   

    public void init(FilterConfig filterConfig) throws ServletException {   
        this.filterConfig=filterConfig;   
        this.edcoding=filterConfig.getInitParameter("encoding");   
        String value=filterConfig.getInitParameter("ignore");   
        if(value==null){   
            this.ignore=true;   
        }else if(value.equalsIgnoreCase("true")){   
            this.ignore=true;   

        }else{   
            this.ignore=false;   
        }   

    }   
    public String setCharacterEncoding(ServletRequest request){   
        return this.edcoding;   
    }   
}   

##web.xml中加以下代码

<filter>  
        <filter-name>CharacterEncodingFilter</filter-name>  
        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>  
        <init-param>  
            <param-name>encoding</param-name>  
            <param-value>UTF-8</param-value>  
        </init-param>  
    </filter>  
    <filter-mapping>  
        <filter-name>CharacterEncodingFilter</filter-name>  
        <url-pattern>/*</url-pattern>  
    </filter-mapping> 

###完整示例:

package dw05prj.util.filter; 
import javax.servlet.Filter; 
import javax.servlet.FilterConfig; 
import javax.servlet.ServletException; 
import javax.servlet.ServletRequest; 
import javax.servlet.ServletResponse; 
import javax.servlet.FilterChain; 
import java.io.IOException; 
/*页面字符集过滤流*/ 
/* 
在web.xml中配制的例子 
<filter> 
<filter-name>CharEncodingFilter</filter-name> 
<filter-class>dw05prj.util.filter.CharEncodingFilter</filter-class> 
<init-param> 
<param-name>charset</param-name> 
<param-value>GBK</param-value> 
</init-param> 
</filter> 
<filter-mapping> 
<filter-name>CharEncodingFilter</filter-name> 
<url-pattern>/*</url-pattern> 
</filter-mapping> 
*/ 
public class CharEncodingFilter implements Filter { 
    private String charSet ; 
    public void init(FilterConfig parm1) throws ServletException { 
        charSet = parm1.getInitParameter("charset") ; 
        if (charSet == null && charSet.length() < 1)  { 
            charSet = "UTF-8" ; 
        } 
        System.out.println ("CharEncodingFilter--字符集: " + this.getCharSet()) ; 
    } 

    public void doFilter(ServletRequest parm1, ServletResponse parm2,  FilterChain parm3)  throws IOException, ServletException { 
        // 设定字符集 
        parm1.setCharacterEncoding(this.getCharSet()); 
        parm3.doFilter(parm1, parm2); 
        //页面中每个向服务器的请求都被过滤 -- 如 图片,js,HTML/JSP等等 
        //System.out.println ("---CharEncodingFilter: " + this.getCharSet()) ; 
    } 
    public void destroy() { 
        this.setCharSet(null) ; 
    } 
    public void setCharSet(String charSet) { 
        this.charSet = charSet; 
    } 
    public String getCharSet() { 
    return (this.charSet); 
    } 
}

转载于:https://my.oschina.net/csmw00/blog/676059

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值