`
flash7783
  • 浏览: 309424 次
  • 性别: Icon_minigender_1
  • 来自: 南昌
社区版块
存档分类
最新评论

解决Servlet的乱码过滤器

阅读更多

1.

//第一种方式,这种方式在每个需要传参的地方都要写,会累死的

username = new String(username.getBytes("ISO-8859-1"),"GBK");

 


2.在每个Servlet中加入:这种方式基本上每个页面都要写,并且仅对POST方法有效,因为GET方法在客户端就已经完成编码工作了,写进去也无效

request.setCharacterEncoding("GBK");
response.setCharacterEncoding("GBK");

 

3.用过滤器,严重推荐

package com.umt.base;

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;

public class SetEncoding implements Filter {
   private String encoding = "ISO-8859-1";

   public void destroy() {
   
   }

   public void doFilter(ServletRequest request, ServletResponse response,
     FilterChain chain) throws IOException, ServletException {
    request.setCharacterEncoding(this.encoding);
    response.setCharacterEncoding(this.encoding);
   
    chain.doFilter(request, response);
   }

   public void init(FilterConfig config) throws ServletException {
    String encod = config.getInitParameter("encoding");
    if(encod != null && encod.length() > 0){
     this.encoding = encod;
    }
   }

}

 
//在web.xml中配置如下信息:

  

<filter>
   <filter-name>setEncoding</filter-name>
   <filter-class>com.umt.base.SetEncoding</filter-class>
   <init-param>
   <param-name>encoding</param-name>
   <param-value>GBK</param-value>
   </init-param>
   </filter>
   
   <filter-mapping>
   <filter-name>setEncoding</filter-name>
   <url-pattern>/*</url-pattern>
   </filter-mapping>
 
  1. <!-- 利用spring解决乱码 -->  
  2.  <filter>  
  3.   <filter-name>encoding</filter-name>  
  4.   <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>  
  5.   <init-param>  
  6.    <param-name>encoding</param-name>  
  7.    <param-value>UTF-8</param-value>  
  8.   </init-param>  
  9.  </filter>  
  10.  <filter-mapping>  
  11.   <filter-name>encoding</filter-name>  
  12.   <url-pattern>/*</url-pattern>  
  13.  </filter-mapping>  
分享到:
评论

相关推荐

    servlet过滤器解决乱码问题

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

    Servlet编码过滤器的实现

    Servlet编码过滤器是Java Web开发中的一个重要概念,它主要用于解决HTTP请求和响应中的编码问题,以确保数据在传输过程中的正确性。在本教程中,我们将深入探讨如何实现一个Servlet编码过滤器,并理解其工作原理。 ...

    servlet过滤器Api 以及乱码处理.javascript注入问题

    Servlet过滤器可以有效地解决这个问题。例如,我们可以通过在过滤器中设置请求和响应的编码方式来确保正确的字符编码。以下是一个简单的例子: ```java public void doFilter(ServletRequest request, Servlet...

    servlet过滤器配置,解决JSP的所有乱码

    在标题“servlet过滤器配置,解决JSP的所有乱码”和描述“JSP页面获得servlet是不是经常出现乱码呢?很烦人哦,那就试试这个吧,可以解决所有的乱码,里面有说明教你怎么配”中,主要涉及的知识点是通过配置Servlet...

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

    总结来说,解决Struts ActionForm乱码和Servlet全局过滤器转义编码问题,需要关注以下几个关键点: 1. **页面编码**:确保JSP文件以UTF-8编码,并在页面头部声明。 2. **服务器配置**:在Tomcat的`server.xml`中...

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

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

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

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

    Servlet转码过滤器.rar

    如果输入是中文,后台servlet再次输出这个内容时,可能就会是乱码,这是因为serlvet中默认是以ISO-8859-1格式编码的,如果后台有多个Servlet,多个参数,这样就不合适,这个问题,我们可以通过一个过滤器统一解决,使...

    java中servlet文字过滤器

    本文将深入探讨"java中servlet文字过滤器"的概念、实现及应用场景。 ### 1. Servlet Filter简介 Servlet Filter是一种可以在请求到达目标Servlet之前或之后执行的拦截机制。它允许我们在不修改Servlet代码的情况下...

    Java servlet过滤器配置详解

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

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

    ### 使用过滤器解决中文乱码问题 在Web开发过程中,经常遇到的一个问题是中文或其它非ASCII字符的乱码问题。这种现象通常出现在浏览器接收的数据与实际编码格式不匹配时。解决此类问题的一种常见方法是使用过滤器...

    jsp中文乱码过滤器

    为了解决这个问题,我们可以使用一种叫做“中文乱码过滤器”的工具。本文将深入探讨JSP中文乱码过滤器的工作原理、实现方法以及如何在项目中应用。 **一、乱码问题的来源** 在JSP页面中,如果服务器和客户端的字符...

    jsp用过滤器解决中文乱码问题的方法.docx

    jsp 用过滤器解决中文乱码问题的方法 jsp(JavaServer Pages)是一种广泛应用于Web开发的技术,但是在实际开发中,我们经常会遇到中文乱码问题。为了解决这个问题,我们可以使用jsp过滤器来实现编码设置。我今天要...

    Servlet过滤器使用

    Servlet过滤器,主要配置了中文乱码及未登陆验证过滤器。 代码简单明了,易学。 过滤器实现类 1、Filter接口:所有的Servlet过滤器类都必须实现javax.servlet.Filter接口 a、init(FilterConfig): 这是Servlet...

    java配置过滤器,解决乱码

    总结来说,Java配置过滤器解决乱码问题的核心在于确保请求和响应的编码与预期一致。通过设置请求的字符编码和响应的Content-Type,可以有效地防止乱码的产生,提升用户体验。在实际开发中,理解字符编码的工作原理,...

    jsp中FilterDome(乱码过滤器源代码)

    `FilterDome`是一个具体的Filter实现,通常用来解决字符编码问题,即乱码过滤器。在处理中文或其他多语言字符时,乱码问题时常出现,`FilterDome`就是为了解决这个问题而设计的。下面将详细介绍`FilterDome`的工作...

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

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

    Servlet之过滤器

    Servlet过滤器是Java Web开发中的一个重要概念,它在Servlet请求处理生命周期中扮演着关键角色。过滤器(Filter)允许开发者在请求被实际处理到Servlet之前或之后进行拦截,执行一些预处理或后处理任务。本篇文章将...

    中文乱码过滤器

    一个简单的类,写进项目里解决中文乱码问题。

Global site tag (gtag.js) - Google Analytics