JSP乱码过滤器

原创 2007年09月20日 20:03:00

过滤器代码

package com.blog.filter;
import java.io.*;
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 String encoding = null;
 protected FilterConfig filterConfig = null;
 protected boolean ignore = true;

 public void destroy(){
  this.encoding = null;
  this.filterConfig = null;
 }
  
 public void doFilter(ServletRequest request,
       ServletResponse response,
       FilterChain chain) throws IOException, ServletException {
  // Conditionally select and set the character encoding to be used
  if (ignore || (request.getCharacterEncoding() == null)) {
   String encoding = selectEncoding(request);
   if (encoding != null){
    request.setCharacterEncoding(encoding);
   }
  }
  // Pass control on to the next filter
  chain.doFilter(request, response);
   }
  
   public void init(FilterConfig filterConfig) throws ServletException {
    this.filterConfig = filterConfig;
    this.encoding = filterConfig.getInitParameter("encoding");
    String value = filterConfig.getInitParameter("ignore");
    if (value == null)
     this.ignore = true;
    else if (value.equalsIgnoreCase("true"))
     this.ignore = true;
    else if (value.equalsIgnoreCase("yes"))
     this.ignore = true;
    else
     this.ignore = false;
   }
  
   protected String selectEncoding(ServletRequest request) {
    return (this.encoding);
   }
}

<!-- 字符串过滤器Web.xml配置信息 -->
  <filter>
   <filter-name>SetCharacterEncodingFilter</filter-name>
   <filter-class>com.blog.filter.SetCharacterEncodingFilter</filter-class>
   <init-param>
    <param-name>encoding</param-name>
    <param-value>utf-8</param-value>
   </init-param>
  </filter>
  <filter-mapping>
    <filter-name>SetCharacterEncodingFilter</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping> 

相关文章推荐

使用filter(过滤器)处理JSP和servlet的中文乱码

我的前一篇文章JSP和servlet中出现中文乱码的快速解决方法介绍了针对各种乱码问题的解决方法,但是这种方法需要在每一个出现乱码的页面添加那些处理乱码的语句,如果你的项目的页面非常多,上述做法显然很...

过滤器,Jsp开发中的避免中文乱码

  • 2011年06月24日 20:00
  • 333KB
  • 下载

JSP乱码解决过滤器

  • 2013年06月05日 13:47
  • 21KB
  • 下载

用过滤器来解决JSP中文乱码问题

先写一个过滤类 package com.util; import java.io.IOException; import java.io.UnsupportedEncodingException;...

jsp过滤器解决乱码(转)

(1)前言: 解决web程序的国际化问题,必须在任何地方使用UTF-8对字符进行编码。(包括:数据库设置为:UTF-8,web页面也要设置为:UTF-8) 这样做的好处在于可以解决在web上不止中...

如何配置Filter过滤器处理JSP中文乱码

参考Tomcat服务器目录webapps的examples示例 简单配置步骤: 1.在项目web.xml文件添加过滤器标记和; 2.实现过滤器代码; 3.对Tomcat服务器conf目...

JSP用过滤器解决request中文乱码问题

(1)客户端的数据一般是通过HTTP  GET/POST方式提交给服务器,在服务器端用request.getParameter() 读取参数时,很容易出现中文乱码现象。 (2)用过滤器解决requ...

JSP过滤器(Filter)之实现全站解决中文提交乱码(包括get提交方式)

/* 对所有乱码进行拦截及纠正,包括get提交方式,解决get提交方式乱码,方式是重写了request的getParameter方法, 让其在返回值的时候检查提交方式,如果为“get”就进行解码 *...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JSP乱码过滤器
举报原因:
原因补充:

(最多只允许输入30个字)