欢迎关注头条号:Java小野猫

一、序言

在学习JavaWeb的过程中,大家都会打仗到Model1和Model2,历史的发展过程是Model1 → Model2。
那么它们之间有何相同之处和不同之处呢?

jsp中model2的工作原理是什么JAVA高等架构师浅析JavaWeb开辟模式Model1和Model2 Bootstrap

二、Model1

Model1利用了两种技能:JSP+JavaBean

在Model1模式下,全体Web运用险些全部由JSP页面组成,JSP页面接管处理客户端要求,对要求处理后直接做出相应。
用少量的JavaBean来处理数据库连接、数据库访问等操作。

优点:架构大略,比较适宜小型项目开拓。

缺陷:从工程化角度看,它的局限性非常明显;JSP的职责不单一,身兼View和Controller两种角色,将掌握逻辑职和表现逻辑殽杂在一起,职责过重,代码的可复用性低,不便于掩护。

三、Model2

Model2利用了三种技能:JSP+Servlet+JavaBean。

1、JSP的紧张浸染是显示页面。

2、Servlet作为前端掌握器,卖力吸收客户端发送的要求。
它的紧张浸染是取得表单参数、调用业务逻辑、转向页面(转发或重定向)。

3、JavaBean的紧张浸染是卖力处理业务逻辑、访问数据库、保存数据状态(也便是我们常说的B层、D层、实体层的凑集体)。

实际上,Model2便是MVC的一个成功运用。
模型(JavaBean)、视图(JSP)、掌握器(Servlet)。

正如上图所示,Model2下的JSP不在承担掌握器的任务,它仅仅是表现层角色,仅仅用于将结果呈现给用户。
浏览器发来的要求与Servlet(掌握器)交互,而Servlet卖力与后台的JavaBean通信。
在Model2模型下,模型(Model)由JavaBean充当,视图(View)有JSP页面充当,而掌握器(Controller)则由Servlet充当。

优点:职责清晰,各司其职,互不滋扰,有利于组件的重用,适宜大型的Web项目。

缺陷:不适宜小型项目、对开拓职员哀求更高。

(注:图中所说的业务逻辑实际上是广义的说法,可以认为便是JavaBean)

欢迎做Java的朋友们私信我【资料】免费获取免费的Java架构学习资料(里面有高可用、高并发、高性能及分布式、Jvm性能调优、Spring源码,MyBatis,Netty,Redis,Kafka,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx等多个知识点的架构资料)

个中覆盖了互联网的方方面面,期间碰到各种产品各种场景下的各种问题,很值得大家借鉴和学习,扩展自己的技能广度和知识面。