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,请求结束
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!