struts2.2概述与MVC模式深度剖析
1.Struts2是由webwork与struts一起组成的。struts1与struts2完全不一样。(处理前段到服务器端的交互,也就是web端)
2.通过基于请求响应( Request-Response)模式的应用Framework, 基本上有如下几个表现逻辑结构组成。
– 控制器(Controller) ——控制整个Framework中各个组件的协调工作。
– 业务逻辑层(Business Logic) ——对Framework本身来说, 这里仅仅只是概念和几个提够服务的基础组件,
真正的实现与客户的业务逻辑接轨, 还需要开发人员在Framework上再次扩展。
– 数据逻辑层(Data Logic) ——绝大多数应用系统都需要涉及到数据交互,这一层次主要包括了数据逻辑
3.Struts有其自己的控制器( Controller), 同时整合了其他的一些技术去实现模型层( Model) 和视图层( View) 。 在模型层, Struts可以很容易的与数据访问技术相结合, 包括EJB,JDBC等。 在视图层,Struts能够与JSP表示层组件相结合。
4.Struts的概念和体系结构
Struts有一组相互协作的类、 Servlet以及Jsp TagLib组成。基于Struts构架的web应用程序基本上符合JSPModel2的设计标准,可以说是MVC设计模式的一种变化类型。根据上面对framework的描述,我们很容易理解为什么说Struts是一个web framework,而不仅仅是一些标记库的组合。
5.MVC是Model-View-Controller的简称, 即模型-视图-控制器。
MVC是一种设计模式, 它把应用程序分成三个核心模块:模型、 视图、 控制器, 它们各自处理自己的任务。
MVC结构图
MVC的处理过程
• 首先控制器接收用户的请求,并决定应该调用哪个模型来进行处理。
• 然后模型根据用户请求进行相应的业务逻辑处理,并返回数据。
• 最后控制器调用相应的视图格式化模型返回的数据,并通过视图呈现给用户。
MVC的优点
• 首先,最重要的一点是多个视图能共享一个模型。同一个模型可以被不同的视图重用,大大提高了代码的可重用性。
• 由于MVC的三个模块相互独立,改变其中一个不会影响其他两个,所以依据这种设计思想能构造良好的松耦合的构件。
• 此外,控制器提高了应用程序的灵活性和可配置性。控制器可以用来联接不同的模型和视图去完成用户的需求,这样控制器可以为构造应用程序提供强有力的手段。
MVC的适用范围
• 使用MVC需要精心的计划,由于它的内部原理比较复杂,所以你需要花费一些时间去理解它。将MVC运用到你的应用程序,会带来额外的工作量,增加应用的复杂性。
• 但对于开发存在大量用户界面,并且业务逻辑复杂的大型应用程序, MVC将会使你的软件在健壮性、代码重用和结构方面上一个新的台阶。尽管在最初构建MVC框架时会花费一定的工作量,但从长远角度看,它会大大提高后期软件开发的效率。
JSP的模型2
• JSP负责生成动态网页
• Servlet负责流程控制
• JavaBean负责业务逻辑