`
ben_hu
  • 浏览: 93980 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

Struts使用filter解决中文乱码问题

    博客分类:
  • Java
阅读更多
一.在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 request, ServletResponse response,    
            FilterChain filterChain) throws IOException, ServletException {    
        // TODO Auto-generated method stub    
        if (this.bEnable) {    
            try {      
                request.setCharacterEncoding(this.sEncodingName);    
                response.setContentType("text/html;charset=" + this.sEncodingName);    
                response.setCharacterEncoding(this.sEncodingName);    
                filterChain.doFilter(request, response);    
   
            } catch (Exception e) {    
                logger.info("出错了");    
            }    
            // session.close();    
        } else {    
            filterChain.doFilter(request, response);    
        }    
    }    
   
    public void init(FilterConfig filterConfig) throws ServletException {    
        // TODO Auto-generated method stub    
        this.sysFilter = filterConfig;    
        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;    
        }    
    }      
} 


注:本文转载http://kenshinlk.iteye.com/blog/59101
分享到:
评论

相关推荐

    struts中文乱码问题解决详细步骤

    解决这个问题通常涉及到编码设置的调整,下面将详细介绍两种方法来解决Struts中的中文乱码问题。 **方法一:配置Filter** 1. **添加过滤器**:首先,我们需要在Web应用的`web.xml`文件中添加一个`...

    struts 2. 5.2解决中文乱码

    通过以上步骤,一般可以解决Struts 2.5.2框架下的中文乱码问题。但请注意,每个项目可能有不同的配置和需求,因此在实际应用中,还需要根据具体情况进行调试和调整。 在`myStruts`这个压缩包中,可能包含了示例代码...

    struts2的中文乱码问题解决

    ### Struts2中文乱码问题解决方案 在使用Struts2框架进行Web开发的过程中,中文乱码问题是一个常见的挑战。这不仅影响用户体验,还可能导致数据不一致等问题。为了解决这一问题,我们需要理解其背后的原理,并采取...

    struts 中文乱码问题解决

    本文将深入探讨Struts框架中中文乱码的问题,并提供一系列有效的解决方案。 ### Struts框架简介 Struts是一个开源的MVC(Model-View-Controller)框架,主要用于简化Java Web应用程序的开发。它基于Servlet和JSP...

    struts1.2 解决中文乱码

    ### Struts 1.2 中文乱码问题详解与解决方案 #### 一、问题背景及原因分析 在 Web 应用开发过程中,特别是在使用 Java 的 Struts 1.2 框架时,中文乱码问题是开发者经常遇到的一个难题。这不仅影响用户体验,还会...

    struts下的汉字乱码问题

    总结来说,解决Struts下的汉字乱码问题,需要从页面、过滤器、服务器配置和Struts核心Servlet等多方面进行设置,确保在整个请求生命周期中,中文字符始终以正确的编码进行处理。这不仅涉及了前端的展示,还涉及到...

    Struts2Action处理中文乱码

    这行代码告诉Struts2框架在处理请求和响应时使用GBK编码,从而解决可能出现的中文乱码问题。不过,需要注意的是,如果你的项目使用的是UTF-8编码,你应该将`value`的值改为`UTF-8`。 方法二:编写自定义过滤器 ...

    解决struts2.1.6+spring+hibernate 中文乱码

    对于使用Struts2.1.6、Spring以及Hibernate这三个框架组合的项目而言,解决中文乱码问题尤为重要。本文将详细介绍如何通过配置`struts.properties`文件与`web.xml`中的过滤器来解决中文乱码问题。 #### 一、Struts2...

    struts2中文乱码问题

    如果上述方法仍然无法解决问题,可以尝试使用自定义的过滤器来强制设置请求和响应的字符编码。例如,可以通过Spring的`CharacterEncodingFilter`来进行设置: ```xml &lt;filter&gt; &lt;filter-name&gt;encodingFilter&lt;/...

    J2EE中Struts中四种解决中文乱码问题的方法

    ### J2EE中Struts框架下解决中文乱码问题的四种方法 在Java Web开发过程中,尤其是使用Struts...以上四种方法均能够有效解决Struts框架下的中文乱码问题,可以根据项目的实际情况选择最适合的一种或多种方法结合使用。

    eclipse struts 中文乱码问题图解

    在开发Java Web应用程序时,Eclipse和Struts框架的组合可能会遇到中文乱码的问题,这主要涉及三个方面:页面乱码、参数乱码以及国际化乱码。以下是对这些乱码问题的详细解答: 1. 页面乱码: 当网页编码设置为非...

    Struts框架下Ajax发送中文乱码问题的解决

    通过以上步骤,我们应该能够有效地避免在Struts框架下使用Ajax时出现的中文乱码问题。当然,实际情况可能更为复杂,例如涉及Tomcat服务器或其他中间件的配置,都需要一一排查并适配。对于开发和调试过程中遇到的具体...

    struts之中文乱码问题

    Struts是一个非常流行的Java Web应用程序框架,用于构建和管理MVC(模型-视图-控制...如果你的项目中仍然存在乱码问题,建议参考提供的“Struts中文乱码解决方案.doc”文档,它可能包含了更详细的排查步骤和解决方案。

    Struts2乱码终极解决办法

    本文将详细介绍如何彻底解决Struts2中的乱码问题,并提供实际可行的解决方案。 #### 二、乱码产生的原因 在Struts2框架中,中文乱码主要由以下几个方面的原因造成: 1. **请求编码问题**:客户端发送请求时未指定...

    JSP struts2 url传参中文乱码解决办法.docx

    在开发Java Web应用程序时,尤其是使用Struts2框架与JSP进行交互时,可能会遇到URL传参中文乱码的问题。这个问题通常涉及到字符编码的设置,包括客户端请求编码、服务器接收编码以及应用程序内部处理编码的统一。...

    struts2中文乱码解决Demo

    本DEMO是为了解决Struts2在处理中文输入时可能出现的乱码问题,确保系统能够正确地接收和显示中文字符。 首先,我们要理解乱码产生的原因。在Web应用中,数据的传输通常涉及多种编码方式,如HTTP请求的默认编码通常...

    struts2.1.6解决乱码 补充

    ### Struts2.1.6解决乱码问题详解 在Web开发中,字符编码问题一直是个头疼的问题,尤其是在处理中文等多字节字符时。Struts2作为一个流行的Java Web框架,同样面临着这样的挑战。本文将深入探讨如何在Struts2.1.6...

    struts validator框架以及filter 乱码

    Struts Validator框架是...同时,通过使用Filter处理请求编码,可以有效地解决乱码问题,确保Web应用的国际化体验。在`Strutsvalidator`压缩包文件中,你应该能够找到相关的示例代码,帮助你更好地理解和应用这些概念。

    Struts的乱码问题

    在Web开发过程中,尤其是使用Java Web框架如Struts进行项目开发时,经常遇到的一个问题是中文字符的乱码问题。这个问题主要体现在中文字符在Web页面上的显示不正确,或是通过表单提交的数据在服务器端无法正确识别...

    struts解决乱码问题

    在使用Struts框架进行Web开发时,经常会遇到一个让人头疼的问题——中文乱码。特别是在Tomcat服务器环境下,如何有效地解决这一问题,确保中文字符能够正常显示与传递,是许多开发者都需要面对的挑战。本文将通过...

Global site tag (gtag.js) - Google Analytics