struts2 Action学习
来源:互联网 发布:js test方法 编辑:程序博客网 时间:2024/06/07 03:54
动作类的概念及作用
Struts2中的动作类就是普通的Java类
创建各种动作是Struts2应用程序开发工作中最重要的任务
动作类需遵守的规则
1. 遵守JavaBeans属性名的命名规则
2. 必须有一个不带任何参数的构造器(默认的构造器也行!!!!)
3. 每个动作类至少有一个方法供Struts在执行这个动作时调用(通常默认为execute方法)
4. 同一个动作类可以包含多个方法(动作)
5. 编写动作类可以不考虑线程安全的问题
Action的要求
1.把数据拿到(组装页面数据)
2.调用逻辑
3.返回到哪个页面(控制页面跳转)
Struts2的Action并不带有任何Web容器相关的对象,Action又是如何工作在Web容器中的呢?
1. Struts2为Action的执行,准备了完整的数据环境和执行环境
数据环境成为Action获取Web容器的基础
2. 控制器Filter,就会针对每个请求,创建出一个代码的执行环境
优点:易测试,丰富的执行层次,易管理
在Struts2的Action周围,为Action进行服务的一些重要元素
ActionContext - 数据环境 需要为每个Action准备一个数据环境来获取与Web容器相关的对象
Interceptor - 丰富的层次结构 使用类似责任链的设计模式对Action的职责进行分类并串联起来
Result - 执行结果 执行结果被抽象成一个层次,可以定义任意类型的View层的结构
ActionProxy - 执行环境 需要一个类似调度器的产品将上面的元素整合起来
ActionInvocation - 调度者 ActionProxy接口中有一个比较特殊的变量:ActionInvocation,它就是Action的调用者
负责一系列元素的调度,解读Struts2源码的一个重要入手点
实现Action接口
public abstract String execute()
throws Exception;
public static final String SUCCESS = "success";
public static final String NONE = "none";
public static final String ERROR = "error";
public static final String INPUT = "input";
public static final String LOGIN = "login";
第一种方法 ( 继承SessionAware类来取得session,然后用invalidate()方法清理 )
public class ExitAction extends ActionSupport implements SessionAware{
@Override
public String execute() throws Exception {
HttpServletRequest request = ServletActionContext.getRequest();
HttpSession session1 = request.getSession();
session1.invalidate();
return super.execute();
}
public void setSession(Map arg0) {
}
在调用动作时,Struts先检查动作是否实现了Aware接口,如果是,将先调用动作对应的set方法传递相应对象
ServletContextAware 在动作类内部访问ServletContext对象
ServletRequestAware 在动作类内部访问HttpServletRequest对象
ServletResponseAware 在动作类内部访问HttpServletResponse对象
- struts2 Action学习
- Struts2学习 Action
- Struts2学习之Action
- Struts2 Action学习
- struts2的action的学习
- 实现Action---struts2学习笔记
- 配置Action---struts2学习笔记
- struts2学习笔记 配置action
- Struts2基础学习(1)-Action
- Struts2 学习笔记03 Action
- Struts2框架学习(二) Action
- Struts2框架学习(二) Action
- Struts2学习笔记之action
- struts2学习——Action
- Struts2框架学习(二) Action
- Struts2学习自定义Action 方法
- struts2中Action的学习
- Struts2框架学习(二) Action
- 我为何爱读代码?你为何也应当爱?
- RCP介绍
- 使用 CXF 做 webservice 简单例子
- 利用CXF的wsdl2java来建立Web Service. (转载)
- 写面经-考研之后
- struts2 Action学习
- adobe flex builder 3破解文件和说明
- Windows 下安装项目管理工具 Redmine
- [sensor] android的sensor架构
- supernova---天文类
- 哈哈,我的技术Blog终于开张了!
- DLL
- be a man(1)
- aptana1.5破解文件