转载请注明出处,作者:罗立树
在之前的文章里我分享了阅读源代码的方法,假如没有阅读过该文章的同学可以参考这里源代码阅读技巧。大家觉得感兴趣的话,也可以加入我的群:74914061,进行技术交流。在今后的系列文章,我将会由浅入深给大家讲解Struts2的设计思想,设计原理,和具体实现。
在深入讲解之前,大家可以阅读一下以下的资料:
java servlet2.3标准 (了解Servlet标准,方便对框架的了解)
OGNL表达式语言 (学习struts2 web界面编程和valuestack有用)
MVC框架模式 (总体了解设计原理)
JAVA反射机制 (了解struts2中的method是怎么执行的)
HTTP协议 (对HTTP了解,从而了解请求的过程,以及Servlet标准的实现机制)
java ThreadLocal (ActionContext有用)
命令模式 (Action的设计原则)
针对上面的知识,大家假如觉得比较陌生的话,就需要多些深入了解一下了,要不然就像我在源代码阅读的经验介绍中那样,即使看到源代码,也会感觉理解的不够深入,不够透彻。
在接下来的课程中,我们针对几个疑问点进行自问和解答
1.struts2是什么?有没有类似的框架?
struts2是一套MVC的web开发框架,它的前身是Webwork。和struts2类似的框架有struts1(目前已经停止维护),还有SpringMVC、阿里巴巴的webx、Tapestry、JSF等等。关于他们之间的优点和缺点不在这里详细描述,我们会在后面的系列文章中再专门去比较。
2.框架的作用是什么?
在传统的开发模式上(譬如基于Servlet和jsp的开发中,开发起来比较麻烦,页面和代码逻辑之间参数的传递,页面和代码逻辑之间的数据交互转向都比较困难),代码组织比较零散,存在着大量的重复代码,而且缺乏规范,导致在维护和理解分析上需要投入更多的时间。框架的作用就是将一系列通用的逻辑,进行抽象和封装,从而降低使用的难度和复杂度,复用更多的共用逻辑,使得形成一定的标准和规范。从而降低了软件开发的成本,并使得整体架构更加清晰明确,易于扩展维护。
为此struts2对整体结构进行了抽象,可以参考以下的架构图:
Struts2的总体架构图
Struts2中的关键域对象有:
1.Action 负责web层逻辑处理的对象(参考command模式)
2.Interceptor struts2拦截器,在action执行的前后做一些处理的工作。
3.Result 在action或者Interceptor的执行中,假如需要返回结果,终止本次请求行为,则可以返回一个Result,Result是对结果的抽象,有不同的实现,这是对展示层的一个封装。
其它的关键类会在下一节中进行更加详细的描述。
在本系列的文章中,我们会按照下列的顺序来讲解:
1.一次请求的执行过程从Filter到Action的返回的过程,源码跟踪
2.xwork技术原理源码解读
3.struts2的插件机制源码解读
相关推荐
STRUTS2源码解析STRUTS2源码解析STRUTS2源码解析STRUTS2源码解析STRUTS2源码解析STRUTS2源码解析STRUTS2源码解析STRUTS2源码解析STRUTS2源码解析STRUTS2源码解析STRUTS2源码解析STRUTS2源码解析STRUTS2源码解析...
struts2源码解析.pdf
Struts1源码解析,有你看源码的步骤,你只要按照一步一步的来看,救没有问题了,struts就是一个菜
struts2 源码分析struts2 源码分析struts2 源码分析struts2 源码分析struts2 源码分析struts2 源码分析
struts2源码详细解析51CTO下载-struts2源代码分析(个人觉得非常经典)
Strut2源码分析,写的非常好, 喜欢Struts2的人可以看一看
struts2 源码绝对完整,struts2 源码绝对完整。
struts2源码解析[归纳].pdf
Struts2源码阅读
struts2源码 struts2案例 struts2使用包
struts2源码struts2源码struts2源码
Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。Struts 2是Struts的下一代产品. 文档中对于代码进行重要部分...
struts2源码分析总结 是我在网上找到的关于源码讲解比较深刻的资料总结。对于研究struts2源码很有价值。
Struts2源码,让你一眼看穿struts2的原理和运行机制
struts源码struts源码struts源码struts源码
下载的Struts2源代码文件是一个名叫struts-2.1.0-src.zip的压缩包,里面的目录和文件非常多,读者可以定位到struts-2.1.0-src"struts-2.0.10"src"core"src"main"java目录下查看Struts2的源文件
java最新struts2源码,刚才github官网下载:https://github.com/apache/struts
已struts 2 源码 导入eclipse工程
Struts2的源码库,以及对Struts2的源码解析文档,非常经典
struts2.1.8 struts2源码 Eclipse关联这个可以