`

struts 表单中文乱码问题

阅读更多

 

今天被这个问题给搞晕了,因为之前遇到这个问题很容易解决了,今天试了很多方法度没有解决,网上一般是用filter和扩展struts的ActionServlet的process方法来解决的,我用了一下,但是为了便于以后查看,就记一下:

方法一:filter

 

 

package cn.edu.hbmy.com.thesis.web;
 
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 EncodingFilter implements Filter {
private String encoding;
public void destroy() {
}
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain filterChain) throws IOException, ServletException {
request.setCharacterEncoding(encoding);
filterChain.doFilter(request, response);
}
public void init(FilterConfig config) throws ServletException {
encoding = config.getInitParameter("encoding");
}
}

 
web.xml:

 

<filter>
   <filter-name>Encodeing</filter-name>
   <filter-class>cn.edu.hbmy.com.thesis.web.EncodingFilter</filter-class>
  <init-param>
  <param-name>encoding</param-name>
  <param-value>UTF-8</param-value>
  </init-param>
   </filter>
 
<filter-mapping>
<filter-name>Encodeing</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
 

 

方法2:扩展struts的ActionServlet的process方法

 

 

 

public class MyActionServlet extends ActionServlet {
private static final long serialVersionUID = 1L;
 
 
@Override
protected void process(HttpServletRequest request,
HttpServletResponse response) throws IOException, ServletException {
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
super.process(request, response);
}
}

  web.xml:

 

<servlet>     
    <servlet-name>action</servlet-name>
    <servlet-class>cn.edu.hbmy.com.thesis.web.MyActionServlet</servlet-class>
    <init-param>  
      <param-name>config</param-name>
      <param-value>/WEB-INF/struts-config.xml</param-value>
    </init-param>
    <init-param>
      <param-name>debug</param-name>
      <param-value>2</param-value>  
    </init-param>  
    <init-param>
      <param-name>detail</param-name>
      <param-value>2</param-value>
    </init-param>
    <load-on-startup>0</load-on-startup>
  </servlet>
  

 

分享到:
评论

相关推荐

    Struts2中文乱码问题最终解决方案

    但在Struts 2.1.6版本中,这个配置对POST请求的中文乱码问题无效,这是一个已知的bug。升级到2.1.8.1或更高版本可以修复这个问题,因为官方已经改进了过滤器处理字符编码的方式。 2. **POST乱码问题**: POST请求...

    struts2中文乱码问题

    ### Struts2中文乱码问题解决方案 在使用Struts2框架进行Web开发的过程中,中文乱码问题是一个常见的问题。这不仅影响用户体验,还可能导致数据处理错误。本文将详细介绍几种解决Struts2中文乱码问题的方法。 ####...

    struts之中文乱码问题

    在处理中文字符时,Struts可能会遇到乱码问题,这主要是由于字符编码不一致或未正确配置导致的。下面我们将深入探讨这个问题,并提供解决策略。 **乱码产生的原因** 1. **请求编码不一致**:当用户通过表单提交...

    struts处理中文乱码问题总结

    ### Struts处理中文乱码问题总结 #### 一、引言 在使用Struts框架进行Web应用程序开发过程中,中文乱码问题是开发者经常会遇到的技术难题之一。这类问题虽然看似不起眼,但如果处理不当,则可能会影响到用户体验...

    eclipse struts 中文乱码问题图解

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

    struts 中文乱码问题解决

    在IT领域,特别是Web开发中,Struts框架作为Java Web应用的一个重要组成部分,其在处理中文字符时常常遇到乱码问题。这个问题不仅影响了用户体验,也增加了开发者的调试难度。本文将深入探讨Struts框架中中文乱码的...

    struts2的中文乱码问题解决

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

    struts2中文乱码

    ### Struts2中文乱码问题解析与解决方案 #### 一、引言 在Web开发过程中,尤其是使用Struts2框架时,中文字符的正确显示是一个常见的挑战。本篇文章将详细介绍Struts2中出现中文乱码的原因及解决方案,帮助开发者更...

    Struts2.0解决中文乱码

    在IT领域,特别是Web开发中,处理中文...通过在`struts.properties`文件中配置`struts.i18n.encoding`,并注意表单提交和超链接传递参数的处理,可以有效避免中文乱码问题,提升Web应用的用户体验和数据处理的准确性。

    struts2中文乱码解决Demo

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

    struts1.2 解决中文乱码

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

    Struts中文乱码解决方案

    这里我们将详细探讨如何解决 Struts 中的中文乱码问题。 一、在 Action 类中的解决方法: 当在 Action 类中遇到中文乱码问题时,可以使用以下代码进行转换。创建一个静态工具类,如 `Chinese`,并定义一个 `...

    Struts上传,已经处理好乱码问题

    总结,Struts框架处理文件上传涉及的主要步骤包括配置Struts配置文件、创建上传表单类、编写处理文件上传的Action以及处理可能出现的乱码问题。通过正确设置字符编码,可以确保文件名在上传过程中保持正确,避免出现...

    Struts的乱码问题

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

    struts 2.1.6 中文乱码处理

    本篇文章将详细介绍如何在Struts 2.1.6版本中有效地解决中文乱码问题,并通过实际测试验证了方法的有效性,无需升级至更高的2.18版本。 #### 解决方案:自定义编码过滤器 为了解决中文乱码问题,我们可以通过...

    中文乱码问题

    中文乱码问题是 web 开发中经常遇到的问题,特别是在使用 JSP、Servlet、Struts 2 等技术时。乱码问题的出现主要是由于字符编码不一致所致。以下是解决中文乱码问题的知识点: JSP 文件的中文乱码问题 在 JSP 文件...

    struts2.1.6解决乱码 补充

    在Struts2中,表单提交的数据默认使用ISO-8859-1编码,而浏览器默认发送的是UTF-8编码,这就会导致中文显示为乱码。 #### 二、解决方案:使用CharacterEncodingFilter 为了解决这个问题,一种常见的做法是通过过滤...

    struts解决乱码问题

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

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

    ### J2EE中Struts框架下解决中文乱码问题的四种方法 在Java Web开发过程中,尤其是使用Struts框架时,经常会遇到中文乱码的问题。本文将详细介绍在J2EE环境下,利用Struts框架解决中文乱码问题的四种实用方法。 ##...

Global site tag (gtag.js) - Google Analytics