JSP开发模型与MVC设计模型

一、概述

​ JSP的开发模型即JSP Model,在web开发中,为了更方便地使用JSP技术,SUN公司为JSP技术提供了两种开发模型:JSP Model1和JSP Model2。

二、特点

JSP Model1:简单轻便,适合小型Web项目的快速开发。

JSP Model2:提供了更清晰的分层,适用于多人合作开发的大型Web项目。

三、JSP Model1

  1. JSP开发的早期模型:JSP文件是一个独立的、能够自主完成所有任务的模块,它负责业务逻辑、控制网页流程和页面展示。如下图


  • JSP页面中HTML代码和Java代码强耦合在一起,使得代码的可读性很差。
  • 数据、业务逻辑、控制流程混合在一起,使得程序难以修改和维护。

    1. 为了解决上述问题,SUN公司提供了一种JSP开发的架构模型:JSP Model1

JSP Model1概述:采用JSP+JavaBean的技术,将页面和业务逻辑分开。其中,JSP负责流程控制和页面显示,JavaBean负责数据封装和业务逻辑。JSP只负责接收用户请求和调用JavaBean来响应用户的请求。这种设计实现了数据、业务逻辑和页面显示的分离,在一定程度上实现了程序开发的模块化,降低了程序修改和维护的难度。

该模型的工作原理图如下:

四、JSP Model2

  1. 问题:JSP Model1虽然将数据和部分的业务逻辑从JSP中分离出去,但JSP页面仍然需要负责流程控制和产生用户页面。在JSP页面中嵌入大量的Java代码,这样会给项目管理带来很大的麻烦。

  2. 为了解决上述问题,SUN公司提供了JSP Model2。

  3. 概述:

    ​ JSP Model2架构模型采用JSP+Servlet+JavaBean的技术,此技术将原本JSP页面中的流程控制代码提取出来,封装到Servlet中,从而实现了页面显示、流程控制和业务逻辑的分离。实际上,JSP Model2模型就是MVC设计模式(Model:模型 View:视图 Controller:控制器)。其中,Servlet是控制器,JSP是视图,JavaBean是模型。

    流程:首先Servlet接收浏览器发送的请求,然后根据请求信息实例化JavaBean对象来封装操作数据库后返回的数据,最后选择相应的JSP页面将相应结构显示在浏览器中。

五、MVC设计模型

  1. 概述:一种软件设计模式,提供了一种按功能对软件进行模块划分的方法。MVC设计模式将软件程序分为3个核心模块:Model(模型)、View(视图)、Controller(控制器)。作用如下:

    1. Model

      Model负责管理应用程序的业务数据、定义访问控制以及修改这些数据的业务规则。当Model的状态发生改变时,它会通知View发生改变,并为View提供查询Model状态的方法。

    2. View

      View负责与用户进行交互,它从Model中获取数据向用户展示,同时也能将用户请求传递给Controller进行处理。当Model的状态发生改变时,View会对用户进行同步更新,从而保持与Model数据的一致性。

    3. Controller

      Controller是负责应用程序中处理用户交互的部分,它负责从View中读取数据,控制用户输入,并向Model发送数据。

