EncodeFilter.java
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 EncodeFilter implements Filter {
protected String encoding = null;
protected FilterConfig filterConfig = null;
public void destroy() {
System.out.println("过滤器销毁!");
this.encoding = null;
this.filterConfig = null;
}
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
String encoding = this.encoding;
if (encoding != null) {
request.setCharacterEncoding(encoding);
} else {
request.setCharacterEncoding("UTF-8");
}
chain.doFilter(request, response);// 传递过滤链
}
public void init(FilterConfig config) throws ServletException {
System.out.println("过滤器初始化!");
this.filterConfig = config;
this.encoding = filterConfig.getInitParameter("encoding");// 获取传递过来的初使化编码
}
}
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<display-name></display-name>
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>com.cqcet.filter.EncodeFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>FORWARD</dispatcher>
<dispatcher>REQUEST</dispatcher>
</filter-mapping>
</web-app>
分享到:
相关推荐
本文将深入探讨"字符编码过滤器"、"J2EE字符编码"、"字符编码转换"以及"POST字符转换"这些关键知识点,并结合提供的文件"encoding-filter.jar"和"使用方法.txt"来解释它们的应用。 首先,字符编码是计算机存储和...
在实际项目中,我们可能需要编写一些测试用例来验证字符编码过滤器的效果,比如包含特殊字符的表单提交,或者不同编码的URL请求等。 6. **最佳实践** - 为确保整个应用的一致性,建议在所有的HTTP响应中都明确指定...
本文将详细讲解如何通过设置字符编码过滤器(`SetCharacterEncodingFilter`)来解决这一问题,同时深入理解字符编码的原理以及在实际应用中的配置方法。 字符编码是计算机处理文本的一种方式,它将字符与数字对应...
因此,编码过滤器的目的是确保所有的输入和输出都使用一致的字符编码。 JavaWeb中的Filter接口是实现编码过滤的关键。Filter是Servlet API的一部分,可以拦截HTTP请求和响应,进行预处理和后处理。在创建编码过滤器...
jsp 中的字符过滤器,屏蔽网页中或JFreeChart中的乱码问题
### 解决字符编码的过滤器知识点详解 #### 一、字符编码基础概念 在深入了解如何通过Struts2框架中的Servlet过滤器解决字符编码问题之前,我们先简要回顾一下字符编码的基本概念。字符编码是将计算机内部二进制...
由于不同的字符集编码可能导致数据乱码,编码过滤器的职责就是统一这些编码,防止因编码不一致产生的问题。 在Java Web环境中,过滤器(Filter)是Servlet规范的一部分,它允许开发者在请求到达目标Servlet或JSP...
总结,SSH框架下的中文乱码问题主要通过自定义过滤器解决,设置合适的请求和响应的字符编码。同时,对于不同的数据提交方式,如表单和JS,需要采取相应的解决方案。在实际开发中,确保整个数据传输过程中的字符编码...
Java过滤器是Java Web开发中的一个重要概念,它主要用于在HTTP...通过研究这个项目,开发者可以学习到如何在实际项目中应用过滤器,以及处理字符编码问题,这对于任何涉及用户输入和输出的Java Web应用都是至关重要的。
过滤器代码--解决jsp中的字符乱码问题,可以让你不在为字符的乱码担心。
本篇将详细讲解标题和描述中提到的四个有用的过滤器:防止浏览器缓存的过滤器、用户登录检测过滤器、字符编码过滤器以及资源保护过滤器。 1. **防止浏览器缓存的过滤器** 浏览器默认会缓存静态资源以提高加载速度...
在Java Web开发中,我们经常会遇到GET请求...总的来说,理解HTTP协议、Servlet Filter的工作原理以及字符编码的概念,是解决GET请求乱码问题的关键。同时,熟练运用这些知识能帮助我们构建更加健壮和国际化的Web应用。
在这个例子中,过滤器被用来设置请求和响应的字符编码。 4. **解决字符乱码** 要解决字符乱码,我们可以在过滤器中设置HttpServletRequest的`setCharacterEncoding()`方法,指定请求的编码方式,例如设置为UTF-8。...
Java字符过滤器,也称为字符编码转换器,是Java编程中处理字符编码问题的重要工具。在处理文本数据时,尤其是在网络传输或者读取不同编码格式的文件时,可能会遇到字符乱码的问题。Java过滤器就是为了解决这些问题,...
为了解决这个问题,我们可以创建一个字符编码过滤器,将请求和响应的编码统一设置为UTF-8。 ```java public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws ...
4. **使用过滤器**:在Web应用的过滤器链中添加一个字符编码过滤器,例如`CharacterEncodingFilter`,在请求进入CXF之前将其转换为UTF-8。这样,即使客户端未指定正确的编码,也可以确保数据在进入CXF之前被正确转换...
以下是一个简单的字符编码过滤器的实现: ```java public class CharacterEncodingFilter implements Filter { @Override public void doFilter(ServletRequest request, ServletResponse response, ...
下面是一个简单的字符编码过滤器实现: ```java public class EncodingFilter implements Filter { private String encoding = null; @Override public void init(FilterConfig filterConfig) throws ...