1. Action类
Actions respond to requests. 它收到browser用户请求(这个请求包含一些列信息),并最终返回一个ActionForward对象名为success作为output view. That output view will be a plain old JSP.
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
public class UserRegistrationAction extends Action
{
public ActionForward execute(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws Exception {
return mapping.findForward("success");
}
}
2. Action类是一个中间连接器
Actions are the glue between the Model and View.
简单的说,过程就是:
user request à Actions à [business logic] à response
问题是 用户请求如何提交到指定的Action?
Action在执行完业务逻辑后该返回什么地方?
这一系列的业务其实是由configuration file 配置文件完成的.
WEB-INF/web.xml 还有 WEB-INF/struts-config.xml
l web.xml :
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
...
<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
这段关于servlet的配置文件在web容器启动的时候就被载入, 它制定了所有在browser中以.do结尾的servlets都要经由org.apache.struts.action.ActionServlet 来处理。而ActionServlet类加载的时候必须遵循初始参数中的配置文件,即 struts-config.xml
l Struts-config.xml :
<action path="/userRegistration"
type="strutsTutorial.UserRegistrationAction">
<forward name="success" path="/regSuccess.jsp"/>
</action>
The Struts ActionServlet will invoke our action based on the path attribute of the above action mapping. The ActionServlet will handle all requests that end in *.do.
The ActionMapping that gets passed to the execute method of the Action handler is the object representation of the action mapping in the Struts config file.
Web.xml中的<servlet-name>action</servlet-name> 与
Struts-config.xml中的 <action path> 相互影射.
<action type> 则表示该request将被提交到哪个Action类来处理,而forward则表示Action类返回的那个ActionForward对象的逻辑名称,path则是对应该logic name的physical file.
所以这个基本的流程就是:
浏览器发出request (abc.do),经由web.xml控制,转到struts-config.xml中找寻与该请求 abc.do 相对应的Action处理类,并将配置文件中有关该请求的设置作为一个对象(ActionMapping)传递给Action类,最后Action类根据ActionMapping中的信息返回一个指定的位置.
- 大小: 27.9 KB
分享到:
相关推荐
1. **Struts 1.3 框架概述** - Struts 1.3是Struts 1.x系列的最后一个主要版本,它引入了一些新特性,如增强的异常处理、国际化支持和更强大的标签库。 - 该框架的核心组件包括ActionForm、Action、ActionServlet...
1. **Action类和ActionForm类**:在Struts1.3中,Action类是核心控制器,负责接收用户请求并调用相应的业务逻辑。ActionForm类则用于封装请求参数,它在Action之间传递数据,实现了模型层与视图层之间的解耦。 2. *...
### Struts2框架概述 #### 一、Struts2的历史背景与起源 Struts2作为一款备受关注的企业级Web开发框架,在Java Web开发领域占据着举足轻重的地位。尽管Struts2声称自身是一个全新的框架,但从其发展历程来看,这种...
### 手动整合Struts1.3 + Hibernate3.2 + Spring2.5 #### 一、概述 本文档旨在详细介绍如何手动整合Struts 1.3、Hibernate 3.2 和 Spring 2.5框架,实现一个典型的MVC架构应用。通过这种方式,可以将业务逻辑、...
Struts框架概述** Struts 1.3是Apache软件基金会开发的开源框架,它为Java开发者提供了一个结构化的Web应用程序开发平台。Struts将业务逻辑、控制流程和视图分离,使得开发者能够更高效地组织代码,并提高了代码的...
#### 二、Struts2框架技术概述 **2.1 Struts1和Struts2的对比** Struts1与Struts2的主要区别在于: - **请求处理机制**:Struts1使用ActionForm作为请求的载体,而Struts2则采用拦截器机制。 - **配置方式**:...
### Struts2框架概述 #### 1.1 什么是Struts2框架? **Struts2框架** 是一个基于MVC(Model-View-Controller)架构的开源Java Web应用程序框架,它简化了Java Web应用程序的开发过程。Struts2提供了一种简洁而强大...
第1章 Struts 2概述1 1.1 MVC思想概述2 1.1.1 Web技术的发展2 1.1.2 Model 1和Model 24 1.1.3 MVC思想及其优势6 1.1.4 常用的MVC框架7 1.2 Struts 2的起源和背景8 1.2.1 Struts 1简介及存在的问题9 ...
《Struts1.x入门与提高系列教程 [Java参考文档].Struts1.3.chm》这份文档全面覆盖了Struts1的基础和高级主题。它可能包含了以下关键知识点: 1. **Struts1概述**:介绍Struts1的基本架构,包括控制器Servlet...
#### 一、Struts2框架概述 ##### 1.1 Struts2简介 Struts2是一个基于MVC(Model-View-Controller)设计模式的Web应用框架,用于简化Java Web应用程序的开发过程。与传统的Java Web开发相比,Struts2提供了更为简洁...
##### 1.1 Struts2框架概述 Struts2是一个基于MVC(Model-View-Controller)模式的开源Java Web应用框架,它提供了强大的功能来帮助开发者构建灵活、可扩展的Web应用程序。Struts2的核心优势在于它能够简化Web应用...
**1.3 Struts与Web框架** - **1.3.1 Struts** - Struts 是一个基于MVC架构的开源Java Web框架,它使用Servlet和JSP技术来构建应用程序。Struts 提供了一个强大的框架结构,使得开发者能够更容易地管理和维护复杂的...
1. **整合目标**:本文档的目标是将 Struts2.x、Spring3.x、Hibernate4.x 与 DWR、jquery2.x 和 easyUI1.3.x 进行集成,以构建一个功能齐全且高效的 Web 开发环境。 2. **jQuery 版本选择**:为了兼容性和性能考虑...
6. **Interceptor**:拦截器是Struts1.3引入的一个重要概念,它允许在Action执行前后插入自定义逻辑,例如登录检查、事务管理等,增强了框架的扩展性。 7. **Struts配置文件**:struts-config.xml是Struts的核心...
拦截器是Struts2框架的核心组件之一,用于实现特定的功能,如输入验证、日志记录等。Struts2提供了一系列默认的拦截器,并允许用户自定义拦截器。 **3.3 ActionMapper** `ActionMapper`负责将HTTP请求映射到对应的...
Struts2是Java Web开发中的一款经典MVC框架,它结合了Struct1和WebWork的优点,为开发者提供了更高效和灵活的控制层解决方案。在学习Struts2时,首先需要理解MVC(Model-View-Controller)设计模式,这是一种将业务...
- **与Web App的关系**:Struts是构建在Servlet和JSP技术之上的,它作为控制器负责接收用户的请求,并根据配置文件(struts-config.xml)转发到相应的模型处理逻辑。 - **体系结构**:主要包括ActionServlet、...
本文主要讲述如何使用 Spring、Struts1.3、Hibernate3 构建一个 SSH 框架,通过这篇文章,读者可以快速搭建一个 SSH 框架,并了解 Spring、Hibernate 的结合方式。 一、SSH 框架概述 SSH 框架是指 Spring、Struts...
#### 一、Struts框架概述 - **Struts框架**:一种基于Java的Web应用框架,采用MVC(Model-View-Controller)设计模式,旨在通过分离业务逻辑、用户界面和控制逻辑来简化Web应用的开发。Struts框架因其高度模块化、...