SpringMVC原理
- 用户向服务器发送请求,被DispatchServlet捕获
- DispatchServlet解析请求URL,得到资源标识符,调用HandlerMapping将请求映射到处理器
- DispatchServlet得到Handler,选择合适的HandlerAdapter
- Handler对数据处理完以后返回ModelAndView给DispatchServlet
- DispatchServlet运用ViewResolver将逻辑视图ModelAndView转化为真是图View
- DispatchServle通过解析ModelAndView()的参数最终展现出完整的view并返回给客户端
SpringMVC常用注解
- @Controller 用于类上,将一个类标记为控制器负责处理由DispatcherServlet 分发的请求
- @RequestMapping 用于请求地址映射,可用于类或方法上。
- @RequestParam 用于绑定单个请求参数值。有以下三个参数:
1.value:参数名字,即入参的请求参数名字,如username表示请求的参数区中的名字为username的参数的值将传入;
2.required:是否必须,默认是true,表示请求中一定要有相应的参数,否则将抛出异常;
3.defaultValue:默认值,表示如果请求中没有同名参数时的默认值,设置该参数时,自动将required设为false。 - @RequestBody 用于接收http请求的json数据,将json数据转化为java对象
- @ResponseBody 用于将控制器返回的对象转化为json响应给客户