什么是 SpringMvc?
SpringMvc 是 spring 的一个模块,基于 MVC 的一个框架,无需中间整合层来整合。
SpringMVC 工作原理?
a、客户端发送请求到 DispatcherServlet
b、DispatcherServlet 查询 handlerMapping 找到处理请求的 Controller c、Controller 调用业务逻辑后,返回 ModelAndView
d、DispatcherServlet 查询 ModelAndView,找到指定视图e、视图将结果返回到客户端
SpringMVC 流程?
a、用户发送请求至前端控制器 DispatcherServlet。
b、DispatcherServlet 收到请求调用 HandlerMapping 处理器映射器。
c、处理器映射器找到具体的处理器(可以根据 xml 配置、注解进行查找),生成处理器对象及处理器拦截器(如果有则生成)一并返回给 DispatcherServlet。
d、DispatcherServlet 调用 HandlerAdapter 处理器适配器。
e、HandlerAdapter 经过适配调用具体的处理器(Controller,也叫后端控制器)。
f、Controller 执行完成返回 ModelAndView。
g. HandlerAdapter 将 controller 执行结果 ModelAndView 返回给 DispatcherServlet。h、DispatcherServlet 将 ModelAndView 传给 ViewReslover 视图解析器。
i、ViewReslover 解析后返回具体 View。
g、DispatcherServlet 根据 View 进行渲染视图(即将模型数据填充至视图中)。
k、DispatcherServlet 响应用户。
Spring MVC中的拦截器(Interceptor)类似于Servlet中的过滤器(Filter),它主要用于拦截用户请求并作相应的处理。例如通过拦截器可以进行权限验证、记录请求信息的日志、判断用户是否登录等。
要使用Spring MVC中的拦截器,就需要对拦截器类进行定义和配置。通常拦截器类可以通过两种方式来定义。
通过实现HandlerInterceptor接口 继承HandlerInterceptor接口的实现类(如:HandlerInterceptorAdapter)来定义