struts2总结一:MVC设计模式
设计模式
一.什么是编程里面的设计模式?
1.设计模式是一套被反复使用,多数人知晓的,代码设计经验的总结。
2.模式必须是典型问题(不是个别问题)的解决方案。
二.设计模式的作用
1.解决一类问题的成功经验。
2.为了可重用代码,让代码更加容易被他人理解,保证代码可靠性。
ModelI模式
ModelI模式是将业务逻辑与页面显示融合在一起的设计模式,开发形式有两种,第一种是以纯Jsp文件形式进行开发,第二种是使用Jsp+javabean的开发形式。
1.纯JSP开发方式:在jsp文件中直接嵌入java脚本。
优点:对于小型项目来说简单方便。
缺点:
a.在jsp页面中多种语言代码混合,增加了开发难度.
b.不易于系统后期维护和拓展。
c.系统出现运行异常时不易于代码调试。
2.jsp+javabean的开发方式:使用javabean封装业务处理及数据库操作,使用jsp调用javabean实现内容显示。
优点:
a.页面代码相对简洁
b.业务处理和数据库操作封装到javabean中,提高了代码的重用性。
c.通过对javabean的修改,提高了系统的拓展性。
d.便于系统调试。
缺点:
a.业务逻辑依然由jsp来完成。
b.jsp页面依然需要嵌入java代码。
那么如何解决ModelI模式的弊端?引入Model2模式。生活中的解决方案
ModelII模式(简单的MVC模式):
引用Model II,在业务逻辑层和视图层之间加一个servlet(控制层),该层主要负责数据转发和页面转发,即解决如下问题:
1、从哪个页面接受数据?
2、调用哪个业务逻辑方法处理该数据?
3、处理完以后,如何把处理结果发送到哪个页面?
Model 1就是jsp+javabean是纯JSP;
Model 11 是jsp+servlet+javabean模式,简单的MVC 。
MVC:Model+View+Controller
模型(Model):接收视图请求数据,进行业务处理,返回处理结果。
视图(View):交互界面,负责数据采集和处理用户的请求。
控制器(Controller):接收用户端请求,将模型和视图联系在一起,实现用户请求的功能。是起到承上启下的作用。
MVC模式的优点:
1.各个模型层各司其职,互不干涉。
2.有利于开发中的分工。
3.有利于组件的重用。
MVC模式的缺点:
1.系统结构和实现复杂。
2.视图和控制器过于紧密。
3.不太适合小型应用程序,适合大型应用程序。
常见的MVC框架
Struts2、Struts 1、JSF、Spring MVC、Webwork2等
struts2总结一:MVC设计模式的更多相关文章
- 基于MVC设计模式的Web应用框架:struts2的简单搭建(一)
Struts2的初步介绍 Struts2是apache项目下的一个web 框架,普遍应用于阿里巴巴.京东等互联网.政府.企业门户网站.虽然之前存在了很大的安全漏洞,在2013年让苹果.中国移动.中国联 ...
- Struts2是一个基于MVC设计模式的Web应用框架
Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互. Struts ...
- 谈谈JAVA工程狮面试中经常遇到的面试题目------什么是MVC设计模式
作为一名java工程狮,大家肯定经历过很多面试,但每次几乎都会被问到什么是MVC设计模式,你是怎么理解MVC的类似这样的一系列关于MVC的问题. [出现频率] [关键考点] MVC的含义 MVC的结构 ...
- 第13天 JSTL标签、MVC设计模式、BeanUtils工具类
第13天 JSTL标签.MVC设计模式.BeanUtils工具类 目录 1. JSTL的核心标签库使用必须会使用 1 1.1. c:if标签 1 1.2. c:choos ...
- javaweb三大框架和MVC设计模式
javaweb三大框架和MVC设计模式 转载,原文请见https://blog.csdn.net/sunpeng19960715/article/details/50890705 一.MVC设计模式 ...
- 转载 javaweb三大框架和MVC设计模式 (自己加拉些内容)
javaweb三大框架和MVC设计模式 一.MVC设计模式 1.MVC的概念 首先我们需要知道MVC模式并不是javaweb项目中独有的,MVC是一种软件工程中的一种软件架构模式,把软件系统分为三个基 ...
- MVC设计模式与Java Web经典三层架构
MVC设计模式 MVC的概念 首先我们需要知道MVC模式并不是javaweb项目中独有的,MVC是一种软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model).视图(View)和控 ...
- Spring MVC -- MVC设计模式(演示4个基于MVC框架的案例)
对于简单的Java Web项目,我们的项目仅仅包含几个jsp页面,由于项目比较小,我们通常可以通过链接方式进行jsp页面间的跳转. 但是如果是一个中型或者大型的项目,上面那种方式就会带来许多维护困难, ...
- 浅谈javaweb三大框架和MVC设计模式
一.MVC设计模式 1.MVC的概念 首先我们需要知道MVC模式并不是javaweb项目中独有的,MVC是一种软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model).视图(Vie ...
- 控制层技术:Servlet+reflection、Struts2、Spring MVC三者之间的比较学习
Servlet Struts2 Spring MVC 处理用户提交的数据 基于MVC设计模式的Web应用程序 是一个框架 是MVC框架 导入servlet包,配置web.xml文件 web.xml & ...
随机推荐
- 用fontAwesome代替网页icon小图标
1. 引言 网页小图标到处可见,如果一个网页都是干巴巴的文字和图片,而没有小图标,会显得非常简陋.下面的小图标,你是不是会经常用到? 你可能说——“我们用的都是彩色的,不是黑白的”——别着急,下面会讲 ...
- python基础——单元测试
python基础——单元测试 如果你听说过“测试驱动开发”(TDD:Test-Driven Development),单元测试就不陌生. 单元测试是用来对一个模块.一个函数或者一个类来进行正确性检验的 ...
- mysql入门语句10条
1,连接数据库服务器 mysql -h host -u root -p xxx(密码) 2,查看所有库 show databases; 3,选库 use 库名 4,查看库下面的表 show ...
- DLog的使用
DLog本质上就是个宏替换.DLog具体代码如下: #ifdef DEBUG #define DLog(fmt, ...) NSLog((@"%s [Line %d] " fmt) ...
- Delphi 的知识体系
第一部分 快速开发的基础 第1章 Delphi 5下的Windows编程 1 1.1 Delphi产品家族 1 1.2 Delphi是什么 3 1.2.1 可视化开 ...
- 【翻译十三】java-并发之饥饿与活锁
Starvation and Livelock Starvation and livelock are much less common a problem than deadlock, but ar ...
- tornado web高级开发项目之抽屉官网的页面登陆验证、form验证、点赞、评论、文章分页处理、发送邮箱验证码、登陆验证码、注册、发布文章、上传图片
本博文将一步步带领你实现抽屉官网的各种功能:包括登陆.注册.发送邮箱验证码.登陆验证码.页面登陆验证.发布文章.上传图片.form验证.点赞.评论.文章分页处理以及基于tornado的后端和ajax的 ...
- [LeetCode] Pow(x, n)
Implement pow(x, n). 有史以来做过最简单的一题,大概用5分钟ac,我采用fast exponential,这个在sicp的第一章就有描述.思想是:如果n是偶数的话,那么m^n = ...
- 恢复 git reset -hard 的误操作
有时候使用Git工作得小心翼翼,特别是涉及到一些高级操作,例如 reset, rebase 和 merge.甚至一些很小的操作,例如删除一个分支,我都担心数据丢失. 不 久之前,我在做一些大动作(re ...
- jQuery实现长按按钮触发事件的方法
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...