解决: 推荐使用 Filter.
①. 使用 Filter.
public class EncodeFilter implements Filter {
@Override
public void destroy() {
// TODO Auto-generated method stub
}
@Override
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
// TODO Auto-generated method stub
//从浏览器中的到的二进制数据用utf-8编码
request.setCharacterEncoding("UTF-8");
chain.doFilter(request, response);
}
@Override
public void init(FilterConfig arg0) throws ServletException {
// TODO Auto-generated method stub
}
}
在web.xml文件中配置filter:
<filter>
<filter-name>encoding</filter-name>
<filter-class>cn.itcase.strutsdemo.user.domain.EncodeFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>encoding</filter-name>
<servlet-name>action</servlet-name>
</filter-mapping>
②. 提供自定义的 ActionServlet
public class MyActionServlet extends ActionServlet {
private static final long serialVersionUID = 5165092497954010055L;
@Override
protected void process(HttpServletRequest request,
HttpServletResponse response) throws IOException, ServletException {
request.setCharacterEncoding("UTF-8");
super.process(request, response);
}
}
web.xml 文件中
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
改为
<servlet-class>cn.itcast.struts.servlet.MyActionServlet</servlet-class>
③. 提供自定义的 RequestProcessor
public class MyRequestProcessor extends RequestProcessor {
@Override
public void process(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
request.setCharacterEncoding("UTF-8");
super.process(request, response);
}
}
在 struts-config.xml 文件中加入如下内容:
<controller processorClass="cn.itcast.struts.servlet.MyRequestProcessor"/>
分享到:
相关推荐
本文将深入探讨Struts框架中中文乱码的问题,并提供一系列有效的解决方案。 ### Struts框架简介 Struts是一个开源的MVC(Model-View-Controller)框架,主要用于简化Java Web应用程序的开发。它基于Servlet和JSP...
三、请求参数中的中文乱码问题解决方案: 对于用户提交的含有汉字的请求数据导致的乱码,可以通过自定义 RequestProcessor 来解决。首先,创建一个新的类 `SelfRequestProcessor` 继承自 Struts 内置的 `...
升级到2.1.8.1或更高版本可以修复这个问题,因为官方已经改进了过滤器处理字符编码的方式。 2. **POST乱码问题**: POST请求的乱码通常发生在请求参数从客户端发送到服务器的过程中。尽管在Struts.xml中设置了字符...
这个问题的出现通常是由于客户端和服务器端的字符集不一致导致的。本文将深入探讨如何解决Struts框架下的中文乱码问题。 首先,我们来看一个具体的实例。在登录验证的例子中,原本只要用户名(username)和密码...
### Struts2中文乱码问题解决方案 在使用Struts2框架进行Web开发的过程中,中文乱码问题是一个常见的挑战。这不仅影响用户体验,还可能导致数据不一致等问题。为了解决这一问题,我们需要理解其背后的原理,并采取...
在开发基于Struts2框架的应用时,经常遇到的一个问题就是中文乱码。这不仅影响用户体验,还可能导致数据处理错误。本文将详细介绍如何彻底解决Struts2中的乱码问题,并提供实际可行的解决方案。 #### 二、乱码产生...
3. **JSP和Struts乱码解决方案** - **JSP**:在JSP页面中,可以使用`;charset=UTF-8" %>`来设置页面编码,或者在Java代码中使用`request.setCharacterEncoding("UTF-8")`来设定请求的字符编码。 - **Struts**:在...
### Struts 1.2 中文乱码问题详解与解决方案 #### 一、问题背景及原因分析 在 Web 应用开发过程中,特别是在使用 Java 的 Struts 1.2 框架时,中文乱码问题是开发者经常遇到的一个难题。这不仅影响用户体验,还会...
解决这个问题需要深入理解HTTP协议、Java I/O流以及Struts 2框架的配置。 首先,我们需要了解乱码产生的原因。在Web应用中,数据在网络传输过程中是以字节流的形式,而字符集的不同可能导致字节流在解码时出现问题...
本文将深入探讨一个关于Struts2在Internet Explorer(IE)浏览器中出现中文乱码的奇怪问题及其解决方案。 首先,中文乱码问题通常涉及到几个关键因素:数据库编码、开发文件编码和网页的Content-Type编码。在确保这...
在Web开发过程中,尤其是使用Java Web框架如Struts进行项目开发时,经常遇到的一个问题是中文字符的乱码问题。这个问题主要体现在中文字符在Web页面上的显示不正确,或是通过表单提交的数据在服务器端无法正确识别...
Struts是一个非常流行的Java Web应用程序框架,用于构建和管理MVC(模型-视图-控制...如果你的项目中仍然存在乱码问题,建议参考提供的“Struts中文乱码解决方案.doc”文档,它可能包含了更详细的排查步骤和解决方案。
### 解决方案:Struts2.0中的中文乱码解决方案 #### 1. 配置struts.properties文件 在Struts2.0中,可以通过修改`struts.properties`文件来指定整个应用的默认字符编码。关键的配置项是`struts.i18n.encoding`,将...
### Struts2中文乱码问题解决方案 在使用Struts2框架进行Web开发的过程中,中文乱码问题是一个常见的问题。这不仅影响用户体验,还可能导致数据处理错误。本文将详细介绍几种解决Struts2中文乱码问题的方法。 ####...
在使用Struts框架进行Web开发时,经常会遇到一个让人头疼的问题——中文乱码。特别是在Tomcat服务器环境下,如何有效地解决这一问题,确保中文字符能够正常显示与传递,是许多开发者都需要面对的挑战。本文将通过...
### Struts处理中文乱码问题总结 #### 一、引言 在使用Struts框架进行Web应用程序开发过程中,中文乱码问题是开发者经常会遇到的技术难题之一。这类问题虽然看似不起眼,但如果处理不当,则可能会影响到用户体验...
### Struts2中文乱码问题解析与解决方案 #### 一、引言 在Web开发过程中,尤其是使用Struts2框架时,中文字符的正确显示是一个常见的挑战。本篇文章将详细介绍Struts2中出现中文乱码的原因及解决方案,帮助开发者更...
以下是对这个问题的详细分析及解决方案: 首先,问题出现在文件列表的展示和下载链接的生成过程中。在Action中,`request.getRealPath()` 获取了服务器上文件的物理路径,然后遍历目录,将文件名添加到ArrayList中...
在处理文件下载时,Struts2提供了一套完整的解决方案,包括处理中文文件名的乱码问题。在标题提到的场景中,开发者可能遇到了在使用Myeclipse 6.5集成开发环境,JDK1.6和Tomcat 6.0服务器环境下,通过Struts2进行...
通过上述两种解决方案,我们可以有效解决Struts2资源文件在JSP页面中显示乱码的问题。虽然第一种方法可以达到目的,但其带来的维护不便使其不被推荐;相比之下,安装PropertiesEditor插件不仅操作简便,还能彻底解决...