1. 引言

在使用 IDEA 开发 Java Web 项目的时候,我们会发现 java 代码可以写 src 目录下,也可以写在 webapp 目录下。那么问题来了,一个新的类应该放到哪个目录下?其解决办法是:需要一个模式(即规范)来指定将这个类放到合适的位置上去。


2. MVC设计模式

image.png
如果,MVC 设计模式分为三大块:

  • View 视图:负责页面的显示,与用户的交互(用户点击页面、填写表单)等等。使用的技术为 html、css、js 等。
  • Model 模型:负责各个功能的实现,比如学生注册、登录功能。模型用 Java Bean 来实现。
  • Controller 控制器:负责将视图与模型对应起来,相当于一个模型分发器。所谓分发就是:①接收请求,并将请求跳转到模型进行处理。②模型处理完成之后,再通过控制器,返回给视图中的请求处。一般我们使用 servlet 控制器。

    Java Bean:就是一个 Java 类。一般有两种:①封装业务逻辑的 JavaBean,比如 LoginDao 封装了登录逻辑。②封装模型数据的 Java Bean,比如 Student 这个类,往往对应的是数据库中的一张表。


3. 三层架构

三层架构与 MVC 的目标都是一致的,都是为了解耦和、提高代码复用。MVC 是一种设计模式,而三层架构是一种软件架构。三层架构分为:表现层(Web 层)、业务逻辑层(service 层)、数据访问层(持久层或 dao 层),再加上实体类库(Model)。

  1. 实体类库(Model),往往称其为 Entity 实体类,一般与数据库中农的某一张的表的结构一一对应。
  2. dao 层:主要存放对数据类的访问,即对数据库的增删查改等基本操作。其具体过程就是根据业务需求,构造 SQL 语句,构造参数,调用帮助类,获取结果,dao 层被 service 层调用。
  3. service 层:好比是桥梁,将 web 层与 dao 层之间联系起来。所负责的,就是处理涉及业务逻辑相关的问题,比如调用访问数据库之前,先处理判断数据。service 层只被 web 层调用。
  4. web 层:与客户端交互,包括获取用户请求,传递数据,封装数据,展示数据。

image.png