设计模式

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

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. Java IO流总结

    Java IO流分类以及主要使用方式如下: IO流 |--字节流 |--字节输入流 InputStream: int read();//一次读取一个字节 int read(byte[] bys);// ...

  2. idea 用maven骨架生成项目速度慢的问题

    使用mvn archetype:generate命令时,加上-DarchetypeCatalog=local archetypeCatalog=local

  3. python基础——错误处理

    python基础——错误处理 在程序运行的过程中,如果发生了错误,可以事先约定返回一个错误代码,这样,就可以知道是否有错,以及出错的原因.在操作系统提供的调用中,返回错误码非常常见.比如打开文件的函数 ...

  4. Swift - 简单封装一个工具类模板

    创建模板类(封装一个类) 例1:新建一个名字叫做 Product 的类 Product.swift File 的内容 class Product { var name: String var desc ...

  5. 浅析 - iOS应用程序的生命周期

    1.应用程序的状态 状态如下: Not running  未运行  程序没启动 Inactive          未激活        程序在前台运行,不过没有接收到事件.在没有事件处理情况下程序通 ...

  6. json数据类型

    JSON 语法规则 JSON 语法是 JavaScript 对象表示法语法的子集. 数据在名称/值对中 数据由逗号分隔 花括号保存对象 方括号保存数组 JSON 名称/值对 JSON 数据的书写格式是 ...

  7. execl一个工作薄中有几个个工作表,将这几个个工作表分别保存到不同execl文件中

    用宏运行: Sub QEJebel()    Dim sh As Worksheet    Dim Pa As String    Pa = ThisWorkbook.Path    For Each ...

  8. HTML5学习之WebWork多线程处理(八)

    多线程技术在服务端技术中已经发展的很成熟了,而在Web端的应用中却一直是鸡肋 在新的标准中,提供的新的WebWork API,让前端的异步工作变得异常简单. 使用:创建一个Worker对象,指向一个j ...

  9. 锁ReaderWriterLockSlim介绍

    概述 ReaderWriterLockSlim 表示用于管理资源访问的锁定状态,可实现多线程读取或进行独占式写入访问: 常用的方法: cacheLock.EnterReadLock();//加上读取锁 ...

  10. 分享一个最近研究的手机QQ3.0的协议(版本1.4)

    最近闲来有事, 分析了一个非常低端(非常低端的意思是说你不应该对她是否能取代你现有的QQ客户端作任何可能的奢望,她只是一个实验性的东西)的手机QQ的协议, 是手机QQ3.0,      所用到的TCP ...