为什么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相关推荐

  1. 浅析Java开发中的Model1和Model2

    在Java开发的时候,避免不了的会接触Model1和Model2,本篇博客对这两种架构进行浅析. Model1: Model1的中心是JSP页面,JSP页面中结合业务逻辑.服务端处理过程和HTML等, ...

  2. Java Web开发技术教程入门-Model1和Model2

    今天我们聊聊JSP开发中的Model1和Model2. Model1采用了JSP+JavaBean技术开发Web应用.其中,JSP实现页面显示,业务逻辑和流程控制,数据处理由JavaBean完成.在J ...

  3. Model1与Model2

    Model1与Model2开发模式的介绍及区别 转载 浅析Java开发中的Model1和Model2 转载于:https://www.cnblogs.com/westward/p/6717610.ht ...

  4. 开启 J2EE(七)— Model1、Model2和三层架构的演变

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/akkzhjj/article/details/37667261 Model1和Model2是Java ...

  5. java model1和model2_Java项目(4)——探究两种开发模型的异同-Model1与Model2

    弱弱的说一句: jsp在web服务器上,这一点应该没有疑问吧? 首先很俗套地看下两个模型. Model1就是实现,实现就行,系统简单,谈不上架构,正如简单工厂并不算在23个常用设计模式之列一样.Mod ...

  6. 几种网站开发模型- Model1、Model2、三层

    以目前自己的理解,所接触到的面向对象思想中最重要的是"抽象",软件设计目标中最重要的是"可以应对需求的变化(增加或更改)". 思考一下,无论是"分层& ...

  7. java-web中的分层1-dao

    今天看了一下java-web中分层的相关的知识,其实对于我们初学者来说,一个好的分层结构不仅仅能让我们很好的清楚自己的逻辑,而且对以后项目的合作也是很重要的,其实我们在网上看一下有很多关于分层的例子, ...

  8. java web.xml 监听器_十:JavaWeb中的监听器(一)

    2.1.基本概念 JavaWeb中的监听器是Servlet规范中定义的一种特殊类,它用于监听web应用程序中的ServletContext, HttpSession和 ServletRequest等域 ...

  9. java 打开jsp文件_jsp文件怎么打开(java-web中jsp的理解)

    jsp文件怎么打开(java-web中jsp的理解)JSP:Java Server Pages.JSP是一种网页的编码格式,不同于HTML的是JSP中是由 HTML中的标签指令 和 Java逻辑代码 ...

最新文章

  1. python哪本好-在众多小说中,Python告诉你哪本小说好看
  2. Pycharm中导入的模块名下出现红色波浪线问题
  3. golang中的目录操作
  4. ASP.NET Core 2 学习笔记(三)中间件
  5. windows文件服务器双机热备_遇到ZFS文件系统如此棘手的问题,这种办法简单又高效!...
  6. 3—YOLO:训练自己的数据
  7. 原理 快速邻近匹配_论文推荐 | 陈晓勇:低空摄影测量立体影像匹配的现状与展望...
  8. IBASE component valid to field
  9. 【转】 ADO.NET最佳实践
  10. 考勤管理系统c语言,C语言课程设计学生考勤系统最终版(范文1)
  11. Mr.J-- jQuery学习笔记(十九)--自定义动画实现图标特效
  12. 计算机编程c 语言实型数据,C语言-基础教程-C语言实型数据
  13. 【java】线程的简单使用以及注意的问题
  14. python核心编程
  15. LitePal的简单使用
  16. 在proteus软件80C51芯片隐藏电源接口VCC
  17. PS一键磨皮插件磨皮DR4.5中文增强版(PS CC 2014-2019),人像修图调色软件
  18. 计算机接口74LS138,用74ls138设计全加器
  19. 单射、满射、双射(一一映射)
  20. 音频调整测试软件 使用,音频测试-示波器-使用方法

热门文章

  1. Dart对列表进行排序
  2. 【Linux:开源操作系统】
  3. 吐血整理《计算机网络五层协议之物理层(下)》
  4. datagrid表头与数据列宽度不对齐_easyui datagrid标题列宽度自适应
  5. go build 无文件_Go 质量保证:集成测试(1) 用 Docker 执行测试
  6. 在envi做随机森林_随机森林原理
  7. 以主干开发作为持续交付的基础
  8. 在BackTrack下基于MS08-067漏洞的渗透
  9. 威宝推出支持四接口的桌面硬盘新品
  10. xipian的php中文分词