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 & ...
随机推荐
- bootstrap弹出提示窗口功能
大家常用弹出提示成功或失败时候喜欢用alert,如果不用这个,写个弹窗又麻烦,bootstrap中就有个方法 alert("操作成功"); commonAlert("操作 ...
- ibatis中使用like模糊查询
select * from table1 where name like '%#name#%' 两种有效的方法: 1) 使用$代替#.此种方法就是去掉了类型检查,使用字符串连接,不过可能会有sql注入 ...
- ASP.NET Ajax 简单实例
本实例讲解Ajax 调用WCF服务. 1.建立一个网站,并在其中添加一个WCF服务(这里需要选择Ajax-Enabled WCF Service). 2.IDE会自动生成一个SVC文件. 3.服务代码 ...
- July 4th, Week 28th Monday, 2016
Goals determine what you are going to be. 你的目标决定你将成为怎样的人. What are your goals? What kind of people y ...
- TortoiseSVN中Branching和Merging实践
转自:http://blog.csdn.net/eggcalm/article/details/6606520 使用svn几年了,一直对分支和合并敬而远之,一来是因为分支的管理不该我操心,二来即使涉及 ...
- android DisplayMetrics 获取屏幕分辨率
Android 提供DisplayMetircs 类可以很方便的获取分辨率.下面介绍 DisplayMetics 类: Andorid.util 包下的DisplayMetrics 类提供了一种关于显 ...
- C#学习笔记----栈与堆的知识
http://my.oschina.net/lichaoqiang/blog/291906 当我们对.NET Framework的一些基本面了解之后,实际上,还是很有必要了解一些更底层的知识.比如.N ...
- Jsonp跨域访问原理和实例
>>什么是跨域 出于安全方面的考虑,页面中的JavaScript无法访问其他服务器上的数据,当前域名的js只能读取同域下的窗口属性,即同源策略.而跨域就是通过某些手段来绕过同源策略限制,实 ...
- devices-list
转自:https://www.kernel.org/pub/linux/docs/lanana/device-list/devices-2.6.txt LINUX ALLOCATED DEVICES ...
- Delphi面向对象编程
一.面向对象介绍 OOP是使用独立的对象(包含数据和代码)作为应用程序模块的范例.虽然OOP不能使得代码容易编写,但是它能够使得代码易于维护.将数据和代码结合在一起,能够使定位和修复错误的工作简单化, ...