javaWeb中的Model1和Model2
为什么80%的码农都做不了架构师?>>>
一、传统的Model1和Model2
在传统的Model1中,Web由大量JSP和少量用于访问数据库的bean组成,jsp兼顾V层和C层的工作。
在传统的Model2中,servlet负责处理用户请求,调用更深层的javabean进行数据处理,然后将处理过的数据转发给jsp视图,视图进行数据解析和显示。
如图,既然这样,大家看到这里应该能明显地感受到转发和重定向的区别了,它们是两个世界的产物,为了严格区分,我可以这样说(并不专业):转发和重定向完全是两个世界的产物。
转发:C层把M转发给V层,V层进行渲染呈现(实际上JSP在服务器上也是一个Servlet,不懂百度)。转发是服务器内部的操作,与用户八竿子打不着。
重定向:重定向是告诉用户,你重新请求服务器资源吧,我不想返回一个JSP页面给你。
我想起了我做的第一个java online judge网站了,当时全部使用JSP页面完成相应功能,要完成一些编译工作都是调用一些简单的java对象,甚至使用static方法,这不正是Model1吗?因此,Model1是大多数入门者都能想到的java web处理方法吧,我相信大部分入门者都有在jsp里面调用过连接数据库的经历!
在使用model1的你,应该并没有过多地想到过MVC的思想!
后来慢慢开始入门了,别人教了你分层的思想,什么dao,service,servlet,然后开始分层书写,开始学习servlet3.0基于@WebServlet的注解,开始学习了JDBC,开始学习了JSP,然后看书了解了一点JSP的深层知识,然后开始写一个简单的有条理的JAVA WEB网站,恭喜啊!已经开始深入学习Model2了呢!
学完model2之后,你就能够初步理解MVC的真正思想了吧!
学完所谓的 Model2后,我理解了一下上面第一幅图,这样归纳:
JSP属于View层,Servlet属于Controller层,dao,service,entity属于Model层,为什么后面的三个都是Model层?因为我理解的是后三个都是对数据进行处理java代码,所以是model层!
二、web的MVC和早期的MVC思想
web是基于一种啥子模式?请求/响应模式,是不是嘛?也就是说用户不发送请求,视图就不能什么自己?更新自己,是不是嘛?
而传统的MVC程序,当模型层数据发送改变时,可以通知模型层进行相应的改变。
因此,web应用的mvc思想与观察者模式存在一定的相似之处,但又不完全一样。
读到这里,用户只需要明白,传统的MVC思想是不是就是web的MVC思想?不是嘛!web的CVM思想是在传统的MCV思想之上改变了一定的结构嘛!
(MCV MVC CVM CMV,顺序应该没什么影响吧?)
转载于:https://my.oschina.net/qkmc/blog/898985
javaWeb中的Model1和Model2相关推荐
- 浅析Java开发中的Model1和Model2
在Java开发的时候,避免不了的会接触Model1和Model2,本篇博客对这两种架构进行浅析. Model1: Model1的中心是JSP页面,JSP页面中结合业务逻辑.服务端处理过程和HTML等, ...
- Java Web开发技术教程入门-Model1和Model2
今天我们聊聊JSP开发中的Model1和Model2. Model1采用了JSP+JavaBean技术开发Web应用.其中,JSP实现页面显示,业务逻辑和流程控制,数据处理由JavaBean完成.在J ...
- Model1与Model2
Model1与Model2开发模式的介绍及区别 转载 浅析Java开发中的Model1和Model2 转载于:https://www.cnblogs.com/westward/p/6717610.ht ...
- 开启 J2EE(七)— Model1、Model2和三层架构的演变
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/akkzhjj/article/details/37667261 Model1和Model2是Java ...
- java model1和model2_Java项目(4)——探究两种开发模型的异同-Model1与Model2
弱弱的说一句: jsp在web服务器上,这一点应该没有疑问吧? 首先很俗套地看下两个模型. Model1就是实现,实现就行,系统简单,谈不上架构,正如简单工厂并不算在23个常用设计模式之列一样.Mod ...
- 几种网站开发模型- Model1、Model2、三层
以目前自己的理解,所接触到的面向对象思想中最重要的是"抽象",软件设计目标中最重要的是"可以应对需求的变化(增加或更改)". 思考一下,无论是"分层& ...
- java-web中的分层1-dao
今天看了一下java-web中分层的相关的知识,其实对于我们初学者来说,一个好的分层结构不仅仅能让我们很好的清楚自己的逻辑,而且对以后项目的合作也是很重要的,其实我们在网上看一下有很多关于分层的例子, ...
- java web.xml 监听器_十:JavaWeb中的监听器(一)
2.1.基本概念 JavaWeb中的监听器是Servlet规范中定义的一种特殊类,它用于监听web应用程序中的ServletContext, HttpSession和 ServletRequest等域 ...
- java 打开jsp文件_jsp文件怎么打开(java-web中jsp的理解)
jsp文件怎么打开(java-web中jsp的理解)JSP:Java Server Pages.JSP是一种网页的编码格式,不同于HTML的是JSP中是由 HTML中的标签指令 和 Java逻辑代码 ...
最新文章
- python哪本好-在众多小说中,Python告诉你哪本小说好看
- Pycharm中导入的模块名下出现红色波浪线问题
- golang中的目录操作
- ASP.NET Core 2 学习笔记(三)中间件
- windows文件服务器双机热备_遇到ZFS文件系统如此棘手的问题,这种办法简单又高效!...
- 3—YOLO:训练自己的数据
- 原理 快速邻近匹配_论文推荐 | 陈晓勇:低空摄影测量立体影像匹配的现状与展望...
- IBASE component valid to field
- 【转】 ADO.NET最佳实践
- 考勤管理系统c语言,C语言课程设计学生考勤系统最终版(范文1)
- Mr.J-- jQuery学习笔记(十九)--自定义动画实现图标特效
- 计算机编程c 语言实型数据,C语言-基础教程-C语言实型数据
- 【java】线程的简单使用以及注意的问题
- python核心编程
- LitePal的简单使用
- 在proteus软件80C51芯片隐藏电源接口VCC
- PS一键磨皮插件磨皮DR4.5中文增强版(PS CC 2014-2019),人像修图调色软件
- 计算机接口74LS138,用74ls138设计全加器
- 单射、满射、双射(一一映射)
- 音频调整测试软件 使用,音频测试-示波器-使用方法