1. 什么是mvc开发模式
- mvc不是一种技术,只是一种开发模式
- 使用分层开发模式能在大型项目中,让开发人员更好的协同工作
- 便于项目的维护和扩展
- M: Model 模型层->数据库层->dao
- V: View 视图层->收集和展示用户数据->html/jsp
- C: Controller->数据封装->逻辑处理->流程控制->servlet/action/controller
2. 基于servlet手写mvc框架
- 什么是框架?
是一种标准或者规范,使用别人写好的东西,按照他的制造好的轮子,他的流程,去开发我想要实现的功能,提高开发效率,降低开发成本。
- 框架的分类,分为前后端框架
- 前端框架分为功能性的和美观性的
- 功能性的:
jQuery,vue,angular 判断数据合法性,dom操作- 美观性的:
bootstrap,easyui,react,qucikui…
- 什么是mvc框架
mvc是后端框架,专门用来解决controller与view层数据交互的问题,对这个交互过程中的各种操作进行规范和封装,让开发人员在开发web应用程序时对请求响应的控制更为方便(数据层的访问不属于mvc框架内)
- mvc框架的职责
- 规范开发流程
- 对请求数据进行封装(如页面有100个表单 多个表单)
- 流程跳转的规范 (是转发,重定向,还是js跳转)
-
工作流程图
-
ActionServlet好比一个大哥 (mvc框架的核心功能),大哥接收到老板的任务(接收到业务请求时),安排小弟(服务对象,实现业务的类)来完成任务,小弟最后执行任务(完成逻辑处理),把结果返回大哥,最后结果返回(流程控制)老板(客户端)。
-
基于servlet的mvc框架核心成员
- ActionServlet servlet 接收特定的请求,mvc框架的入口
- Action接口service方法,规范所有小弟的服务方法
- 小弟xxxAction实现接口,完成逻辑处理,为客户端提供服务
- .properties键值对配置文件,描述业务请求与xxxAction类的路径 (反射根据业务请求,取到配置文件的服务类)
- 可封装response流,输出js代码跳转
-
核心控制器ActionServlet
- 配置文件
<servlet>
<servlet-name>ActionServlet</servlet-name>
<servlet-class>com.lovely.mvc.ActionServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ActionServlet</servlet-name>
<url-pattern>*.do</url-pattern> <!-- 如接收query.do 的业务请求-->
</servlet-mapping>
- action接口,规范服务类