Servlet笔记 —— MVC开发模式与三层架构

MVC开发模式

JSP演变历史

  1. 早期只有Servlet,没有JSP,这样只能使用response输出标签数据,得手动拼接HTML和全部数据,非常之痛苦,如下图
    在这里插入图片描述
  2. 后来SUN公司推出了jsp,开发者可以直接在HTML页面中编写动态的java代码去获取数据,简化了Servlet的开发(实际把数据和html标签的组装这一工作,交给了jsp自动去做,本质没变,下图是tomcat运行时,访问jsp页面时,在tomcat的work目录下自动生成的jsp对应的java文件,jsp本质就是个servlet)
    在这里插入图片描述
  3. 但是项目体量很大的话,系统又有HTML代码,又有JAVA代码,很乱
  4. 若过度使用JSP,会造成项目代码混乱,难以维护,难以分工合作
  5. 再后来,JavaWeb开发,借鉴了MVC开发模式,使得程序的设计更加合理,维护更加方便

MVC

它是一种设计思想,用于解决系统架构问题。

  1. M:Model,模型,负责完成具体的业务逻辑。如查询数据库,封装对象
  2. V:View,视图,用于展示数据
  3. C:Controller,控制器,不参与具体业务,只做分发和流程控制

将程序分为3部分,3部分各司其职,降低系统的耦合度,便于分工协作,以及项目维护
在这里插入图片描述

在比较原始的的JavaWeb开发中,Servlet当作Controller,JavaBean当作Model,JSP当作View。

优点
  1. 降低系统耦合性,方便维护,方便分工协作
  2. 重用性高
缺点
  1. 不适合小型,中型的应用程序
  2. 增加了系统架构的复杂性,对开发人员要求高

既然采用了MVC的开发模式,那么JSP只用于视图展示,JSP中不再编写Java代码,那么如何把数据传到JSP页面中呢 =>用 EL表达式JSTL标签

三层架构

是一种软件设计架构(注意与MVC开发模式做区分)

  1. 界面层(表示层):用户看到的界面,用户可通过页面上的组件和服务器进行交互
  2. 业务逻辑层:处理业务逻辑
  3. 数据访问层:操作数据存储

其实三层架构一般在后端开发中,只体现了两层,在项目里,会将处理核心业务的类放在一层,比如放在service包下,负责持久层操作的类会放在一层,比如放在dao包或repository包下。各层遵循单一职责原则,层与层之间,保持松散耦合。每一个模块对外界保持尽可能少的关注。比如dao层就只提供纯粹的数据库CRUD操作,dao只关心DB,只关心数据的增删改查,不关心任何业务逻辑;service层则只关心业务逻辑,不关心dao层对数据处理的细节。

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/vcj1009784814/article/details/106084674