文章目录
Spring MVC
MVC:model view controller
- MVC全名是Model View Controller 模型视图控制器,每个部分各司其职。
- Model:数据模型,JavaBean的类,用来进行数据封装。
- View:指JSP、HTML用来展示数据给用户
- Controller:用来接收用户的请求,整个流程的控制器。用来进行数据校验等。
配置文件:Maven基本项目模板配置
遵循resultful,json传输数据格式
url地址映射方法
都可以用RequestMapping去代替。
@RequestMapping(value="/blog /{id}", method = RequestMethod.DELETE)
但我习惯用:
方法的映射注解在方法头上:
请求方式注解 | 解释 | 方法签名 |
---|---|---|
@GetMapping(“account/{id}”) | 获取get请求,并传入id 查找 | queryAccountById(@PathVariable Integer id) |
@DeleteMapping(“account/{id}”) | 获取delete请求,并传入id 删除 | deleteAccount(@PathVariable Integer id) |
@PostMapping(“account”) | 获取post请求,并接受请求体中数据 存储 | saveAccount(@RequestBody Account account) |
@PutMapping(“account”) | 获取put请求,并接受请求体中数据 更新 | updateAccount(@RequestBody Account account) |
属性(方法参数)的映射:
属性对应注解 | 解释 | 位置 |
---|---|---|
@ResponseBody | 对象返回json字符串 | 常用:方法头 也可:返回对象前,修饰符之后 |
@RequestBody | 请求体json字符串接受成对象 | 形参前面 |
@RequestParam | 请求中的指定名称的参数传递给控制器中的形参赋值 | 形参前面 需要设置value属性 |
@PathVariable | 拥有绑定url中的占位符的。Restful风格的URL | 形参前面 |
不常用
属性对应注解 | 解释 | 位置 |
---|---|---|
@RequestHeader | 获取指定请求头的值 | 请求头的名称 |
@CookieValue | 用于获取指定cookie的名称的值 | value:cookie的名称 |
@ModelAttribute | 1. 出现在方法上:表示当前方法会在控制器方法执行前线执行。 2. 出现在参数上:获取指定的数据给参数赋值。 | 方法或参数 |
@SessionAttributes | 用于多次执行控制器方法间的参数共享 | value:指定存入属性的名称 |
返回视图 增加数据(设置属性)
返回数据的四种方式:
- request.setAttribute(“key”,“value”);
- modelAndView.addObject(“key”,“value”);
- model.addAttribute(“key”,“value”);
- map.put(“key”,“value”);
请求转发 重定向 默认配置路径
- 请求转发 “forward: index.jsp” 同一个请求 webapp下
- 重定向 “redirect: index.jsp” 两个请求 webapp下
- 默认路径配置文件中
//请求转发
requst.getRequestDispatcher("index.jsp").forword(request,response);
return "forward:index.jsp";
modelAndView.setViewName("forward: index.jsp");
//重定向
response.sendRedirect("login.jsp");
return "redirect:/index.jsp";
modelAndView.setViewName("redirect:index.jsp");
//默认路径
return "main";
modelAndView.setViewName("main");