利用ActionServlet来处理中文编码问题
import javax.servlet.http.*;
import org.apache.struts.action.ActionServlet;
public class ActionServletAndSetcode extends ActionServlet {
protected String encoding = "";
// org.apache.struts.action.ActionServlet
public ActionServletAndSetcode() {
this.encoding = "gbk"; // ok
}
protected void process(HttpServletRequest request, HttpServletResponse response) throws java.io.IOException, javax.servlet.ServletException {
request.setCharacterEncoding(encoding);// "MS950");
super.process(request, response);
}
}
web.xml中的配置
<!-- Standard Action Servlet Configuration (with debugging) -->
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>
<!--org.apache.struts.action.ActionServlet-->
ActionServletAndSetcode
</servlet-class>
<init-param>
<param-name>application</param-name>
<param-value>application</param-value>
</init-param>
<init-param>
<param-name>config</param-name>
<param-value>
/WEB-INF/struts-config-comm.xml
<!-- 这里可以配多个struts-config文件的
,/WEB-INF/struts-config-base.xml
,/WEB-INF/struts-config-hr.xml
,/WEB-INF/struts-config-oa.xml
,/WEB-INF/struts-config-sale.xml
,/WEB-INF/struts-config-train.xml
,/WEB-INF/struts-config-statistic.xml
,/WEB-INF/struts-config-fn.xml
,/WEB-INF/struts-config-talent.xml
,/WEB-INF/struts-config-depot.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>2</load-on-startup>
</servlet>
<!-- Standard Action Servlet Mapping -->
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
分享到:
相关推荐
Struts 1.x 是Apache软件基金会Jakarta项目的一部分,是一个基于MVC(模型-视图-控制器)设计模式的Web应用框架。它使用Java Servlet和JavaServer Pages技术实现,旨在简化基于Java EE的Web应用程序的开发。 本教程...
- **字符集过滤器**:为了确保请求的编码正确,应在`web.xml`中配置字符集过滤器。 #### 二、Spring2.x与Hibernate3.x的整合 **2.1 Hibernate配置文件** Hibernate的配置文件(`hibernate.cfg.xml`)用于配置...
此外,还需要处理可能出现的乱码问题,例如在过滤器或ActionForm中设置字符编码。 总之,Struts 1.x教程旨在帮助初学者理解Struts框架的工作原理和使用方式,通过mystruts案例,学习者可以逐步掌握从数据库交互到...
SSH整合是Java Web开发中的一个经典组合,由Spring、Struts1.x和Hibernate三个框架构成。这个整合提供了全面的企业级应用解决方案,涵盖了控制层、业务层和服务数据持久化层的管理。下面将详细讲解SSH整合的主要知识...
4. **过滤器处理**:可以创建一个自定义过滤器,用于在请求进入Struts2之前统一转换编码。在`web.xml`中配置这个过滤器,并在过滤器类中实现转换逻辑: ```xml <filter-name>CharacterEncodingFilter ...
**Struts 2.0**是Struts框架的升级版本,旨在克服Struts 1.x系列中的一些局限性,如过度编码、单元测试难度大等问题。它保留了原框架的优点,如MVC架构支持、丰富的标签库和开源特性,并在此基础上进行了改进,以...
**原理介绍**:通过自定义过滤器,在请求到达处理组件之前对请求进行编码设置,从而解决乱码问题。这种方式灵活性高,可全局应用于整个应用。 **具体实现**: 1. **创建过滤器类**:编写一个实现了`javax.servlet....
除了配置过滤器,我们还可以在Action类的execute方法中,或者更具体地说是在处理请求参数的方法中,手动设置请求的编码。例如: ```java request.setCharacterEncoding("UTF-8"); ``` 此外,对于Struts2框架,我们...
在 `web.xml` 文件中,我们定义了一个名为 `struts2` 的过滤器,过滤器类为 `org.apache.struts2.dispatcher.FilterDispatcher`,并映射所有 URL 到这个过滤器,以便 Struts 2.0 能够处理所有的 HTTP 请求。`struts....
本篇文章将详细探讨SSH框架中的中文乱码问题,以及如何通过实现自定义过滤器(Filter)来解决这一问题。 首先,我们要理解乱码的产生原因。在HTTP请求中,数据编码格式不一致是导致乱码的主要因素。例如,客户端...
ServletResponse response, FilterChain chain)`: 这是过滤器的主要工作方法,通过`FilterChain`将请求传递给下一个过滤器或目标Servlet,同时在此过程中可以对请求和响应进行处理,如设置字符编码。 - `destroy()...
此外,解决中文编码问题也是必要的,通常需要设置字符编码过滤器,如`CharacterEncodingFilter`,确保在请求和响应中正确处理中文字符。 2. Hibernate的使用 Hibernate是一个对象关系映射(ORM)框架,简化了数据库...
本实例将详细介绍如何在Struts配置文件中处理中英文编码。 首先,我们需要了解编码问题的基本概念。字符编码决定了计算机如何存储、显示和处理文本。在Java中,默认的字符编码是UTF-8,这是一种能够表示世界上大...
相比于 Struts1,Struts2 在架构上做了很大的改进,采用了更加灵活的过滤器结构。 - **Struts2 的启动过程**:Struts2 的启动主要通过 `FilterDispatcher` 实现,在早期版本中是 `org.apache.struts2.dispatcher....
- **配置web.xml**:设置过滤器`FilterDispatcher`,确保所有请求都通过Struts 2.0处理。 - **创建struts.xml**:这是Struts 2.0的核心配置文件,用于定义动作、结果页面和拦截器等。 5. **struts.xml配置**: -...
Struts2.x的拦截器和过滤器功能是关键,它们用于处理请求、过滤非法输入并管理应用的流程。同时,解决中文编码问题也是必备技能,确保系统能正确处理中文字符。 2. **Hibernate的使用** Hibernate是一个强大的ORM...
这个过滤器的类在2.1.8版本中已经从`org.apache.struts2.dispatcher.FilterDispatcher`更改为`org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter`,这是Struts2的一个显著变化。 `struts.xml...
- 在`web.xml`中配置Struts2的过滤器,该过滤器负责拦截所有请求并转发给Struts2进行处理。 - 创建`struts.xml`配置文件来定义Action、拦截器等。 3. **整合Spring与Struts2**:通过设置`struts.objectFactory`...
最后,配置Struts2的过滤器StrutsPrepareAndExecuteFilter,用于处理所有的HTTP请求。 然后,在Struts的配置文件Struts.xml中,需要指定对象工厂为Spring,这样Struts2会使用Spring来创建和管理Action实例。配置...