`
- 浏览:
118334 次
- 性别:
- 来自:
广东.佛山.南海
-
一.在web.xml中配置
xml 代码
- <filter>
- <filter-name>EncodingFilter</filter-name>
- <filter-class>com.kenshin.base.SysFilter</filter-class>
- <init-param>
- <param-name>encoding</param-name>
- <param-value>UTF-8</param-value>
- </init-param>
- <init-param>
- <param-name>enable</param-name>
- <param-value>true</param-value>
- </init-param>
- </filter>
- <filter-mapping>
- <filter-name>EncodingFilter</filter-name>
- <url-pattern>*.do</url-pattern>
- </filter-mapping>
二.filter类代码
java 代码
- package com.kenshin.base;
-
- 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 org.apache.commons.logging.Log;
- import org.apache.commons.logging.LogFactory;
- import org.hibernate.Session;
- import org.hibernate.SessionFactory;
- import org.hibernate.Transaction;
-
- public class SysFilter implements Filter {
- protected String sEncodingName;
-
- protected FilterConfig sysFilter;
-
- protected boolean bEnable;
-
- protected Log logger = LogFactory.getLog(SysFilter.class);
-
- public void destroy() {
-
- }
-
- public void doFilter(ServletRequest arg0, ServletResponse arg1,
- FilterChain arg2) throws IOException, ServletException {
-
- if (this.bEnable) {
- try {
- arg0.setCharacterEncoding(this.sEncodingName);
- arg1.setContentType("text/html;charset=" + this.sEncodingName);
- arg1.setCharacterEncoding(this.sEncodingName);
- arg2.doFilter(arg0, arg1);
-
- } catch (Exception e) {
- logger.info("出错了");
- }
-
- } else {
- arg2.doFilter(arg0, arg1);
- }
- }
-
- public void init(FilterConfig arg0) throws ServletException {
-
- this.sysFilter = arg0;
- this.loadFilterSetting();
- }
-
- private void loadFilterSetting() {
- this.sEncodingName = this.sysFilter.getInitParameter("encoding");
- logger.info("encoding:" + sEncodingName);
- String sEnable = this.sysFilter.getInitParameter("enable");
- if (sEnable != null && sEnable.equalsIgnoreCase("true")) {
- this.bEnable = true;
- } else {
- this.bEnable = false;
- }
- }
-
-
- }
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
总结来说,使用Filter解决中文乱码问题是一种有效的方法,通过在请求处理链的早期设定合适的字符编码,可以避免因为编码不一致而导致的乱码问题。`CharacterEncodingFilter`的实现及其在`web.xml`中的配置是实现这一...
在这个文档中,我们将深入探讨如何使用Filter解决中文乱码问题。 首先,我们需要创建一个自定义的Filter类,继承自`javax.servlet.Filter`接口,并实现其中的`init`和`doFilter`方法。`init`方法在Filter初始化时...
### 使用过滤器解决中文乱码问题 在Web开发过程中,经常遇到的一个问题是中文或其它非ASCII字符的乱码问题。这种现象通常出现在浏览器接收的数据与实际编码格式不匹配时。解决此类问题的一种常见方法是使用过滤器...
使用 Filter 来解决中文乱码问题 在上面的示例中,我们使用了 CharacterEncodingFilter 来解决中文乱码问题。这个 Filter 可以自动地将 POST 请求的字符编码设置为 UTF-8,从而解决中文乱码问题。 自定义 Filter ...
有些情况下,使用 ISO-8859-1 编码可以解决中文乱码问题。例如: `String s2 = new String(s1.getBytes("ISO-8859-1"), "GBK");` 3. 使用 Tomcat 的 CharacterEncodingFilter Tomcat 5.5 中文乱码的问题可以使用 ...
要使用jsp过滤器解决中文乱码问题,我们需要定义一个过滤器类,实现Filter接口。下面是一个简单的示例代码: ```java public class EncodingFilter implements Filter { @Override public void destroy() { // ...
解决这个问题的一种常见方法是使用Filter过滤器。以下是配置Filter过滤器处理JSP中文乱码的详细步骤: 1. **配置web.xml文件** 在项目的`web.xml`文件中,你需要添加一个Filter来定义处理乱码的逻辑。首先,声明一...
"拦截器解决中文乱码问题"这个主题,主要关注的是如何通过使用拦截器(Interceptor)这一技术手段来预防或解决乱码现象。拦截器是Spring MVC框架中的一个重要组件,它可以对HTTP请求进行预处理和后处理,从而在数据...
### jsp过滤器——解决中文乱码问题 #### 背景介绍 在Web应用开发过程中,特别是使用Java Server Pages (JSP)进行中文字符处理时,经常遇到的一个问题是中文字符显示为乱码。这主要是因为客户端与服务器端之间存在...
解决这个问题通常涉及到编码设置的调整,下面将详细介绍两种方法来解决Struts中的中文乱码问题。 **方法一:配置Filter** 1. **添加过滤器**:首先,我们需要在Web应用的`web.xml`文件中添加一个`...
虽然这个文件本身并不直接解决中文乱码问题,但其中的内容可以作为解决乱码问题的参考,因为它提供了Servlet API的详细指南,包括Filter的使用、HTTP请求和响应的处理等。 总结来说,处理中文乱码问题主要涉及到...
本文将详细探讨Java Web开发中解决中文乱码问题的策略,包括文件编码设置、页面编码控制、请求参数编码转换、过滤器应用以及GET请求特殊处理等。 #### 1. 文件编码设置 在Java Web项目中,确保所有文件(包括Java...
Tomcat 5.5 中文乱码问题可以通过修改配置文件和使用 Filter 来解决。例如,可以在 web.xml 文件中添加以下代码: ```xml <filter> <filter-name>Set Character Encoding</filter-name> <filter-class>filters....
本文将深入探讨Struts框架中中文乱码的问题,并提供一系列有效的解决方案。 ### Struts框架简介 Struts是一个开源的MVC(Model-View-Controller)框架,主要用于简化Java Web应用程序的开发。它基于Servlet和JSP...
### Servlet及JSP解决中文乱码问题 #### 一、引言 在Web开发中,中文乱码问题一直是困扰开发者的一大难题。特别是在使用Java技术栈(如Servlet与JSP)进行开发时,如果处理不当,很容易出现中文字符显示乱码的情况...
Struts1通常通过在`web.xml`中配置Filter来解决中文乱码问题,但在Struts2中,由于其内置的过滤器(如`FilterDispatcher`)会先于自定义Filter执行,因此自定义Filter往往无法生效。 #### 解决方案:使用拦截器 ...
jsp中文乱码问题解决 jsp中文乱码问题是jsp开发中常见的问题...jsp中文乱码问题可以通过修改jsp页面的编码方式、修改Tomcat的server.xml文件、编写Filter、使用jdk的native2ascii工具、配置数据库连接池等方法来解决。
解决 Tomcat 下中文乱码问题 在本文中,我们将讨论如何解决 Tomcat 下中文乱码问题。该问题是由于 Tomcat 默认的字符编码设置不正确引起的。我们将通过设置 Connector 元素的 URIEncoding 属性和在过滤器中设置字符...
在解决servlet中文乱码问题1中,可以使用Filter来解决乱码问题。Filter可以在请求和响应之间进行处理,以确保字符编码的正确性。下面是一个简单的Filter实现: ```java public class EncodingFilter extends ...