`

Filter统一处理字符集

    博客分类:
  • jsp
阅读更多
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;

/**
 * 采用Filter统一处理字符集
 * @author Administrator
 *
 */
public class CharsetEncodingFilter implements Filter {
	
	private String encoding = "GB18030";
	
	public void destroy() {
	}

	public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse,
			FilterChain filterChain) throws IOException, ServletException {
		//设置字符集
		servletRequest.setCharacterEncoding(encoding);
		filterChain.doFilter(servletRequest, servletResponse);
	}

	public void init(FilterConfig filterConfig) throws ServletException {
		encoding = filterConfig.getInitParameter("encoding");
	}
}


<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" 
	xmlns="http://java.sun.com/xml/ns/j2ee" 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
	http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
  
  <filter>
  	<filter-name>CharsetEncodingFilter</filter-name>
  	<filter-class>com.bjpowernode.drp.CharsetEncodingFilter</filter-class>
  	<init-param>
  		<param-name>encoding</param-name>
  		<param-value>GB18030</param-value>
  	</init-param>
  </filter>
  
  <filter-mapping>
  	<filter-name>CharsetEncodingFilter</filter-name>
  	<url-pattern>*.do</url-pattern>
  </filter-mapping>
</web-app>
分享到:
评论

相关推荐

    JSP对浏览器发送来的数据进行重新编码的两种方式

    方法二:利用Filter统一处理字符集 为了解决方法一的局限性,我们可以创建一个实现了`Filter`接口的Java类,如`CharsetEncodingFilter`。这个过滤器会在请求到达目标Servlet之前被调用,设置合适的字符集。这样,...

    字符集--Java编码相关.doc

    解决Java中文乱码的根本方法是在整个应用系统中指定统一的字符集。有三种常见的选择:ISO8859_1、GBK和UTF-8。ISO8859_1适用于西方字符,适合与Linux和MySQL等西方软件配合;GBK是针对中文的编码,适用于Windows环境...

    关于处理中文乱码问题 Filter 代码

    总结来说,处理中文乱码问题主要涉及到字符编码的统一,Java Servlet中的Filter是一个强大的工具,可以用来设置请求和响应的编码,确保数据传输的正确性。理解并熟练应用这些知识,能够有效避免在实际开发中遇到的...

    Servlet-1-filter-3.rar

    通过这种方式,我们可以在整个Web应用程序中统一处理字符集,避免因编码问题导致的乱码。"Servlet-1-filter-3.rar"文件很可能包含了实现这一功能的示例代码或教程,供开发者参考学习。使用Filter进行防乱码控制是一...

    Filter过滤器的概念和使用

    为了确保所有页面使用相同的字符集编码,可以通过Filter来统一设置。这样可以避免因不同页面采用不同的编码而导致的数据乱码问题。 ```java public void doFilter(ServletRequest request, ServletResponse ...

    javaWeb项目 filter练习

    编码过滤器的主要任务就是确保请求和响应中的字符集统一,通常会设置为UTF-8。在JavaWeb中,我们可以通过实现`javax.servlet.Filter`接口并重写`doFilter`方法来创建自定义过滤器。在这个练习中,过滤器可能检查请求...

    servlet filter

    6. **字符集转换**:统一处理请求和响应的字符编码问题。 综上所述,Servlet Filter是Java Web开发中不可或缺的一部分,它提供了强大的请求处理能力,帮助开发者实现复杂的功能需求,同时保持代码结构清晰和模块化...

    servlet系列之Filter

    例如,我们可以在doFilter方法中通过HttpServletRequest的setCharacterEncoding方法来设置请求的编码,通过HttpServletResponse的setContentType方法来指定响应的MIME类型和字符集。 ```java public void doFilter...

    MySQL数据库—乱码总结

    - 在`web.xml`文件中配置过滤器(如`javax.servlet.Filter`),确保所有HTTP请求都经过统一的字符集转换。 ##### 3.3 应用服务器层面的字符集设置 **问题描述**:在使用如Resin这样的应用服务器时,如果不正确地...

    java字符编码监听器

    特别是在多语言环境下,UTF-8编码由于其广泛支持各种字符集,通常被推荐为首选编码。 2. **SetCharacterEncodingFilter详解** `SetCharacterEncodingFilter`是一个Java Servlet Filter,它的主要作用是在HTTP请求...

    如何在Spring中解决中文乱码的方法.doc

    - **统一字符集**:在整个项目中统一使用相同的字符集是非常重要的。通常建议使用UTF-8,因为它是国际化的标准字符集,并且包含GBK在内的所有中文字符。 - **检查配置文件**:除了上述配置外,还需检查Spring以及...

    servlet filter大全

    通过设置`CharacterEncodingFilter`,可以统一处理所有请求和响应的编码,避免乱码问题。例如,我们可以在`web.xml`中配置如下: ```xml &lt;filter&gt; &lt;filter-name&gt;CharacterEncodingFilter&lt;/filter-name&gt; &lt;filter-...

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

    在开发Java Web应用程序时,尤其是使用Struts框架时,经常遇到的...在开发过程中,始终关注字符编码的统一性,可以提高代码的可维护性和用户体验。对于处理包含多语言或特殊字符的项目,正确设置字符编码更是至关重要。

    (四)Jsp filter的简单使用

    2. **字符集转换**:确保请求和响应的编码统一,避免乱码问题。 3. **日志记录**:记录用户的访问行为,便于分析和调试。 4. **性能优化**:例如,使用GZIP Filter对响应内容进行压缩,减少网络传输量。 在实际开发...

    JSP中文乱码问题解决总结

    4. 对于用户提交的数据,始终使用标准的字符集进行处理,避免直接拼接字符串。 5. 在数据库设计初期,就确定好字符集,避免后期修改带来的麻烦。 通过以上方法,我们可以有效地解决JSP中文乱码问题。在实践中,...

    在mysql数据库中传入中文字符,并实现正常显示.pdf

    1. **使用字符编码过滤器**:在Web应用中,可以使用字符编码过滤器来统一设置请求和响应的字符集。例如,以下是一个简单的字符编码过滤器实现: ```java public class CharacterEncodingFilter implements Filter ...

    Servlet及jsp解决中文乱码问题

    - **GET方式**:GET方式提交的数据无法直接通过程序设置字符集,需要通过其他手段处理,比如在页面上统一设置字符集。 ##### 3. 使用过滤器(Filter) - **创建过滤器类**:自定义一个过滤器类,在该类中设置请求的...

    基于J2EE Tomcat5.0 MySQL5.5应用开发中乱码问题研究.pdf

    总之,解决Java应用中的乱码问题需要全面考虑字符集的配置和转换过程,确保从输入到输出的每个环节都正确处理字符编码,从而避免出现乱码现象。对于Java开发者来说,理解和掌握各种编码方式以及它们之间的转换至关...

    如何处理JSP中文乱码问题,IBM portal 中文乱码.docx

    在开发Java Web应用程序,尤其是使用JSP技术时,中文乱码问题是一个常见的困扰。这个问题主要源于Java...在实际开发中,推荐使用UTF-8作为统一的编码标准,因为UTF-8能够兼容更多的字符集,减少因编码问题带来的困扰。

    jsp乱码解决超酷,通过web.xml配置

    综上所述,解决JSP乱码问题的关键在于统一各个阶段的字符集,包括HTTP请求、JSP页面、Servlet响应和数据库交互。通过`web.xml`的配置,我们可以实现全局的字符集控制,使得整个应用对非ASCII字符的处理更加顺畅。...

Global site tag (gtag.js) - Google Analytics