JSP开发模型与MVC设计模型相关推荐

  1. B/S中的三层架构和MVC设计模型

    一.B/S系统中的三层架构 1.引子: 我们的开发架构一般都是基于两种形式,一种是 C/S 架构,也就是客户端/服务器,另一种是 B/S 架构,也就 是浏览器服务器.在 JavaEE 开发中,几乎全都 ...

  2. 简单网页版的注册登录案例(JSP+CSS+MySQL+Servlet+MVC设计思想,含源码!)

    文章目录 一.登陆注册小案例 1.数据库创建与连接测试 2.用户登录注册逻辑实现及测试 3.界面实现 4.程序MVC设计思想 一.登陆注册小案例 1.数据库创建与连接测试 创建数据库weblogin, ...

  3. 三层架构介绍和MVC设计模型介绍

  4. jsp 开发模型 day

    文章目录 第十一章JSP开发模型 一.jspJSP开发模型 jsp Model1 图里是JSP Model1前JSP开发的早期模型和 JSPModel1 的工作原理 2.jsp Model2 二. M ...

  5. 第11章JSP开发模型

    第11章JSP开发模型 一.填空题 1.MVC模式将软件程序分为3个核心模块:模型(Model).视图(View)和[ 控制器(Controller) ]. 2.在JSP Model 2架构模型有效地 ...

  6. 【JSP教科书】JSP知识在线指南(记录知识JSP体系、EL表达式、JSTL标签库、JSP开发模型和分页查询)

    文章目录 @[toc] 一.JSP简介 1.1 什么是JSP? 1.2 JSP的特点 1.3 JSP为什么也是Servlet 1.4 tomact服务器中的资源分析 1.4.1 tomact服务器中的 ...

  7. java 039 s rule_Java开发架构篇:DDD模型领域层决策规则树服务设计

    沉淀.分享.成长,让自己和他人都能有所收获! 一.前言 在上一章节介绍了领域驱动设计的基本概念以及按照领域驱动设计的思想进行代码分层,但是仅仅只是从一个简单的分层结构上依然没法理解DDD以及如何去开发 ...

  8. JavaBean 技术与 JSP 开发模型练习题

    <JavaBean 技术与 JSP 开发模型练习题> 文章目录 单选题 多选题 判断题 填空题 JavaBean 技术与 JSP 开发模型 单选题 1. JSP Model2模型就是MVC ...

  9. ***第11章 JSP开发模型

    ***第11章 JSP开发模型 习题 一.填空题 1.为了更方便地使用JSP技术,Sun公司为JSP技术提供了两种开发模型:[ JSP Model1 ]和[ JSP Model2 ]. 2.JSP M ...

最新文章

  1. Netty笔记(一)第一个程序
  2. 关于BBSxp/LeadBBS的后台上传Webshell的鸡肋防范
  3. JavaScript9x9乘法表
  4. rstudio 修改代码间距_Windows电脑使用Rstudio会有多少错误呢
  5. MySQL -A不预读数据库信息(use dbname 更快)
  6. UA MATH571B 试验设计 2k析因设计理论上
  7. 网站刷关键词_中小企业网站排名如何做SEO优化 - 刷百度关键词排名
  8. P678-vect2.cpp
  9. mysql忘记命令后半部分_MySQL常用命令
  10. 网络克隆安装linux系统下载安装,pxe网刻工具_诚龙网刻教程_网络克隆安装windows7...
  11. 解决Fedora14中文显示问题
  12. buuctf web wp
  13. win8能发挥服务器性能吗,win10系统和win8.1系统哪个更好用?windows10和windows8.1性能对比解析...
  14. linux下静态库、动态库总结
  15. Android Framework 电源子系统(05)核心方法updatePowerStateLocked分析-3 更新屏保  发送通知  更新wakelock
  16. STM32生成bin文件
  17. 业务流程图、数据流程图、功能流程图、页面流程图
  18. 人行征信密码控件卸载后残留,导致fiddler自动关闭解决办法
  19. Android中ExpandableListView中嵌套ListView
  20. icpc 2020沈阳区域赛补题

热门文章

  1. 序列化和反序列化二叉树 -----前序,中序,后序,层序
  2. 【id:179】【20分】C. DS二叉树--赫夫曼树的构建与编码(不含代码框架)
  3. 三维重建 阈值分割 3D可视化 医学图像分割 CT图像分割及重建系统 可视化编程技术及应用
  4. 生成Excel文件并上传到阿里云OSS
  5. <笔记>Long and Short -Term Recommendations with Recurrent Neural Networks
  6. java Serializable
  7. IP地址和子网掩码换算
  8. IntelliJ IDEA 下集成SVN
  9. 区块链新秀DACC解决内容产业主要矛盾
  10. 《深入理解Android内核设计思想(第2版)(上下册)》之Android源码下载及编译...