1.什么是Struts2?
Struts这个名字来源于在建筑和旧式飞机中使用的支持金属架。
Struts是第一个实现了Web层MVC架构的开源框架。
2.Struts 2的由来
Struts 2是一个基于J2EE平台的MVC框架,它主要是采用Servlet和JSP技术来实现的。
3.MVC模式
MVC是一种设计模式,最早是由Xerox(施乐)公司在20世纪80年代提出的。随后,它成为了一种著名的用户界 面设计架构,如下所示。
4.MVC设计模式
MVC英文全称为Model-View-Controller,即把一个应用程序的输入层、业务处理层、控制流程层按照View、 Model、Controller的方式实现了分离,分别承担不同的任务。MVC的含义如下:
M – Model(模型)– 封装应用程序状态、处理业务逻辑、通知视图更新
V – View(视图) – 向控制器发送用户请求、显示模型状态、接收来自模型的更新
C – Controllor(控制器) – 映射用户请求,调用业务代码(M),返回数据到视图(V)
MVC的目的:
将模型(业务逻辑)和视图(页面展示)分离
MVC模式体现了分层设计的思想,它有以下几点好处:
(1)从视图方面来说:由于多种视图可共享一个后台模型,这就为实现多种用户界面提供了便利。
(2)从模型方面来说:由于其实现与界面独立,因此模型只需提供接口供上层调用,很好地体现了面向对象设计的信息封装和隐藏的原则。
(3)从控制器方面来说:控制器作为介于视图和后台模型间的控制组件,可更好的维护程序流程,选择业务模型,选择用户视图,使程序的调用规则更加清晰,很大程度上优化了系统结构。
5.Java Web的实现模型
在Java Web领域存在着两种经典模型,也可以称为实现模式,分别是Model 1和Model 2。
Struts这个名字来源于在建筑和旧式飞机中使用的支持金属架。
Struts是第一个实现了Web层MVC架构的开源框架。
2.Struts 2的由来
Struts 2是Struts的下一代产品,是在Struts和WebWork的技术基础上进行了合并的全新的Struts 2框架,如下所示。
Struts 2是一个基于J2EE平台的MVC框架,它主要是采用Servlet和JSP技术来实现的。
3.MVC模式
MVC是一种设计模式,最早是由Xerox(施乐)公司在20世纪80年代提出的。随后,它成为了一种著名的用户界 面设计架构,如下所示。
4.MVC设计模式
MVC英文全称为Model-View-Controller,即把一个应用程序的输入层、业务处理层、控制流程层按照View、 Model、Controller的方式实现了分离,分别承担不同的任务。MVC的含义如下:
M – Model(模型)– 封装应用程序状态、处理业务逻辑、通知视图更新
V – View(视图) – 向控制器发送用户请求、显示模型状态、接收来自模型的更新
C – Controllor(控制器) – 映射用户请求,调用业务代码(M),返回数据到视图(V)
MVC的目的:
将模型(业务逻辑)和视图(页面展示)分离
MVC模式体现了分层设计的思想,它有以下几点好处:
(1)从视图方面来说:由于多种视图可共享一个后台模型,这就为实现多种用户界面提供了便利。
(2)从模型方面来说:由于其实现与界面独立,因此模型只需提供接口供上层调用,很好地体现了面向对象设计的信息封装和隐藏的原则。
(3)从控制器方面来说:控制器作为介于视图和后台模型间的控制组件,可更好的维护程序流程,选择业务模型,选择用户视图,使程序的调用规则更加清晰,很大程度上优化了系统结构。
5.Java Web的实现模型
在Java Web领域存在着两种经典模型,也可以称为实现模式,分别是Model 1和Model 2。
这两种模型都是由Sun公司提出的,它们都可被看作是MVC的具体实现形式。比较一下这两种模型。
Model 1 = JSP + JavaBean
在这种模型中,JSP充当着控制器与视图的双重角色,JavaBean扮演了模型的解色。
JSP直接调用后台模型进行业务处理,同时,再由JSP返回用户结果界面。
这种模型对于一些小型的程序还是可以满足的,但对于大规模的系统就显得有些力不从心。
因为倘若将JSP既当成控制器又当成视图,那么,在页面代码里就会有大量的HTML标记与Java语言的混合物,这对程序的维护是非常不利的,而且对于页面开发人员和程序设计人员的分工将造成太多约束,无法使它们并行工作,开发效率也就被大大降低。所以Sun公司在Model 1基础上开发出了Model 2模型。
Model 2= JSP + Servlet + JavaBean
在Model 2模型中,JSP既作为视图又作为控制器的局面不再存在了,而是使用了Servlet作为控制器,JSP则单纯的只负责显示逻辑(还包括很少量的Java代码)。
Model 2清楚的划分了页面显示、控制、模型这三层结构,很好的实现了MVC设计思想。因此,对于大型系统的设计与开发Model 2提供了很大的帮助。
下面是它的优势: