设计模式

一.什么是编程里面的设计模式?

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设计模式的更多相关文章

  1. 基于MVC设计模式的Web应用框架:struts2的简单搭建(一)

    Struts2的初步介绍 Struts2是apache项目下的一个web 框架,普遍应用于阿里巴巴.京东等互联网.政府.企业门户网站.虽然之前存在了很大的安全漏洞,在2013年让苹果.中国移动.中国联 ...

  2. Struts2是一个基于MVC设计模式的Web应用框架

    Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互. Struts ...

  3. 谈谈JAVA工程狮面试中经常遇到的面试题目------什么是MVC设计模式

    作为一名java工程狮,大家肯定经历过很多面试,但每次几乎都会被问到什么是MVC设计模式,你是怎么理解MVC的类似这样的一系列关于MVC的问题. [出现频率] [关键考点] MVC的含义 MVC的结构 ...

  4. 第13天 JSTL标签、MVC设计模式、BeanUtils工具类

    第13天 JSTL标签.MVC设计模式.BeanUtils工具类 目录 1.    JSTL的核心标签库使用必须会使用    1 1.1.    c:if标签    1 1.2.    c:choos ...

  5. javaweb三大框架和MVC设计模式

    javaweb三大框架和MVC设计模式 转载,原文请见https://blog.csdn.net/sunpeng19960715/article/details/50890705 一.MVC设计模式 ...

  6. 转载 javaweb三大框架和MVC设计模式 (自己加拉些内容)

    javaweb三大框架和MVC设计模式 一.MVC设计模式 1.MVC的概念 首先我们需要知道MVC模式并不是javaweb项目中独有的,MVC是一种软件工程中的一种软件架构模式,把软件系统分为三个基 ...

  7. MVC设计模式与Java Web经典三层架构

    MVC设计模式 MVC的概念 首先我们需要知道MVC模式并不是javaweb项目中独有的,MVC是一种软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model).视图(View)和控 ...

  8. Spring MVC -- MVC设计模式(演示4个基于MVC框架的案例)

    对于简单的Java Web项目,我们的项目仅仅包含几个jsp页面,由于项目比较小,我们通常可以通过链接方式进行jsp页面间的跳转. 但是如果是一个中型或者大型的项目,上面那种方式就会带来许多维护困难, ...

  9. 浅谈javaweb三大框架和MVC设计模式

    一.MVC设计模式 1.MVC的概念 首先我们需要知道MVC模式并不是javaweb项目中独有的,MVC是一种软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model).视图(Vie ...

  10. 控制层技术:Servlet+reflection、Struts2、Spring MVC三者之间的比较学习

    Servlet Struts2 Spring MVC 处理用户提交的数据 基于MVC设计模式的Web应用程序 是一个框架 是MVC框架 导入servlet包,配置web.xml文件 web.xml & ...

随机推荐

  1. bootstrap弹出提示窗口功能

    大家常用弹出提示成功或失败时候喜欢用alert,如果不用这个,写个弹窗又麻烦,bootstrap中就有个方法 alert("操作成功"); commonAlert("操作 ...

  2. ibatis中使用like模糊查询

    select * from table1 where name like '%#name#%' 两种有效的方法: 1) 使用$代替#.此种方法就是去掉了类型检查,使用字符串连接,不过可能会有sql注入 ...

  3. ASP.NET Ajax 简单实例

    本实例讲解Ajax 调用WCF服务. 1.建立一个网站,并在其中添加一个WCF服务(这里需要选择Ajax-Enabled WCF Service). 2.IDE会自动生成一个SVC文件. 3.服务代码 ...

  4. July 4th, Week 28th Monday, 2016

    Goals determine what you are going to be. 你的目标决定你将成为怎样的人. What are your goals? What kind of people y ...

  5. TortoiseSVN中Branching和Merging实践

    转自:http://blog.csdn.net/eggcalm/article/details/6606520 使用svn几年了,一直对分支和合并敬而远之,一来是因为分支的管理不该我操心,二来即使涉及 ...

  6. android DisplayMetrics 获取屏幕分辨率

    Android 提供DisplayMetircs 类可以很方便的获取分辨率.下面介绍 DisplayMetics 类: Andorid.util 包下的DisplayMetrics 类提供了一种关于显 ...

  7. C#学习笔记----栈与堆的知识

    http://my.oschina.net/lichaoqiang/blog/291906 当我们对.NET Framework的一些基本面了解之后,实际上,还是很有必要了解一些更底层的知识.比如.N ...

  8. Jsonp跨域访问原理和实例

    >>什么是跨域 出于安全方面的考虑,页面中的JavaScript无法访问其他服务器上的数据,当前域名的js只能读取同域下的窗口属性,即同源策略.而跨域就是通过某些手段来绕过同源策略限制,实 ...

  9. devices-list

    转自:https://www.kernel.org/pub/linux/docs/lanana/device-list/devices-2.6.txt LINUX ALLOCATED DEVICES ...

  10. Delphi面向对象编程

    一.面向对象介绍 OOP是使用独立的对象(包含数据和代码)作为应用程序模块的范例.虽然OOP不能使得代码容易编写,但是它能够使得代码易于维护.将数据和代码结合在一起,能够使定位和修复错误的工作简单化, ...