简述springMVC的运作流程
1、用户通过浏览器向服务器发送请求,请求被SpringMVC的前端控制器DispatcherServlet拦截。
2、前端控制器将拦截的请求发送给处理器映射器HandlerMapping,处理器映射器根据请求URL创建相应的处理器及拦截器,并返回给前端控制器。
3、前端控制器,根据返回的信息,调用处理器适配器HandlerAdapter,处理器映射器执行处理器中相应的方法
4、处理器Handler执行完方法后,返回ModelAndView对象,该对象包含数据和视图。一路返回到前端控制器。
5、前端控制器根据返回来的数据和视图,调用相应的视图解析器ViewResolver,视图解析器解析后,向前端控制器返回具体地视图。
6、前端控制器对视图进行渲染,视图经过渲染后返回给客户端浏览器显示。
2、SpringMVC的常用注解
@Controller 将指定的类定义为控制器注入spring容器中
@RequestMapping 定义请求映射,可用于控制器类或方法上
@RequestBody 将Jason数据类型转化为Java类型
@ResponseBody 与@RequestBody相反,将java类型转化为jason类型
@RequestParameter 指定前端请求参数的别名,即该注解的name值与同名的形式参数绑定
@PathVariable 将url中的占位符绑定到形式参数中
组合注解
@RestController 包含@Controller和@ResponseBody的组合注解
@GetMapping get请求方式的Mapping,等价于@RequestMapping(value="/users/login.action",method=RequestMehod.GET)
----- 以下的注解与@GetMapping类似,只是请求方式不同而已-------------
@PostMapping
@PatchMapping
@DeleteMapping
@PutMapping
@PathVariable:指的是路径参数
@RequestParam:是对参数的说明
@RequestParam(value=“参数别名”,required=false,defaultValue=“默认值”)