`
wangzi6hao
  • 浏览: 213049 次
  • 性别: Icon_minigender_1
  • 来自: sdf
社区版块
存档分类
最新评论

java filter做字符串过滤 java处理乱码

    博客分类:
  • Java
阅读更多

2009-09-17 22:09

package com.custom.data.charvalidate;

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;

/**
* 这是一个字符串过滤的类,完成字符向UTF-8编码的转换. 需要在web.xml里加入如下代码 <filter> <filter-name>Set
* Character Encoding</filter-name>
* <filter-class>com.newsjsp.charvalidate.SetCharacterEncodingFilter</filter-class>
* </filter> <filter-mapping> <filter-name>Set Character Encoding</filter-name>
* <url-pattern>/*</url-pattern> </filter-mapping>
*
* @author wangzi6hao
*
*/
public class SetCharacterEncodingFilter implements Filter {

/*
* (non-Javadoc)
*
* @see javax.servlet.Filter#destroy()
*/
public void destroy() {
// TODO Auto-generated method stub

}

/*
* (non-Javadoc)
*
* @see javax.servlet.Filter#doFilter(javax.servlet.ServletRequest,
*      javax.servlet.ServletResponse, javax.servlet.FilterChain)
*/

protected FilterConfig filterConfig = null;
public String characterEncoding = null;
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {

request.setCharacterEncoding(characterEncoding);
response.setCharacterEncoding(characterEncoding);
// 传递控制到下一个过滤器
chain.doFilter(request, response);
}

/*
* (non-Javadoc)
*
* @see javax.servlet.Filter#init(javax.servlet.FilterConfig)
*/
public void init(FilterConfig filterConfig) throws ServletException {
this.filterConfig = filterConfig;
characterEncoding = filterConfig.getInitParameter("characterEncoding");
}

}

 web.xml

<filter>
<filter-name>SetCharacterEncodingFilter</filter-name>
<filter-class>
com.custom.data.charvalidate.SetCharacterEncodingFilter
</filter-class>
<init-param>
<param-name>characterEncoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>

<filter-mapping>
<filter-name>SetCharacterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
 
分享到:
评论

相关推荐

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

    这通常涉及到正则表达式和字符串操作,例如去除特殊字符,限制输入长度,或确保输入符合特定格式。使用`List`作为过滤字符库是一种常见的方法,将需要过滤的字符存储在列表中,然后在处理请求时检查每个字符是否在...

    解决JSP字符串乱码的过滤器

    总的来说,解决JSP字符串乱码的过滤器是通过Java Servlet Filter机制,在请求到达Servlet之前和响应离开Servlet之后,对字符编码进行统一管理,从而保证数据传输的正确性。通过配置和编写Filter,我们可以确保整个...

    Java关于中文乱码问题的多种解决方法

    总的来说,解决Java中的中文乱码问题需要从多方面考虑,包括文件操作、网络通信、数据库交互、IDE配置、字符串转换等多个环节。理解字符集的概念,合理设置编码,是避免乱码的关键。在实际开发中,养成良好的编码...

    java处理中文乱码

    总结来说,处理Java中的中文乱码主要涉及字符编码的转换、请求处理器的定制以及过滤器的使用。在实际开发中,根据项目需求和所使用的框架,可以选择合适的方式来确保中文数据的正确显示和处理。同时,为了减少乱码...

    java 中文乱码 处理

    以上介绍了几种常见的Java中文乱码处理方法,包括请求参数编码转换、字符串转义与反转义、前端JavaScript处理以及配置J2EE应用程序。每种方法都有其适用场景,开发者可以根据实际情况选择合适的方法来解决乱码问题。...

    Java乱码问题解决

    ### Java乱码问题详解与解决方案 #### 一、问题背景 在Java开发过程中,尤其是在处理中文字符时,经常遇到字符编码不一致导致的乱码问题。由于Java默认使用Unicode编码,而在中国大陆地区,常见的字符集为GB2312...

    java中处理乱码的文件

    以上介绍了两种在Java中处理乱码问题的方法:一种是对单个字符串进行编码转换;另一种是通过过滤器统一设置请求的字符编码。这两种方法各有优缺点,可以根据实际应用场景选择合适的方法来解决乱码问题。对于较为简单...

    java中文过滤器

    这个`SetCharacterEncodingFilter`通常会在请求到达Servlet之前设置请求的字符编码,以确保后续处理的字符串都是按照预设的编码(如UTF-8)进行解析,避免乱码现象。 以下是一个简单的`SetCharacterEncodingFilter`...

    java字符编码监听器

    不同的编码格式(如ASCII、GBK、UTF-8等)可能对同一字符串有不同的表示,如果不统一编码标准,可能导致信息传输时的混乱。特别是在多语言环境下,UTF-8编码由于其广泛支持各种字符集,通常被推荐为首选编码。 2. *...

    java项目jsp中乱码问题解决

    此外,如果直接在JSP中处理中文字符串,可以通过转换编码来避免乱码,例如将ISO8859-1编码的字符串转换为UTF-8编码。 其次,当从表单提交的数据中获取中文时,可能会遇到乱码问题。因为Tomcat默认以ISO8859-1处理...

    java+jsp+mysql开发 web项目处理中文乱码问题

    可以使用 Java 的 String 类的 getBytes() 方法将字符串转换为 byte 数组,然后使用新的编码方式重新构建字符串。例如: ```java String str = "中文字符串"; byte[] bytes = str.getBytes("utf-8"); String newStr...

    java乱码解决方案

    标题:Java乱码解决方案 描述与标签:在Java开发中,字符编码问题常常导致文本显示为乱码,尤其是在处理国际化或多语言环境时更为常见。乱码解决方案主要涉及正确设置字符编码,确保数据在输入、处理和输出过程中的...

    JAVA开发中各种中文乱码问题

    useUnicode=true&characterEncoding=GBK`这样的连接字符串。 综上所述,解决Java开发中的中文乱码问题需要关注各个层次的编码设置,包括客户端、服务器端、HTTP请求方式、数据库等。通过合理的配置和编码转换,可以...

    java中文乱码处理.pdf

    这时,我们可以使用过滤器(Filter)来处理POST请求的乱码。过滤器在请求到达目标Servlet之前执行,可以用来设置请求的字符编码。下面是一个简单的SetCharacterEncodingFilter示例: ```java public class ...

    监听器访问计数过滤非法字符

    过滤器(Filter)是Servlet API的一部分,允许我们在请求被Servlet处理之前和响应发送给客户端之后对数据进行拦截和修改。在"过滤器实现页面自动编码"的情况下,我们通常会使用CharacterEncodingFilter来确保所有的...

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

    - 数据库连接字符串中指定合适的字符集,如`jdbc:mysql://localhost:3306/mydb?useUnicode=true&characterEncoding=utf8`。 - 文件读写时,使用`InputStreamReader`和`OutputStreamWriter`指定编码。 6. **总结**...

    Java脏字处理

    在不同的上下文中,"脏字"可能有不同的含义,但在这里我们将主要讨论Java中与字符串处理和过滤敏感词汇相关的知识点。 1. **字符串操作**: Java中的`String`类提供了丰富的API来处理字符串,如`indexOf()`用于...

    java中文乱码分析

    以字符串“京AS8095”为例: - 客户端进行第一次`URL encode`:`%E4%BA%ACAS8095` - 客户端进行第二次`URL encode`:`%25E4%25BA%25ACAS8095`,其中`%`被替换为`%25` 服务器端Tomcat使用ISO-8859-1自动解码,将`%...

    java过滤器和验证码

    1. 生成验证码:生成随机字符串,并将其保存在服务器端的session中。 2. 显示验证码:将生成的验证码以图像形式显示在网页上。 3. 用户输入验证:用户输入验证码后,服务器端比较输入值与session中保存的值,若一致...

    java字符编码错误整理大全

    在使用JDBC连接数据库时,确保连接字符串中的字符集参数设置正确,以便正确处理数据。 - **Oracle数据库**:设置连接字符串中的字符集为GBK。 - **SQL Server 2000**:对于nvarchar/nchar类型字段,使用Unicode...

Global site tag (gtag.js) - Google Analytics