一、MVC 思想
1.三层架构:
Web 开发的最佳实践就是根据功能职责的不同,划分为控制层
、业务层
、持久层
2.MVC 原理
✿ 控制层【MVC 模型】:
是一种架构型的模式,本身不引入新功能,是控制层的一种思想,只是帮助我们将开发的结构组织的更加合理,[MV分离] 使数据展示与模型分离
、流程控制逻辑、【VC】业务逻辑调用与数据展示逻辑分离
------>责任分离
。
- Model(模型):数据模型,包含要展示的数据和业务功能。 【类:domain、dao、service】
- View(视图):用户界面,在界面上显示模型数据。
- Controller(控制器):起调度作用,接收用户请求、调用业务处理请求、共享模型数据并跳转界面。【servlet职责】
3、MVC框架需要具备的功能【类比javaweb】
- 设置请求编码
- 接收请求参数
- 输入校验
- 参数类型转换
- 把参数封装到对象
- 设置共享数据
- 文件上传
- 文件下载
- 控制界面跳转
- 国际化处理
- 自定义标签
二、前端控制器
1.什么是前端控制器
Front Controller 模式要求在 WEB 应用系统的前端(Front)设置一个入口控制器(Controller),是用来提供一个集中的请求处理机制,所有的请求都被发往该控制器统一处理,然后把请求分发给各自相应的处理程序。
■ 简单说就是:处理所有请求共同的操作,再把请求分发给各自的处理器【后端控制器】。
- 一般用来做一个共同的处理,如权限检查,授权,日志记录等。因为前端控制的集中处理请求的能力,因此提高了可重用性和可拓展性。
2、怎么保证所有请求都先经过前端过滤器呢?
- 在javaweb:有过滤器Filter、servlet,都需要在web.xml 中做配置
- 使用mvc框架,需要配置前端控制器:
- Struts2 框架是基于Filter
- SpringMVC 框架是基于Servlet