`
haohao-xuexi02
  • 浏览: 216456 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

Http乱码过滤器

    博客分类:
  • java
阅读更多

Http协议中默认的编码字符集和平台字符集都不是中文的,所以 Web项目中经常会遇到中文乱码问题。

为防止中文乱码出现,首先我们要把项目中每个网页的编码形式改成中文的, HTML网页中的 charset改成 UTF-8 JSP网页中的 pageEncoding改成 UTF-8

然后我们做一个过滤器,每次对网页的请求都会进入到过滤器,并且把 request response都改成 UTF-8编码形式,这样防止了中文乱码的出现。

源代码如下:

package com.dr.servletform;

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.jsp.jstl.core.Config;

public class MyFilter implements Filter{

       String encoding="";

       public void destroy() {

       }

       public void doFilter(ServletRequest request, ServletResponse response,

                     FilterChain chain) throws IOException, ServletException {

              System.out.println("pass here-------");

              request.setCharacterEncoding(encoding);

              response.setCharacterEncoding(encoding);

              chain.doFilter(request, response);

       }

       public void init(FilterConfig config) throws ServletException {

              String encoding=config.getInitParameter("encoding");

              this.encoding=encoding;

              System.out.println(encoding);

       }

}

web.xml中配置如下:

< filter >

  < filter-name > MyFilter </ filter-name >

  < filter-class > com.dr.servletform.MyFilter </ filter-class >

- < init-param >

  < param-name > encoding </ param-name >

  < param-value > UTF-8 </ param-value >

  </ init-param >

  </ filter >

- < filter-mapping >

  < filter-name > MyFilter </ filter-name >

  < url-pattern > /* </ url-pattern >

  </ filter-mapping >

原文:http://womendu.iteye.com/blog/843659

分享到:
评论

相关推荐

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

    【如何配置Filter过滤器处理JSP中文乱码】 在开发Java Web应用时,尤其是在处理包含中文字符的请求时,可能会遇到中文乱码的问题。解决这个问题的一种常见方法是使用Filter过滤器。以下是配置Filter过滤器处理JSP...

    jsp 过滤器中文乱码的处理

    本篇文章将详细讲解如何处理JSP中的中文乱码以及如何通过过滤器(Filter)来解决这一问题。 首先,中文乱码的处理主要涉及到字符集(Charset)的概念。在JSP中,当请求参数包含中文字符时,如果不设定字符编码,...

    java配置过滤器,解决乱码

    标题提到的"java配置过滤器,解决乱码",实质上是通过使用Servlet过滤器(Filter)来处理HTTP请求和响应中的编码问题,确保数据在传输过程中不出现乱码。下面我们将深入探讨Java中的乱码问题,以及如何通过配置过滤...

    jsp 过滤器——解决中文乱码问题

    ### jsp过滤器——解决中文乱码问题 #### 背景介绍 在Web应用开发过程中,特别是使用Java Server Pages (JSP)进行中文字符处理时,经常遇到的一个问题是中文字符显示为乱码。这主要是因为客户端与服务器端之间存在...

    中文乱码过滤器(包括GET和POST)

    中文乱码过滤器是一种专门用于解决这种问题的工具,它能够有效地处理GET和POST请求中的中文乱码问题,确保数据的正确显示和传输。本文将深入探讨中文乱码的产生原因,介绍中文乱码过滤器的工作原理,以及如何在实际...

    ssh框架乱码过滤器Filter

    本篇文章将详细探讨SSH框架中的中文乱码问题,以及如何通过实现自定义过滤器(Filter)来解决这一问题。 首先,我们要理解乱码的产生原因。在HTTP请求中,数据编码格式不一致是导致乱码的主要因素。例如,客户端...

    乱码过滤类和配置使用方法

    下面是一个简单的示例,展示如何在Spring Boot中创建一个乱码过滤器: ```java import javax.servlet.*; import javax.servlet.http.HttpServletRequest; import java.io.IOException; @Component public class ...

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

    过滤器是Servlet API的一部分,允许我们在数据请求到达目标资源之前或之后进行拦截和处理,包括对字符编码的转换,从而避免乱码的出现。 1. **过滤器概念**: - 过滤器是Java Servlet规范中定义的一种组件,它实现...

    java中文过滤器消除乱码问题

    本篇将详细讲解如何利用这种过滤器来消除Java Web中的乱码问题。 首先,我们需要理解乱码产生的原因。在Java Web应用中,乱码通常源于字符编码不一致。例如,HTTP请求的数据可能使用UTF-8编码,而服务器默认使用GB...

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

    过滤器可以拦截HTTP请求和响应,对数据进行预处理或后处理,例如转换编码格式。 3. **解决乱码的过滤器实现** - **设置请求编码**:在`doFilter`方法中,我们可以使用`HttpServletRequest`的`setCharacterEncoding...

    servlet过滤器解决乱码问题

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

    利用过滤器解决JavaWeb(JSP)的乱码问题

    除了上述基本的过滤器解决方案,还可以根据实际项目需求进行更复杂的编码管理,例如,针对不同的请求路径或HTTP方法设置不同的编码,或者在处理文件上传时考虑文件名的编码问题。 此外,对于"中文乱码问题.txt"这样...

    JSP乱码解决过滤器

    在给定的描述和标签中,"JSP乱码解决过滤器"指的就是一个专门用于处理乱码问题的Filter。 首先,我们需要了解过滤器(Filter)在Java Web中的作用。过滤器是Servlet规范的一部分,它允许我们在请求到达目标Servlet...

    过滤器解决中文乱码(项目)

    本项目"过滤器解决中文乱码"旨在提供一种有效的方法来处理这个问题。下面将详细介绍这个项目的相关知识点。 首先,我们要了解什么是过滤器(Filter)。在Java Web中,过滤器是Servlet API的一部分,它允许我们在...

    过滤器实现get请求乱码问题

    要解决这个乱码问题,我们可以按照以下步骤创建一个过滤器: 1. 创建Filter类:首先,我们需要创建一个实现了javax.servlet.Filter接口的类。在类中,我们需要重写doFilter()方法,这是过滤器的核心,它将在每次...

    tomcat过滤器,处理表单提交出现乱码

    为了解决这个问题,我们可以利用Java的Servlet过滤器(Filter)机制来处理请求。 1. **创建过滤器**: 在Java Web应用中,过滤器是实现特定功能的一段代码,可以在请求到达目标Servlet之前或之后进行预处理和后...

    java里中文乱码的解决篇之过滤器

    要使用过滤器解决中文乱码,我们需要创建一个实现了javax.servlet.Filter接口的类。以下是一个简单的过滤器示例: ```java import javax.servlet.*; import java.io.IOException; public class ...

    get与post乱码过滤器.zip

    在这个"get与post乱码过滤器.zip"压缩包中,我们可以预见到它包含的是Java源代码,专门用于解决HTTP请求过程中的编码乱码问题。 首先,让我们来理解一下"GET"和"POST"的区别。"GET"请求通常用于获取资源,其参数...

    Web开发 乱码过滤器.zip

    这个"Web开发 乱码过滤器.zip"文件包含了处理这类问题的一些关键组件。让我们逐一解析其中的文件及其背后的原理。 首先,我们看到一个名为"GetRequest.java"的文件,这很可能是一个自定义的...

Global site tag (gtag.js) - Google Analytics