`
IT阿狸
  • 浏览: 67884 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

用于POST方法汉字解码的过滤器

 
阅读更多

过滤器中Filter:

 

package 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 javax.servlet.http.HttpServletRequest;

/**
 * 用于POST方法汉字解码的过滤器
 * 使用后所有的POST提交的Servlet都无需解码
 * @author miao
 *
 */
public class SetEncodingFilter implements Filter {

	String code = null;
	
	public void init(FilterConfig config) throws ServletException {
		//从init-param中得到所需的编码
		code = config.getInitParameter("code");
		if (code == null) {
			//默认设置成utf-8
			code = "utf-8";
		}
	}

	public void doFilter(ServletRequest req, ServletResponse resp, FilterChain filterChain)
		throws IOException, ServletException {
		HttpServletRequest request = (HttpServletRequest) req;
		request.setCharacterEncoding(code);
		filterChain.doFilter(req, resp);
	}

	public void destroy() {
		code = null;
	}

}

 

在web.xml中的配置:

 

<filter>
  	<display-name>汉字的解码器</display-name>
  	<filter-name>SetEncodingFilter</filter-name>
  	<filter-class>filter.SetEncodingFilter</filter-class>
  	<init-param>
  		<param-name>code</param-name>
  		<param-value>GBK</param-value>
  	</init-param>
  </filter>
  <filter-mapping>
  	<filter-name>SetEncodingFilter</filter-name>
  	<url-pattern>/*</url-pattern>
  </filter-mapping>

 

分享到:
评论

相关推荐

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

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

    中文字符过滤器

    在IT行业中,中文字符过滤器(EncodingFilter)是解决Web应用程序中中文乱码问题的关键工具。乱码问题通常发生在数据的编码与解码过程中,尤其是当客户端与服务器之间通过HTTP传输包含中文字符的数据时。本篇文章将...

    JavaWeb中过滤器的三个小案例

    我们创建一个过滤器,重写doFilter方法,在请求进入Servlet之前设置合适的字符编码。例如,对于POST请求,可以使用HttpServletRequest的setCharacterEncoding方法设置UTF-8编码,对于GET请求,可能需要修改request的...

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

    解决中文乱码问题需要从多个层面进行检查和处理,过滤器是其中一种有效的方法。通过在Web应用的入口处统一设置编码,可以避免因编码不一致导致的乱码问题。然而,要完全消除乱码,还需要对整个系统的编码环境进行...

    JSP中文解码方法

    - 解决方法:在接收页面,通过`request.setCharacterEncoding("UTF-8")`设置请求编码,或者全局使用过滤器确保所有请求的编码为UTF-8。 4. **GET方式传值乱码**: - GET请求的URL参数编码依赖于浏览器的charset和...

    超强过滤器彻底解决JSP-SERVLET中文参数GET-POST传递的问题(转)

    总结,"超强过滤器"是解决JSP-Servlet之间中文参数GET-POST传递问题的有效手段,通过统一设定请求的字符编码,确保在整个Web应用中中文数据能够正确无误地传输和处理。对于大型项目,这样的全局解决方案可以大大提升...

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

    在类中,我们需要重写doFilter()方法,这是过滤器的核心,它将在每次请求被转发到目标资源之前被调用。 ```java public class EncodingFilter implements Filter { // ... } ``` 2. 注册Filter:在web.xml配置...

    servlet过滤器解决乱码问题

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

    通过过滤器(Filter)解决JSP的Post和Request中文乱码问题

    2. init方法:这个方法在过滤器实例化时被调用,用于初始化过滤器。如果需要,可以在此方法中获取通过web.xml文件配置的初始化参数。 3. doFilter方法:这是过滤器的核心方法,所有请求都要通过此方法进行处理。...

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

    要创建一个过滤器,需要定义一个实现`javax.servlet.Filter`接口的类,并重写`doFilter()`方法。 2. **配置过滤器**: 在`web.xml`配置文件中,我们需要定义过滤器并指定其作用范围。例如,如果希望过滤所有请求,...

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

    - `doFilter(ServletRequest request, ServletResponse response, FilterChain chain)`: 这是过滤器的主要工作方法,通过`FilterChain`将请求传递给下一个过滤器或目标Servlet,同时在此过程中可以对请求和响应进行...

    JAVA过滤器filter request.setCharacterEncoding仅对POST提交起作用,对GET提交还是会出现乱码问题

    当你在过滤器中调用`request.setCharacterEncoding("UTF-8")`时,它会确保POST请求的数据按照UTF-8格式进行解码,从而避免乱码的出现。这是因为POST请求的数据是在请求体中传递的,可以被这个方法覆盖其默认编码。 ...

    FORM表单中文乱码问题分析与解决

    解决方法还可以是使用过滤器来解决中文乱码问题。例如,我们可以使用Spring中的字符集过滤器类来指定解码方式为UTF-8。这将使服务器在接收到FORM表单中的数据时自动使用UTF-8对中文进行解码。 对中文的编码方式和...

    Tomcat PostGet 中文編碼處理方法

    通过合理配置Tomcat服务器以及使用适当的过滤器,可以有效解决GET和POST请求中的中文编码问题。此外,选择合适的框架(如Spring)也可以大大简化这一过程。开发者应该根据项目实际情况选择最合适的方法来确保应用...

    如过你配置了过滤器无用,下面以下方可以解决AJAX中文乱码

    通过在客户端使用合适的编码函数,在服务器端正确解析请求数据,或者使用过滤器统一处理所有请求数据,都可以有效地避免中文乱码的问题。实践中,可以根据具体的项目需求和技术栈选择最适合的方法来实施。

    POST和GET方法乱码解决方案.docx

    ### POST和GET方法乱码解决方案 #### 前言 在Web开发中,中文乱码问题经常出现。这种现象主要是由于客户端(浏览器)与服务器之间的编码...通过以上方法,可以有效地解决Web开发中常见的POST和GET方法中文乱码问题。

    java中Filter过滤器处理中文乱码的方法

    在Java Web开发中,Filter过滤器是Servlet技术的一部分,用于在请求被Servlet处理之前和之后执行特定的操作。当涉及到处理中文乱码问题时,Filter过滤器扮演着关键角色。中文乱码通常发生在请求数据(如表单提交)在...

    03.SpringMVC中如何解决POST请求中文乱码问题GET的又如何处理呢.zip

    总结,解决Spring MVC中的POST和GET请求中文乱码问题,关键在于确保整个系统从客户端到服务器端的字符编码一致性,包括过滤器、控制器参数、表单提交以及服务器配置等。遵循以上步骤,可以有效避免中文乱码的出现。...

    java中文乱码处理.pdf

    - 创建了过滤器类后,需要在Web应用的`web.xml`配置文件中声明该过滤器,指定其拦截哪些请求,并设置初始化参数,比如: ```xml &lt;filter-name&gt;charsetFilter &lt;filter-class&gt;example.util....

    如何解决Tomcat下中文乱码问题?

    以下是一个简单的过滤器示例,用于设置请求的字符编码为UTF-8: ```java public class SetCharacterEncodingFilter implements Filter { // 省略其他方法... public void doFilter(ServletRequest request, ...

Global site tag (gtag.js) - Google Analytics