1. 什么是SpringMVC
Spring MVC是一个基于Java的实现了MVC设计模式的请求驱动类型的轻量级Web框架,通过把模型-视图-控制器分离,将web层进行职责解耦,把复杂的web应用分成逻辑清晰的几部分,简化开发,减少出错,方便组内开发人员之间的配合。
2. 常用注解
-
@RequestMapping:用于处理请求 url映射的注解,可用于类或方法上。用于类上,则表示类中的所有响应请求的方法都是以该地址作为父路径。
-
@RequestBody:注解实现接收http请求的json数据,将json转换为java对象。
-
@ResponseBody:注解实现将conreoller方法返回对象转化为json对象响应给客户。
-
@RestController:相当于@ResponseBody + @Controller;
一般用于controller类上:
-
@PathVariable :请求路径上有个id的变量值,可以通过@PathVariable来获取
代码:
@RequestMapping(value = “/page/{id}”, method = RequestMethod.GET)
public xxx fun(@PathVariable("id") Integer id){
}
- @RequestParam 获取url上参数 例如 www.xxx/id ?10 这种
代码:
@RequestMapping(value = “/page”, method = RequestMethod.GET)
public xxx fun(@RequestParam ("id") Integer id){
}
3.Spring 运行流程
Spring MVC的主要组件:
(1)前端控制器 DispatcherServlet(不需要程序员开发)
作用:接收请求、响应结果,相当于转发器,有了DispatcherServlet 就减少了其它组件之间的耦合度。
(2)处理器映射器HandlerMapping(不需要程序员开发)
作用:根据请求的URL来查找Handler
(3)处理器适配器HandlerAdapter
注意:在编写Handler的时候要按照HandlerAdapter要求的规则去编写,这样适配器HandlerAdapter才可以正确的去执行Handler。
(4)处理器Handler(需要程序员开发)
(5)视图解析器 ViewResolver(不需要程序员开发)
作用:进行视图的解析,根据视图逻辑名解析成真正的视图(view)
(6)视图View(需要程序员开发jsp)
运行流程图: