SpringMVC 介绍和使用
JSP-Servlet 工作时序图
从客户端发起的请求到 Servlet(C),经过处理 Model(M),转发至视图 View(V)
SpringMVC 工作时序图
SpringMVC 实现并没有脱离上述核心过程,只不过对 JSP-Servlet 进行了封装,简化开发流程,提供了额外的基于注解的 url 映射,http 表单参数转换,全局异常处理,拦截器实现等。 SpringMVC 提供了统一的请求入口 DispatchServlet,识别请求由那个 Servlet 处理业务,业务 Servlet 处理完成后返回处理结果,DispatchServlet 转发至视图处理器形成 View,响应给客户端
SpringMVC 工作流程图
几个关键类
- HandlerMapping:configure 中的映射,一个 DispatchServlet 中可配置多个 HandlerMapping,请求到来,通过 doHandler 遍历 HandlerMapping 并返回HandlerExecuteChain(包含了拦截器)。
- HandlerAdapter:适配器模式,声明支持的Handler,通过调用 handler 方法,适配到业务 Servlet
- BusinessServlet处理完成后返回 ModelAndView 对象
- ViewResolver:处理返回的 ModelAndView,返回 View name
- View:返回 response
- HandlerExceptionResolver:处理异常
- HandlerInterceptor:拦截器(和 AOP,过滤器重复,在开发中用一种即可,否则容易迷惑)
SprigMVC
1:JSP-Servlet,从客户端发起的请求到 Servlet(C),经过处理 Model(M),转发至视图 View(V)
2:SpringMVC 实现并没有脱离上述核心过程,只不过对 JSP-Servlet 进行了封装,简化开发流程,提供了额外的基于注解的 url 映射,http 表单参数转换,全局异常处理,拦截器实现等。
3:SpringMVC 提供了统一的请求入口 DispatchServlet,识别请求由那个 Servlet 处理业务,业务 Servlet 处理完成后返回处理结果,DispatchServlet 转发至视图处理器形成View,响应给客户端
4:体系结构
- 4.1:HandlerMapping:configure 中的映射,一个 DispatchServlet 中可配置多个 HandlerMapping,请求到来,通过 doHandler 遍历 HandlerMapping 并返回HandlerExecuteChain(包含了拦截器)。
- 4.2:HandlerAdapter:适配器模式,声明支持的 Handler,通过调用 handler 方法,适配到业务 Servlet
- 4.3:BusinessServlet处理完成后返回 ModelAndView 对象
- 4.4:ViewResolver:处理返回的 ModelAndView,返回 View name
- 4.5:View:返回 response
- 4.6:HandlerExceptionResolver:处理异常
- 4.7:HandlerInterceptor:拦截器(和 AOP,过滤器重复,在开发中用一种即可,否则容易迷惑)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论