SpringMVC处理请求的过程

springmvc内部请求的处理流程;也就是springmvc接收请求,到处理完成的过程

1.用户发起请求some.do

2.DispatcherServlet接收请求some.do,把请求转交给处理器映射器

处理器映射器:springmvc框架中的一种对象,框架把实现了HandlerMapping接口的类都叫做映射器(多个)
处理器映射器的作用:根据请求,从springmvc容器对象中获取处理器对象(MyController controller=ctx.getBean("some.do"))
框架把找到的处理器对象放到一个叫做处理器执行链(HandlerExcutionChain)的类保存

HandlerExecutionChain:类中保存着:1.处理器对象(MyController);2.项目中所有的拦截器List<HandlerInterceptor> interceptorList

方法调用: HandlerExecutionChain mappedHandler=getHandler(processeRequest);

3.DispatcherServlet把2中的HandlerExecutionChain中的处理器对象交给处理器适配器对象(多个)

处理器适配器:springmvc框架中的对象,需要实现HandlerAdapter接口
处理器适配器作用:执行处理器方法(调用MyController.doSome()得到返回值(ModelAndView))

中央调度器调用适配器:HandlerAdapter ha=getHandlerAdapter(mappedHandler.getHandler());
执行处理器方法:mv=ha.handle(processeddRequest, response,mappedHandler.getHandler());

4.DispatcherServlet把3中获取的ModelAndView交给视图解析器对象

视图解析器:springmvc中的对象,需要实现ViewResoler接口(可以有多个)
视图解析器作用:组成视图完整路径,使用前缀,后缀,并创建View对象
View是一个接口,表示视图的,在框架中jsp,html不是string表示,而是使用View和它的实现类表示视图

InternalResourceView:视图类,表示jsp文件,视图解析器会创建InternalResourceView对象
这个对象的里面,有一个属性url=/WEB-INF/view/show.jsp

5.DispatcherServlet把4步骤中创建的view对象获取到,调用View类自己的方法,把Model数据放入到request作用域
执行对象视图的forward,请求结束

 

posted @   白头吟  阅读(19)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
点击右上角即可分享
微信分享提示