一、三层架构:
我们以前是客户端浏览器发送请求,Servlet接受请求,产生响应。
但事实是Servlet只是能接受请求,产生响应并不能进行数据处理
所以我们将Servlet进行拆分了三层架构,Web、Service、Dao层分别处理不同的功能
- Web层:负责页面数据的收集和产生页面
- Dao层:负责数据的持久化,进行增删改查等功能
- Service层:负责业务处理,例如:数据的处理可以在业务层完成等
这种三层架构开发模式是有弊端的,一个Servlet只能处理一个请求所以我们在三层架构的基础上研究了MVC开发模式
二、MVC模式:
MVC 是模型(model)-视图(view)-控制器(controller)的缩写,是一种用于设计创建 Web 应用程序表现层的模式。
- Model(模型):负责数据逻辑(业务规则)的处理和实现数据操作(即在数据库中存取数据)。
- View(视图):负责进行模型的展示,将逻辑视图解析成物理视图并渲染,一般用于展示数据、用户交互、数据验证、界面设计等功能。
- Controller(控制器):接收用户请求,委托给模型进行处理,处理完毕后把返回的模型数据返回给视图,由视图负责展示。
在学习 Servlet 和 JSP 开发时,JavaBean 相当于 Model,Servlet 相当于 Controller,JSP 相当于 View。
以下是 Web 应用程序的两种开发模式。
JSP+JavaBean
该模式将业务逻辑与页面表现进行分离,在一定程度上增加了程序的可调试性和维护性。JSP+JavaBean 中 JSP 用于处理用户请求,JavaBean 用于封装和处理数据。该模式只有视图和模型,一般把控制器的功能交给视图来实现,适合业务流程比较简单的 Web 程序。
通过上图可以发现 JSP 从 HTTP Request(请求)中获得所需的数据,并进行业务逻辑的处理,然后将结果通过 HTTP Response(响应)返回给浏览器。从中可见,JSP+JavaBean 模式在一定程度上实现了 MVC,即 JSP 将控制层和视图合二为一,JavaBean 为模型层。
Servlet+JSP+JavaBean
Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp负责数据显示,javabean负责封装数据。 Servlet+JSP+JavaBean模式程序各个模块之间层次清晰,web开发推荐采用此种模式。