【drp 10】JSP页面中model1和model2的区别
一、基本概念
1.1,model1
model1的开发模式是:jsp+javabean的模式,它的核心是JSP页面,在这个页面中,jsp页面负责整合页面和javabean(业务逻辑),而且渲染页面。它的基本流程如下:
1.2,model2
model2的开发模式是:Jsp+servlet+javabean的模式,它和model1不同的是,增加了servlet,将调用页面数据,调用业务逻辑等工作放到了servlet中处理,从而减轻了jsp的工作负担!它的基本流程如下:
二、model1和model2的区别
model1:简单,适合小型项目的开发。但是,JSP的职责过于繁重,职责分工不明确。在后期的维护工作中,必将为此付出代价!
model2:相对于model1来说,职责分工更为明确,在model1的基础上,抽取了servlet层。体现了一个分层的思想,适合大型的项目开发!
三、和三层的对比
在model2中,我们将servlet抽取出单独的一层,和jsp协作完成用户数据交互的工作,也就是表示层。那么作为三层结构来说,又做了什么样的改进呢?
model2,虽然抽取了servlet,明确表示层的工作,但是对于业务逻辑则只有javabean在工作,三层则是在此基础上,将javabean再一次进行分割:业务逻辑、数据持久化。
model1、model2、三层结构图:
四、总结
应该说所有的复杂架构,都是从简单的解耦合和分层开始的。那么之前一直觉得挺那什么的java的jsp中model1和model2,现在也很明确了,并且以之前学习过的三层来看,其实挺简单的。或许model2可以和项目中用的mvc去理解吧,当时也是采用了三层的思想,将model进一步进行分离为BLL和DAO,而java里面的jsp和servlet,也即是里面的view和controller。加油!
【drp 10】JSP页面中model1和model2的区别的更多相关文章
- jsp页面中jstl标签详解
JSLT标签库,是日常开发经常使用的,也是众多标签中性能最好的.把常用的内容,放在这里备份一份,随用随查.尽量做到不用查,就可以随手就可以写出来.这算是Java程序员的基本功吧,一定要扎实. JSTL ...
- 【转】jsp页面中jstl标签详解
原文地址: JSLT标签库,是日常开发经常使用的,也是众多标签中性能最好的.把常用的内容,放在这里备份一份,随用随查.尽量做到不用查,就可以随手就可以写出来.这算是Java程序员的基本功吧,一定要扎实 ...
- 在JSP页面中输出JSON格式数据
JSON-taglib是一套使在JSP页面中输出JSON格式数据的标签库. JSON-taglib主页: http://json-taglib.sourceforge.net/index.html J ...
- JSTL标签急速秒杀jsp页面中的java代码(一)---Core标签库
JSTL标签简介 ===================================================================== JSTL的全称是JavaServer Pa ...
- jsp页面中日期的格式化
在一次开发中,由于数据库中生日采用的是datetime的数据类型,因此数据库中数据格式为:2017-07-11 00:00:00. 但是,编辑页面中回显生日肯定是不可以显示出时分秒的, ...
- jsp页面中jstl标签详解[转]
JSLT标签库,是日常开发经常使用的,也是众多标签中性能最好的.把常用的内容,放在这里备份一份,随用随查.尽量做到不用查,就可以随手就可以写出来.这算是Java程序员的基本功吧,一定要扎实. JSTL ...
- Java jsp页面中jstl标签详解
JSLT标签库,是日常开发经常使用的,也是众多标签中性能最好的.把常用的内容,放在这里备份一份,随用随查.尽量做到不用查,就可以随手就可以写出来.这算是Java程序员的基本功吧,一定要扎实. JSTL ...
- JSP页面中的指令标识
JSP页面中的指令标识 制作人:全心全意 指令标识主要用于设定整个JSP页面范围内都有效的相关信息,它是被服务器解释并执行的,不会产生任何内容输出到网页中.也就是说,指令标识对于客户端浏览器是不可见的 ...
- Jsp页面中常见的page指令
注:图片如果损坏,点击文章链接:https://www.toutiao.com/i6513327323628962312/ 1.<JSP页面实际上就是Servlet> 2.<JSP页 ...
随机推荐
- 最简单的ioc容器代码(低仿Spring )
Spring 的一大核心就是IOC,控制反转(依赖注入). 对象交由容器去控制,降低耦合性. Spring 的ioc实现原理其实很简单,容器启动后读取并解析配置文件,根据配置文件中<bean&g ...
- Form_Form Builder开发基于视图页面和自动代码生成包(案例)
2014-01-06 Created By BaoXinjian
- CSU 1803 2016(数论)
2016 Problem Description: 给出正整数 n 和 m,统计满足以下条件的正整数对 (a,b) 的数量: 1≤a≤n,1≤b≤m; a×b 是 2016 的倍数. Input: 输 ...
- python(4) 小程序-异步加载
注:处理异步加载需要模拟浏览器登陆,然后用import json,用loads解析 例如:
- header('Content-type:text/html;charset = utf-8');出现中文乱码
header('Content-type:text/html;charset = utf-8'); "="两旁不能留空格,必须紧密连写,否则出现乱码;
- iOS 热点、通话时候TabView的Frame调整
- (void)application:(UIApplication *)application didChangeStatusBarFrame:(CGRect)oldStatusBarFrame{ ...
- 8 个 Git 的小技巧
git 已经成为了我日常必备工具之一,我总结我几乎每天使用的8个有用(且简洁)的git技巧. 使用-p选择性添加 当你想提交内容时,你可以通过使用 git commit -am 来选择所有文件或使 ...
- php中soap的使用实例以及生成WSDL文件,提供自动生成WSDL文件的类库——SoapDiscovery.class.php类
1. web service普及: Webservice soap wsdl区别之个人见解 Web Service实现业务诉求: Web Service是真正“办事”的那个,提供一种办事接口的统称. ...
- java获取数据库的列名,类型等信息
当你使用和学习JDK的时候,可以查看并学习它所提供给你的两个ResultSetMetaData 和DataBaseMetaData类的源码并很好的了解它们的实现原理和思路,JDBC中提供有两种源数据, ...
- [ActionScript 3.0] AS3.0 马赛克效果
var bmpd:BitmapData; var matrix:Matrix; var bmp:Bitmap; var size:Number = 5; /** * @author:Frost.Yen ...