`

Servlet中的字符编码过滤器

阅读更多

1、CharacterEncodingFilter.java

package com.keke.filter;

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 com.keke.util.StringUtil;

/**
 * 字符编码过滤器
 * 创建人:LiPiaoShui
 * 时间:2015年9月26日-下午2:18:39
 * @version 1.0.0
 */
public class CharacterEncodingFilter implements Filter {

	private FilterConfig config;
	
	@Override
	public void init(FilterConfig config) throws ServletException {
		this.config = config;
	}
	
	@Override
	public void doFilter(ServletRequest request, ServletResponse response,
			FilterChain chain) throws IOException, ServletException {
		//获取字符编码配置参数
		String encoding = config.getInitParameter("encoding");
		//设置字符编码
		if(StringUtil.isNotEmpty(encoding)) {
			request.setCharacterEncoding(encoding);
			response.setCharacterEncoding(encoding);
		}
		//把请求和响应传给过滤链中的下一个调用者或Servlet
		chain.doFilter(request, response);
	}

	@Override
	public void destroy() {

	}

}

2、web.xml

<!-- 注册字符编码过滤器 -->
<filter>
	<!-- 过滤器的标识名 -->
	<filter-name>characterEncodingFilter</filter-name>
	<!-- 过滤器对应的实现类 -->
	<filter-class>com.keke.filter.CharacterEncodingFilter</filter-class>
	<!-- 配置初始化参数 -->
	<init-param>
		<param-name>encoding</param-name>
		<param-value>UTF-8</param-value>
	</init-param>
</filter>
<filter-mapping>
	<!-- 过滤器的标识名 -->
	<filter-name>characterEncodingFilter</filter-name>
	<!-- 过滤器的URL匹配模式 -->
	<url-pattern>/*</url-pattern>
</filter-mapping>

 

 

分享到:
评论

相关推荐

    字符编码过滤器

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

    字符编码过滤器 字符编码转换 post字符转换

    "字符编码过滤器"是一种在J2EE应用程序中常见的解决乱码问题的机制。它通常是一个Servlet Filter,会在HTTP请求到达目标Servlet之前对请求进行预处理,将请求中的字符编码转换为应用程序期望的编码格式。例如,当...

    java字符编码监听器

    在实际项目中,我们可能需要编写一些测试用例来验证字符编码过滤器的效果,比如包含特殊字符的表单提交,或者不同编码的URL请求等。 6. **最佳实践** - 为确保整个应用的一致性,建议在所有的HTTP响应中都明确指定...

    Servlet编码过滤器的实现

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

    解决字符编码的过滤器

    在深入了解如何通过Struts2框架中的Servlet过滤器解决字符编码问题之前,我们先简要回顾一下字符编码的基本概念。字符编码是将计算机内部二进制数据转换为人类可读的文字的过程。常见的字符编码方式包括ASCII、GBK、...

    JavaWeb页面过滤器之编码过滤

    在实际项目中,编码过滤器通常是第一个被调用的过滤器,以确保在整个请求生命周期内都使用正确的字符编码。通过这种方式,我们可以有效地避免由于编码不一致引发的各种乱码问题,提高用户体验。 综上所述,JavaWeb...

    编码过滤器

    由于不同的字符集编码可能导致数据乱码,编码过滤器的职责就是统一这些编码,防止因编码不一致产生的问题。 在Java Web环境中,过滤器(Filter)是Servlet规范的一部分,它允许开发者在请求到达目标Servlet或JSP...

    【Struts】设置字符编码过滤器,解决乱码问题收藏

    本文将详细讲解如何通过设置字符编码过滤器(`SetCharacterEncodingFilter`)来解决这一问题,同时深入理解字符编码的原理以及在实际应用中的配置方法。 字符编码是计算机处理文本的一种方式,它将字符与数字对应...

    servlet过滤器实例经典过滤器

    1. **字符集过滤器**:这个过滤器用于确保所有请求和响应都使用统一的字符编码,如UTF-8。在doFilter()方法中,我们可以通过设置HttpServletRequest和HttpServletResponse的编码方式来实现。 2. **登录检查过滤器**...

    Java过滤器,字符过滤,标签过滤

    Java过滤器是Java Web开发中的一个重要概念,它主要用于在HTTP...通过研究这个项目,开发者可以学习到如何在实际项目中应用过滤器,以及处理字符编码问题,这对于任何涉及用户输入和输出的Java Web应用都是至关重要的。

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

    它常用于进行登录验证、权限检查、字符编码转换等。 在本例中,要实现一个简单的登录验证过滤器,可以阻止未登录用户访问除了登录页面以外的其他后台管理页面。通过实现javax.servlet.Filter接口,我们创建了一个...

    struts2.0字符编码使用过滤器

    要解决字符乱码,我们可以在过滤器中设置HttpServletRequest的`setCharacterEncoding()`方法,指定请求的编码方式,例如设置为UTF-8。同时,为了确保响应内容的正确编码,可以设置HttpServletResponse的`...

    字符过滤器

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

    中文字符过滤器

    这个过滤器的主要任务是在请求到达目标Servlet之前,设置正确的字符编码,以确保后续处理的正确性。在提供的`EncodingFilter.java`文件中,可以看到以下核心代码: ```java public void doFilter(ServletRequest ...

    servlet过滤器技术实例,

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

    servlet四个有用的过滤器

    一个简单的实现方法是在请求到达目标资源之前将请求中的参数进行转码处理,例如使用 `request.setCharacterEncoding("UTF-8")` 来设置请求的字符编码为UTF-8。 #### 2. **缓存过滤器** 给定的内容中提到了一个具体...

    JAVA WEB中的Servlet过滤器

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

    servlet过滤器解决乱码问题

    ### Servlet过滤器解决乱码问题 在Web应用开发过程中,字符编码问题经常出现,尤其是在处理中文等多...在实际项目中,可以根据具体的业务需求调整过滤器的逻辑,例如根据不同URL或请求类型设置不同的字符编码策略。

    java中servlet文字过滤器

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

    servlet过滤器实现(Eclipse工程)

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

Global site tag (gtag.js) - Google Analytics