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负责业务逻辑

转载于:https://www.cnblogs.com/liu-Gray/p/4921604.html

Struts(一)struts2.2概述与MVC模式深度剖析相关推荐

  1. 【JavaScript设计模式张容铭】抽象工厂模式深度剖析——关于继承与constructor属性的深度理解

    写在前面 最近阅读了张容铭的<JavaScript设计模式>一书,阅读到抽象工厂模式一节时对书上的代码产生了疑问,但同时在解决疑问的过程中,对继承又产生了新的理解. 我仔细查阅了很多文章, ...

  2. 物流园区运营模式深度剖析

    当前,国内各大中小城市建设物流园区如火如荼,但物流园建设好以后,该怎么运营?政府和企业在其中又扮演什么样的角色?老傅师从国内物流学界大咖张锦教授,或多或少受些影响,后来又是国内第一批物流师执照者,虽说 ...

  3. java struts2 mvc_struts2的MVC模式

    MVC是一种架构型模式,它本身并不引入新的功能,只是用来指导我们改善应用程序的架构,使得应用的模型和视图相分离,从而得到更好的开发和维护效率. 在MVC模式中,应用程序被划分成了模型(Model).视 ...

  4. 基于MVC模式Struts框架研究

    不做web开发多年了, 可偶尔去面试的时候, 还是会问道Struts实现mvc的细节. 很多东西都模糊了. 在网上找了下, 觉得这篇不错, 记下来防止以后用的着. ' 分布式企业应用软件结构复杂.涉及 ...

  5. struts2学习笔记(一) MVC模式

    在学习struts2之前首先了解一下MVC模式. MVC是一个设计模式,它强制性的使应用程序的输入.处理和输出分开.使用MVC应用程序被分成三个核心部件:模型.视图.控制器.它们各自处理自己的任务.分 ...

  6. MVC模式 与 如何实现struts MVC模式

    -------- MVC (Model -- View -- Controller) ---------------- Model:模型表示业务逻辑和业务规则等,在MVC的三个部件中拥有最多的处理任务 ...

  7. MVC模式与如何实现struts MVC模式

    -------- MVC (Model -- View -- Controller) ----------------     Model:模型表示业务逻辑和业务规则等,在MVC的三个部件中拥有最多的 ...

  8. [导入]ASP.NET MVC框架开发系列课程(1):MVC模式与ASP.NET MVC框架概述.zip(8.80 MB)

    讲座内容: ASP.NET MVC框架是既ASP.NET WebForms后的又一种开发方式.它提供了一系列优秀特性,使ASP.NET开发人员拥有了另一个选择.本次课程将对MVC模式ASP.NET M ...

  9. MVC模式 在Java Web应用程序中的实现

    一.MVC简介 MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑.数据.界面显示分 ...

  10. 了解MVC模式与MVC框架

    MVC MVC的概念 模型(Model) 控制器(Controller) 视图(View) MVC工作流程 Java MVC框架 Struts1框架 Struts2框架 Spring MVC框架 JS ...

最新文章

  1. 加密货币支付卡公司与BCH达成合作
  2. 网络设备Web登录检测工具device-phamer
  3. js 对表格的动态操作(动态添加行,删除该行,在指定位置添加控件)
  4. 动态壁纸安卓_安卓 高清 动态 壁纸
  5. 去掉窗口_Flink 基础——窗口(Window)理论篇
  6. gateway网关_SpringCloud技术指南系列(十二)API网关之Gateway使用
  7. android搭建客户端,用Android搭建客户端 手机和服务器交互开发实例
  8. gogs可以自动化部署吗_效率提升利器:你还害怕自动化部署吗?
  9. 【CNN】 吴恩达课程中几种网络的比较
  10. 华悦网游器软件介绍及功能介绍
  11. OSDev——GCC交叉编译器
  12. syslog工具_INAV:一款专用的日志审查导航工具
  13. MYSQL 命令行大全
  14. 使用Java实现多个文件压缩打包
  15. html 文字自动转大写
  16. FREEIPA:ipa-server的部署使用
  17. 科技界、IT届的外号
  18. blender测量3d模型的尺寸
  19. View是什么,什么是View?
  20. 百练4083我爱北大 解析

热门文章

  1. 数据库SQL语句 | 快速上手 | 面试复习
  2. go bson转换成json_如何快速提升 Go 程序性能?
  3. 从Unix开源开发学习应对大型复杂项目开发
  4. HTML_简单JQ的AJAX响应式交互
  5. 详解,c/c++输入输出缓冲区,以及scanf回车的问题
  6. CYQ.Data 轻量数据层之路 框架如何应对数据库变化
  7. Android逆向系列之ARM语法篇
  8. windows和linux文件输 - ftp
  9. HardSoft-Viewer SQL
  10. 关于英文系统中的中文乱码的更改