`

servlet中文编码过滤器

阅读更多

[color=black]package myfilter;

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;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class GBKFilter implements Filter {

 public void destroy() {
  // TODO Auto-generated method stub
  
 }

 public void doFilter(ServletRequest request, ServletResponse response,
   FilterChain chain) throws IOException, ServletException {
  System.out.println("开始过滤中文编码......");
  HttpServletRequest req = (HttpServletRequest)request;
  HttpServletResponse res = (HttpServletResponse)response;
  //获取当前请求的类型
  String method = req.getMethod();
  if(method.equals("POST")) {
   req.setCharacterEncoding("UTF-8");
  } else {
   //获取当前提交的参数
   String queryString = req.getQueryString();
   System.out.println(queryString);
   //判断是否有参数
   if(queryString != null) {
    //判断参数是否只有一个
    if(queryString.indexOf("&") == -1) {
     String[] strs = queryString.split("=");
     //通过参数的key手动编码解码
     String param = new String(
       req.getParameter(strs[0]).getBytes("ISO-8859-1"),"utf-8");
     req.setAttribute(strs[0], param);
    } else {
     String[] strsquery = queryString.split("&");
     for (int i = 0; i < strsquery.length; i++) {
      String[] strs = strsquery[i].split("=");
      //通过参数的key手动编码解码
      String param = new String(
        req.getParameter(strs[0]).getBytes("ISO-8859-1"),"utf-8");
      req.setAttribute(strs[0], param);
     }
    }
   }
  }
  chain.doFilter(req, res);
  
 }

 public void init(FilterConfig arg0) throws ServletException {
  System.out.println("GBK过滤器初始化成功");
  
  
 }

}[/color][size=large][/size]
 
分享到:
评论

相关推荐

    Servlet编码过滤器的实现

    NULL 博文链接:https://slccie.iteye.com/blog/897429

    Servlet转码过滤器.rar

    可能就会是乱码,这是因为serlvet中默认是以ISO-8859-1格式编码的,如果后台有多个Servlet,多个参数,这样就不合适,这个问题,我们可以通过一个过滤器统一解决,使后台的输出输出都支持中文!将ISO-8859-1转码为GBK...

    JavaWeb页面过滤器之编码过滤

    用MyEclipse 8.5 开发的JavaWeb页面编码过滤器.支持所有web页面,包括servlet

    STRUTS ActionForm乱码,servlet全局过滤器转义编码。

    STRUTS ActionForm乱码,servlet全局过滤器转义编码

    servlet高级应用过滤器、防盗链等一系列技术工具打包

    本资源包含 防盗链 、字符编码过滤、日志、异常处理、权限管理、字符过滤、图片水印、Cache缓存等 可直接使用 使用方法请看配置文件

    编码过滤器的设置

    javaweb 中过滤器的设置 包括配置文件和servlet的设置

    JavaWeb Servlet中Filter过滤器的详解

    JavaWeb Servlet中Filter过滤器的详解 1.简述  Filter过滤器,对web服务器所有web资源进行过滤,从而实现一些特殊的功能(权限访问控制、过滤敏感词汇、压缩响应信息)。Filter能够对Servlet容器的请求和响应进行检查...

    servlet过滤器解决乱码问题

    最简单的写法 只要JSP页面的 编码格式和 web.xml 编码格式一样就行

    解决字符编码的过滤器

    对struts2配置,针对网个网站的任何文件的编码都使用SERVLET encodingfilter中设定的 解决字符编码的过滤器

    Servlet之过滤器

    很有用的几个过滤器编程的例子,验证非法文字、验证登录和统一编码

    5个Servlet过滤器实例源码(JSP)

    Servlet过滤器大全,各种详细使用的代码! 一、字符编码的过滤器 二、使浏览器不缓存页面的过滤器 三、检测用户是否登陆的过滤器 四、资源保护过滤器 五 利用Filter限制用户浏览权限

    jsp中文问题过滤器实现源码

    通过servlet过滤器来解决request的编码的设置。这个方法不需要改动原来的代码,比较好。现成的写好的过滤器代码,只要把它编译一下就可以用了.

    字符过滤器

    jsp 中的字符过滤器,屏蔽网页中或JFreeChart中的乱码问题

    JSP 开发中过滤器filter设置编码格式的实现方法

    JSP 开发中过滤器filter设置编码格式的实现方法 我们知道为了避免提交数据的乱码问题,需要在每次使用请求之前设置编码格式。在你复制粘贴了无数次request.setCharacterEncoding(“gb2312”);后,有没有想要一劳永逸...

    Servlet 中文乱码解决工具类

    在Java Web程序开发中,由于Web容器内部使用编码格式并不支持中文字符集,所以,处理浏览器请求中的中文数据就会出现乱码的现象。由于Web容器使用了ISO-...如果通过过滤器来处理字符编码,就可以做到简单又万无一失。

    JSP存储过程过滤器用例

    1 用过滤器实现数据初始化 2 用过滤器实现中文编码转换 3 用servlet实现页面控件 4 sql2005 由于sql2000不支持对text类型的查询.sql2005则支持. 5 HashMap是随机从中取数据的.而采用LinkedHashMap即链表...

    servlet过滤器

    使用过滤器,可以省略掉页面和应用程序之间频繁的编码转换。

    详解JSP中使用过滤器进行内容编码的解决办法

    详解JSP中使用过滤器进行内容编码的解决办法 问题 当通过JSP页面,向数据库中插入记录的时候,可能因为JSP页面编码原因,导致插入到数据库中的新纪录出现乱码。因此需要对JSP页面中的内容进行编码操作,从而保证与...

    java过滤器中文乱码POST和GET

    主要解决表单提交中文乱码问题,主要针对页面GET提交的处理编码问题,设计知识 过滤器,servlet,装饰设计模式等

    dy.jar

    自己写的Web开发工具包。具体包含下面4个部分: &lt;br&gt; 1. 一个简单的servlet+javabean+view的框架,... 生成验证码的Servlet和编码过滤器; 4. 对jakarta commons-fileupload封装便于上传下载的工具类。 &lt;br&gt;

Global site tag (gtag.js) - Google Analytics