`

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编码过滤器的实现

    在本教程中,我们将深入探讨如何实现一个Servlet编码过滤器,并理解其工作原理。 首先,让我们了解为什么需要编码过滤器。在Web应用中,用户输入的数据可能包含非ASCII字符,如中文、日文等,这些字符在HTTP请求中...

    servlet过滤器实例经典过滤器

    Servlet过滤器是Java Web开发中的一个重要组件,它允许开发者在请求到达Servlet之前或者响应离开Servlet之后进行拦截处理。本教程将深入讲解如何配置和使用Servlet过滤器,以及介绍五个经典的过滤器实例。 首先,让...

    编码过滤器

    标题“编码过滤器”直指这一关键概念,而描述“配置在web.xml中的过滤器,支持过滤GET,POST方式提交的参数”则进一步明确了这种过滤器的作用范围。 在Web应用中,GET和POST是两种主要的HTTP请求方法,它们用来从...

    servlet 过滤器做的简单登陆demo

    当用户发起请求时,过滤器会先于目标Servlet执行,可以用来进行预处理,如认证、编码转换、日志记录等。 2. **登录验证**: 在这个例子中,过滤器的主要任务是对每个请求进行登录验证。如果用户未登录,过滤器将...

    JavaWeb页面过滤器之编码过滤

    在给定的标题“JavaWeb页面过滤器之编码过滤”和描述中,我们可以深入探讨JavaWeb中的编码过滤器,以及如何在MyEclipse 8.5环境下开发和应用这样的过滤器。这个过滤器不仅适用于JSP页面,也适用于Servlet和HTML等Web...

    servlet过滤器实现(Eclipse工程)

    Servlet过滤器是Java Web开发中的一个重要概念,它允许开发者在请求到达Servlet之前或者响应离开Servlet之后进行拦截处理。本教程将详细介绍如何在Eclipse环境中创建并实现一个Servlet过滤器。 一、Servlet过滤器...

    servlet四个有用的过滤器

    该过滤器主要用于处理中文字符的编码问题,确保中文内容能够正确地显示。一个简单的实现方法是在请求到达目标资源之前将请求中的参数进行转码处理,例如使用 `request.setCharacterEncoding("UTF-8")` 来设置请求的...

    servlet过滤器验证用户登录

    在IT领域,特别是Java Web开发中,Servlet过滤器(Filter)是实现用户权限管理、登录状态验证等关键功能的重要机制之一。本文将深入探讨如何利用Servlet过滤器来验证用户是否已登录,以及如何配置过滤器以针对特定的...

    字符编码过滤器

    在Java Web开发中,字符编码过滤器(Character Encoding Filter)起着至关重要的作用。它确保了请求和响应数据在处理过程中使用一致的字符编码,从而避免乱码问题。本篇文章将详细探讨Java过滤器(Filter)的概念,...

    Servlet转码过滤器.rar

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

    Java servlet过滤器配置详解

    Java Servlet过滤器是Java Web应用程序中的重要组件,它在请求被Servlet处理之前和响应返回给客户端之后进行拦截,可以用于实现各种功能,如字符编码转换、URL重写、权限控制等。本篇将深入讲解Java Servlet过滤器的...

    servlet+jsp实现过滤器 防止用户未登录访问

    使用servlet和jsp技术时,我们可以通过过滤器(Filter)来实现这样的安全防护机制。过滤器是一种服务器端的组件,它能够对请求和响应进行拦截,执行一些预处理或者后处理操作。它常用于进行登录验证、权限检查、字符...

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

    例如,字符编码过滤器可以确保请求和响应的数据始终使用正确的字符集,避免乱码问题。 接着是“防盗链(Anti-leech)”技术,这是一个防止网站资源被其他网站非法引用的重要机制。防盗链过滤器通常检查HTTP请求的...

    servlet过滤器技术实例,

    Servlet过滤器是Java Web开发中的一个重要概念,它允许开发者在请求到达Servlet之前或者Servlet响应返回客户端之前进行拦截处理。在本实例中,我们将深入探讨Servlet过滤器(Filter)的使用和实现,以及它在实际应用...

    servlet过滤器解决乱码问题

    ### Servlet过滤器解决乱码问题 在Web应用开发过程中,字符编码问题经常出现,尤其是在处理中文等多字节字符时。如果不正确地设置字符编码,可能会导致页面显示乱码。本文将详细介绍如何通过Servlet过滤器来解决这...

    JAVA WEB中的Servlet过滤器

    Servlet过滤器是按照指定的配置顺序进行调用的,能够实现数据的预处理、后处理、权限控制、字符编码转换等多种功能,极大地增强了Web应用程序的功能性和灵活性。 Servlet过滤器的实现基于Java Servlet API中的...

    java中servlet文字过滤器

    在某些场景下,我们可能需要对HTTP响应的内容进行特定的处理,比如过滤掉某些字符或者处理编码问题,这时就可以使用Servlet Filter(过滤器)。本文将深入探讨"java中servlet文字过滤器"的概念、实现及应用场景。 #...

    Servlet过滤器小实例

    ### Servlet过滤器小实例 #### 实例背景与需求分析 在Web开发中,为了保障系统的安全性和稳定性,经常需要对接收到的HTTP请求进行预处理,比如验证用户身份、过滤恶意请求等。通常情况下,这些预处理操作可以在...

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

    Struts框架中的ActionForm乱码问题以及Servlet全局过滤器的转义编码处理是Java Web开发中常见的字符编码问题。在开发基于Struts的Web应用时,乱码主要出现在三个方面:页面显示乱码、参数传递乱码以及国际化资源文件...

    servlet中的过滤器与监听器

    一个常见的过滤器示例是字符集编码过滤器,用于确保所有请求都以正确的字符集解析: ```java @WebFilter(filterName = "CharacterEncodingFilter", urlPatterns = "/*") public class CharacterEncodingFilter ...

Global site tag (gtag.js) - Google Analytics