struts原理之xwork
2016-04-20 20:37
239 查看
![](file:///C:\Users\Administrator\AppData\Roaming\Tencent\Users\2452493660\QQ\WinTemp\RichOle\`ERV)0AR{6H[Y%77EK21ZLM.png)
表面上mvc三者是三个相互独立的职责模块,三者各司其职有效的对web层开发的各种元素进行解耦,此时,他们是三个完全静态的元素,分而治之的思想。
但程序运转起来,模块与模块之间的交互关系是由数据来承担。
Model层实际上是一个动态元素,他作为数据载体流转于程序之间,并在不同的程序模块中表现处不同的行为状态,这就是形成数据流的本质。数据的存储和传输,扮演载体的角色。
1.使用Map实现数据载体
2.使用FormBean作为数据载体
3.使用POJO作为数据的载体:强类型,不依赖于框架,可复用,可在一个页面映射多个POJO。
Controller层是MVC的核心控制器,四大职责:
负责请求数据的接收 request.getParameter("")或new 实体(属性);
业务逻辑的处理
响应数据的收集request.setAttribute("a",a);
响应流程的控制。控制流是数据流融入控制层之后形成的逻辑处理和程序跳转的结果。
控制层的核心职责是处理业务逻辑。
xwork框架中三个不同的体系结构:
1.核心分发器:dispatcher
2.xwork的控制流体系:ActionProxy,ActionInvocation,Interceptor,Action,Result。由 ActionProxy驱动。真正的请求响应的逻辑处理载体,控制着整个请求响应的执行过程。
3.xwork的数据流体系:ActionContext(囊括了xwork控制流体系的所有元素)、ValueStack(囊括了核心控制元素的Action)。xwork的数据流元素在不同的控制流执行元素之间形成了有层次的分享。
相关文章推荐
- 阿里巴巴2016java研发笔试附加题
- 【JUC】JDK1.8源码分析之CountDownLatch(五)
- SpringMvc中自动注入失败原因
- Java 爬虫入门(网易云音乐和知乎实例)
- JAVA继承关系中构造方法的调用次序详解
- Myeclipse下web项目图片加载不出来
- 六大设计原则(3)接口隔离原则
- java--web.xml中url-pattern的映射规则
- java并发-ThreadLocal
- java--Servlet操作注意事项
- 在MyEclipse中上传项目到github的步骤(很详细)
- java设计模式之简单工厂模式
- Java 字节流与字符流的区别
- 单例模式的创建(Java版)
- 获取java方法签名
- Java反射实现接口
- Java NIO写事件处理技巧
- Spring框架AOP的配置和实现的简单例子
- struts2中的Action接收表单传递过来的参数
- java synchronized详解