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 & ...
随机推荐
- 声明式事务-整合Spring、Hibernate
编程式事务:通过编码的方式,让事务处理的代码侵入到核心的业务代码中. 声明式事务:完成了事务处理的代码和业务核心代码的解耦合.提供事务处理代码的复用性和降低维护成本. 声明式事务:aop最典型的应用. ...
- 检查Android系统版本
<script type="text/javascript"> $(function(){ var userAgent = navigator.userAgent; v ...
- poj1611(并查集)
题目链接:http://poj.org/problem?id=1611 题意: SARS(非典型肺炎)传播得非常厉害,其中最有效的办法是隔离那些患病.和患病者接触的人.现在有几个学习小组,每小组有几个 ...
- 二、JavaScript语言--JS实践--商城分类导航效果
商城类导航菜单制作(以京东为例--竖向列表横向伸缩) 可以用两种方式来实现:用CSS实现和用JS实现 方法一:用CSS实现(要点:使用hover) <!DOCTYPE html PUBLIC & ...
- Visual Studio 推荐插件--高量,变量高量,语法高亮
1 WordLight for 2008 下载网址:http://visualstudiogallery.msdn.microsoft.com/ad686131-47d4-4c13-ada2-5b1 ...
- SQLServer操作结果集
union组合结果集 --相同合并 union --全部显示 union all 公用表表达式 with CET( wName,dName) as ( select wName,dName from ...
- WPA: 4-Way Handshake failed - pre-shared key may be incorrect
生成psk网址: https://www.wireshark.org/tools/wpa-psk.html 相关 bug: 重点 关注 : https://en.community.sonos.com ...
- 突破python缺陷,实现几种自定义线程池 以及进程、线程、协程的介绍
Python线程 Threading用于提供线程相关的操作,线程是应用程序中工作的最小单元. #!/usr/bin/env python # -*- coding:utf-8 -*- import t ...
- <转>FreeMarker内置函数
一. Sequence的内置函数1. sequence?first 返回sequence的第一个值.2. sequence?last 返回sequence的最后一个值.3. sequence?reve ...
- lvs+keepalived 负载均衡
LVS是一个开源的软件,可以实现LINUX平台下的简单负载均衡.LVS是Linux Virtual Server的缩写,意思是Linux虚拟服务器.目前有三种IP负 载均衡技术(VS/NAT.VS/T ...