struts各大框架组件详解
2012-11-12 21:25
459 查看
(1)ActionServlet
ActionServlet配置我们需要在web.xml中声明ActionServlet,并且将它配置成启动时进行加载。
ActionServlet是Struts的Controller,基本功能:
A、截获用户的Http请求
B、把这个请求映射到相应的Action类,如果这是此类收到的第一个请求,将初始化实例并缓存
C、创建或发现一个ActionForm bean实例(看配置文件是否定义),然后将请求过程移植到bean.
D、调用Action实例的execute方法,并将ActioFormbean,Action Mapping对象,request和response对象传给它
E、execute方法会返回一个ActionForward对象,连接到相应的jsp页面
(2)ActionForm
介绍:ActionForm是一个JavaBean,它捕获通过HTTP请求传送的参数
ActionForm针对每个HTML表单中的字段具有一个对应的属性
ActionServlet匹配请求中的参数和ActionForm中的属性,并调用ActionForm中的setter方法,将参数传入ActionForm
要求:
必须扩展自org.apache.struts.action.ActionForm
如果想要在组装前初始化属性,必须实现reset方法
特殊:动态ActionForm,DynaActionForm的配置
作用:
作为表单字段收集器
作为类型转换器,所有从表单提交到后台的数据均为字符串类型,自动转换类型
作为传输对象(vo,dto)
(3)Action
介绍:Action是一个Java类,需继承org.apache.struts.action.Action类
ActionServlet将会组装ActionForm,并将它传递给Action
Action 主要职责:
a.校验输入数据
b.调用业务逻辑方法,执行业务逻辑操作
c.检测处理异常
d.根据逻辑进行转向操作
可重入性:
J2EE是一个多线程的环境,服务器针对每个请求启动一个线程来处理。所以有可能会有多个线程同时访问一个Servlet实例的情况
在Struts里面也是一样的,有可能会有多个线程同时访问一个Action实例的情况
所以必须保证Action类中的方法具有“可重入性”,即不能在Action的方法里改变实例变量的值
(4)ActionMapping
ActionMapping的属性path
forward
type
name
scope
validate
input
parameter
unknown
scope属性:在Action映射配置中,Scope属性可以取值为:request或session
Scope属性表示:Struts框架在将ActionForm对象传送到Action之前,会将ActionForm对象保存的位置
(5)ActionForward
作用:Action操作成功了,然后呢?ActionForward会回传给ActionServlet
ActionForward中的路径,可以是一个带参数的URI
ActionForward的属性
name
path
redirect
className
转发(forward)与重定向(redirect)
全局ActionForward与局部ActionForward
动态ActionForward
(6)Struts Taglib
易于使用,能代替直接在页面上写JAVA脚本便于重用
<%@ taglib prefix="bean" uri="http://struts.apache.org/tags-bean"%>
<%@ taglib prefix="logic" uri="http://struts.apache.org/tags-logic" %>
<%@ taglib prefix="html" uri="http://struts.apache.org/tags-html" %>
常用的taglib:
<bean:write>
<logic:empty>和<logic:notEmpty>
<logic:present>和<logic:notPresent>
<logic:iterator>
相关文章推荐
- Spring+Struts+Hibernate框架详解
- S2SH框架集成详解(Struts 2.3.16 + Spring 3.2.6 + Hibernate 3.6.10)
- Struts 框架之构建 Model组件
- 详解PHP的Yii框架中组件行为的属性注入和方法注入
- UE4移动组件详解(一)——移动框架与实现原理
- 在Struts中使用Validator验证框架详解
- RequestProcessor类详解 (Struts组件)
- Struts 2框架中Action组件总结
- [Tapestry]Struts终结者?对比组件框架技术tapestry(转)
- java框架swing基础组件详解
- Struts_validator验证框架开发详解
- Struts:validator验证框架详解(一)
- 使用struts相关组件上传附件(org.apache.commons.fileupload.*)上传附件--详解
- Struts:validator验证框架详解(二)
- 第四课 Struts的控制器组件详解
- 在Struts中使用Validator验证框架详解
- 详解PHP的Yii框架中组件行为的属性注入和方法注入
- Java定时框架Quartz实例详解与定时任务的Mongodb、Mysql持久化实现(一)Quartz组件
- 第二章struts核心组件详解
- Struts:Validator验证框架详解(三)