深入struts2.0(六)--ActionProxy类
1.1 ActionProxy接口以及实现
ActionProxy在struts框架中发挥着很关键的数据。
通过webwork和xwork交互关系图能够看出。它是action和xwork中间的一层。 正由于ActionProxy的存在导致Action调用更加简洁。
接下来我们一起研究下这个核心类。
1.1.1 ActionProxy接口方法
图 3.3.1 ActionProxy接口主要方法图
ActionConfig getConfig();该方法主要是获得创建ActionProxy类的action配置信息。getExecuteResult()方法就是推断运行后action后是否运行result. getInvocation()获得与ActionProxy相关联的ActionInvocation.
1.1.2 ActionProxy接口实现类
图 3.3.2 ActionProxy接口实现类图
依据命名就知道defaultActionProxy是默认的actionProxy代理。
对于MockActionProxy这个类笔者也不太明确。这个类在struts代码中也没实用。在API中也没有说明,依据字面意思。就是对ActionProxy一个简单实现。
1.1.3 DefaultActionProxy实现类
在dispatcher类中我们能够看到例如以下代码:
|
表示将由ActionProxy代理类来运行action,全部action的主要运行方法就是actionProxy中的execute.
|
图 3.3.3 ActionProxy接口execute方法
首先把InvocationContext设置到ActionContext上下文中。然后调用InvocationContext中的invoke方法运行。
深入struts2.0(六)--ActionProxy类的更多相关文章
- 深入struts2.0(五)--Dispatcher类
1.1.1 serviceAction方法 在上个Filter方法中我们会看到例如以下代码: this.execute.executeAction(request, response, m ...
- Struts2.0笔记二
Mvc与servlet 1.1 Servlet的优点 1. 是mvc的基础,其他的框架比如struts1,struts2,webwork都是从servlet基础上发展过来的.所以掌握servle ...
- struts2.0整合json
框架:struts2.0+hibernate2+spring 今天写代码时,需要用到json,我就直接加了两个jar包:json-lib-2.1-jdk15.jar,struts2-json-plug ...
- [转]初探Struts2.0
本文转自:http://blog.csdn.net/kgd1120/article/details/1667301 Struts作为MVC 2的Web框架,自推出以来不断受到开发者的追捧,得到用广泛的 ...
- Struts2实现Preparable接口和【struts2】继承ActionSupport类
Struts2实现Preparable接口 实现preparable接口,实现public void prepare() throws Exception 方法.当你访问某问action指定方法之前, ...
- (转)struts2.0配置文件、常量配置详解
一.配置: 在struts2中配置常量的方式有三种: 在struts.xml文件中配置 在web.xml文件中配置 在sturts.propreties文件中配置 1.之所以使用struts.prop ...
- struts2.0 struts.xml配置文件详解
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN&quo ...
- Struts2.0+Spring3+Hibernate3(SSH~Demo)
Struts2.0+Spring3+Hibernate3(SSH~Demo) 前言:整理一些集成框架,发现网上都是一些半成品,都是共享一部分出来(确实让人很纠结),这是整理了一份SSH的测试案例,完全 ...
- struts2.0中struts.xml配置文件详解
先来展示一个配置文件 <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration ...
随机推荐
- NIO之DatagramChannel
Java NIO中的DatagramChannel是一个能收发UDP包的通道.操作步骤: 1)打开 DatagramChannel 2)接收/发送数据 同样它也支持NIO的非阻塞模式操作,例如: pu ...
- linux文件系统调用(1)---mount
术语表: struct mount:挂载点 struct mountpoint:挂载点节点 struct vfsmount:挂载项 源文件系统:用户将要挂载的文件系统 目的文件系统:挂载源文件系统的文 ...
- Eclipse没有 web Project 选项的解决办法
装下插件即可.步骤如下: 选择 Help >Software Updates >Find and Install.这个选项会让您可以下载和安装 Web 工具,且无需转到 Web 站点. 选 ...
- 配置LANMP环境(2)-- 安装ifconfig命令与安装SecureCRT
一.安装ifconfig命令 yum whatprovides ifconfig yum install net-tools 安装这个命令就是为了查看虚拟机的ip地址,SecureCRT连接必须要ip ...
- php 常面试
问题:请用最简单的语言告诉我PHP是什么? 回答:PHP全称:Hypertext Preprocessor,是一种用来开发动态网站的服务器脚本语言. 问题:什么是MVC? 回答:MVC由Model(模 ...
- php 遍历静态html成文章列表
准备 代码 <?php $root=__DIR__; //全站目录 function my($dir){ static $item_arr=array(); $a=scandir($dir); ...
- python 爬虫2 Urllib库的高级用法
1.设置Headers 有些网站不会同意程序直接用上面的方式进行访问,如果识别有问题,那么站点根本不会响应,所以为了完全模拟浏览器的工作,我们需要设置一些Headers 的属性. import url ...
- goldengate原理与简单配置
goldengate的原理:http://www.ipresst.com/works/52bc44c42954a7d73b0003f2 简单单向配置: 在oracle官网下载下载 GoldenGate ...
- Linux命令之split
split用来将大文件分割成小文件.有时文件越来越大,传送这些文件时,首先将其分割可能更容易. 使用vi或其他工具诸如sort时,如果文件对于工作缓冲区太大,也会存在一些问题. 因此有时没有选择余地, ...
- 设计模式之备忘录模式(Memento)
备忘录模式(Memento) 在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态.这样以后就可将该对象恢复到原先保存的状态. Originator(发起人):负责创建一个备忘录 ...