zxmvc
2019-09-05 21:32:55 18 举报
AI智能生成
登录查看完整内容
为你推荐
查看更多
抱歉,暂无相关内容
准备对之前写的一个MVC框架进行重构,所以梳理了一下相关的知识点。仅供参考,觉得有帮助的欢迎点赞。
作者其他创作
大纲/内容
ZXMVC(MVC框架)
关于Servlet
简介
学习web的时候,一般都是先学Servlet
通过Servlet可以接受到http请求,并进行响应
这个时候,是不需要struts、SpringMVC等框架的
tomcat、jetty
web应用服务器
servlet容器
servlet需要运行在容器里
servlet生命周期
1、服务启动时加载servlet
2、第一次请求时
2.1、实例化servlet
2.2、执行init方法
3、调用service方法,判断请求的类型
3.1、get类型则调用doGet方法
3.2、post类型则调用doPost方法
4、服务重启或者关闭时,调用destroy方法
MVC框架
Model(模型)
应用程序中用于处理应用程序数据逻辑的部分
View(视图)
应用程序中处理数据显示的部分
Controller(控制器)
应用程序中处理用户交互的部分
SpringMVC
Controller接收请求,然后返回ModelAndView
请求处理流程
1、SpringMVC将所有的请求提交给DispatcherServlet,它会委托应用系统的其他模块负责对请求进行真正的处理
2、DispatcherServlet查询HandleMapping,找到处理请求的Controller
3、DispatcherServlet将请求提交到目标Controller
4、Controller进行业务逻辑处理后,返回一个ModelAndView
5、DispatcherServlet查询ViewResolver视图解析器,找到ModelAndView对象指定的视图对象
6、将页面渲染到浏览器端
思考
关于视图解析器
之前的页面经常用到freeMarker、jsp等,需要经过视图解析器解析成Html
个人觉得上面两种方式,还不如直接html,通过js刷页面来的直观
自己写MVC框架,可以先实现MC,V暂时用html
主要功能
封装了servlet
IOC
实例管理
AOP
动态代理
cglib
实现思路
1、如何接收请求,分发请求
类似DispatcherServlet
服务初始时扫描所有URI,并放入一个URIMAP中
定义一个Servlet来接收所有请求
根据请求URL匹配URIMAP中对应的Controller
将请求分发给对应的Controller
2、IOC如何实现
注解形式
定义需要的注解
服务启动时,扫描注解的类
将注解的类根据依赖(通过反射)进行实例化
3、AOP
暂缓实现
实现概述
1、实现注解
1、各层注解
Controller
Service
Repository
Component
2、自动注入注解
Autowired
3、URI注解
RequestMapping
2、扫描注解类
扫描填写的URI
3、实现DispatcherServlet
1、接收请求
2、分发请求
关于作者
水木桶的博客
微信公众号:水木桶
微信小程序:水木桶密码生成器
收藏
收藏
0 条评论
回复 删除
下一页