Spring MVC的工作原理
Spring MVC的工作原理如下:
- DispatcherServlet 接收用户的请求
- 找到用于处理request的 handler 和 Interceptors,构造成 HandlerExecutionChain 执行链
- 找到 handler 相对应的 HandlerAdapter
- 执行所有注册拦截器的preHandler方法
- 调用 HandlerAdapter 的 handle() 方法处理请求,返回 ModelAndView
- 倒序执行所有注册拦截器的postHandler方法
- 请求视图解析和视图渲染
Spring MVC的主要组件?
- 前端控制器(DispatcherServlet):接收用户请求,给用户返回结果。
- 处理器映射器(HandlerMapping):根据请求的url路径,通过注解或者xml配置,寻找匹配的Handler。
- 处理器适配器(HandlerAdapter):Handler 的适配器,调用 handler 的方法处理请求。
- 处理器(Handler):执行相关的请求处理逻辑,并返回相应的数据和视图信息,将其封装到ModelAndView对象中。
- 视图解析器(ViewResolver):将逻辑视图名解析成真正的视图View。
- 视图(View):接口类,实现类可支持不同的View类型(JSP、FreeMarker、Excel等)。
Spring MVC的常用注解由有哪些?
- @Controller:用于标识此类的实例是一个控制器。
- @RequestMapping:映射Web请求(访问路径和参数)。
- @ResponseBody:注解返回数据而不是返回页面
- @RequestBody:注解实现接收 http 请求的 json 数据,将 json 数据转换为 java 对象。
- @