SpringMVC技术

  • Post author:
  • Post category:其他




SpringMVC面经





一、SpringMVC工作原理

步骤 描述

Step1

客户端(浏览器)发送请求,直接请求到DispatcherServlet。


DispatcherServlet是SpringMVC的核心组件,是请求的入口,负责协调各个组件的工作。

Step2

DispatcherServlet根据请求信息调用HandlerMapping(适配器),解析请求对应的Handle(也就是Controller处理器)


HandleMapping是请求的处理器适配器,负责为请求找到合适的HandlerExecutionChain处理执行链,包括处理器(Handler)与拦截器等。

Step3

解析到Controller处理器后,开始到Service层执行具体业务逻辑,在Dao层对相应的数据进行操作。

Step4

处理器Controller完成业务逻辑后,会返回一个ModelAndView对象。其中Model是返回的数据对象,View是返回的逻辑视图。

Step5

接着ViewResolver(视图解析器)就会根据逻辑视图,根据视图名等信息,获得最终实际的View对象。

Step6

最后DispatcherServlet将Model对象中的数据传递给View视图进行视图渲染,把渲染后的View视图返回给请求者(浏览器),完成整个SpringMVC的工作流程。



二、SpringMVC的核心注解

注解 作用

@Controller
标记一个类作为SpringMVC的控制器。SpringMVC会扫描标记了该注解的类,然后扫描这个类下面带有@RequestMapping注解的方法,根据注解信息为该方法生成一个处理器对象。

@RestController
@RestController = @ResponseBody + @Controller

@RequestMapping
用于配置处理器的HTTP请求(post/get),URL等信息,可以作用在类和方法上,这样MVC就会对该方法生成一个处理器对象。

@ResponseBody
@Controller类下的返回对象都以JSON的形式返回。

@RequestParam
从Body中获取参数。

@PathVariable
从URL中获取参数。



三、SpringMVC拦截器

实现拦截器必须实现HandlerInterceptor,项目中的登录验证拦截就是在这里实现的。该接口中定义了三个方法:

方法 作用

preHandle
目标方法(Controller)执行之前,执行该方法

postHandle
目标方法(Controller)执行之后,DispatcherServlet进行视图的渲染之前执行

afterCompletion
在完成整个后端请求后执行



版权声明:本文为qq_43703196原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。