目录
springMVC常用注解(一般用在后端控制器方法的入参里面,用于获取前端传递的信息)
@RequestParam注解:
@RequestBody注解
@RequestHeader 获取请求头的值
代码实例:
@PathVaribale注解
restful风格
springMVC常用注解(一般用在后端控制器方法的入参里面,用于获取前端传递的信息)
(完整版示例代码可接前几篇关于springMVC的文章,这是一个整体的演示springMVC的demo)
@RequestParam注解:
作用:把请求中的指定名称的参数传递给控制器中的形参赋值
前端请求参数name与后端方法的参数不一致,则可用@RequestParam注解,指定一下前端请求参数
其内部属性为:
- value:请求参数中的名称,与前端传递的参数相对应
- required:默认值是true,如果是true的话,value必须提供与前端请求参数一致的参数,如果是false则不一定要提供
- defaultValue = "abc" 默认赋值
@RequestBody注解
作用:用于获取请求体的内容(注意:get方法不可以,必须用post方法)
@RequestHeader 获取请求头的值
@CookieValue 获取到cookie中的值
代码实例:
@Controller
@RequestMapping("/dept")
public class DeptController {
/*** RequestParam注解* required = false ,默认值是true,必须要传请求参数,不传就会报错* defaultValue = "abc" 如果没有传请求参数,使用默认值* @return*/@RequestMapping("/save1.do")public String save(@RequestParam(value = "username",required = false,defaultValue = "abc") String name){System.out.println("姓名:"+name);return "suc";}/**@RequestBody获取请求体的内容*/@RequestMapping("/save2.do")public String save2(@RequestBody String body){System.out.println("请求体内容:"+body);return "suc";}/*** RequestHeader 获取请求头的值* @return*/@RequestMapping("/save3.do")public String save3(@RequestHeader(value = "Accept") String header){System.out.println("Accept请求头的值:"+header);return "suc";}/*** CookieValue 获取到cookie中的值* @return*/@RequestMapping("/save4.do")public String save4(@CookieValue(value = "JSESSIONID") String cookie){System.out.println("值:"+cookie);return "suc";}
}
@PathVaribale注解
代码举例:通过path = "/emp/{id}" 获取前端传过来的参数和id然后通过@PathVariable(value = "id")赋值给Integer id
此时,前端传递的可以是localhost:8081/emp/5 此时Integer id就是5
/*** 查询所有* @return*/
@RequestMapping(path = "/emp/{id}",method = RequestMethod.GET) //这里是restful风格
public String findById(@PathVariable(value = "id") Integer id){System.out.println("通过id查询员工..."+id);return "suc";
}
这里给一个index.jsp用于前端演示
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>首页</title>
</head>
<body><h3>演示SpringMVC常用注解</h3>
<h4>@RequestBody注解</h4>
<form method="post" action="/dept/save2.do">用户名:<input type="text" name="username01"/>密码:<input type="password" name="password"/><input type="submit" name="submit" value="提交"/>
</form>
<h4>@RequestHeader注解</h4>
<form method="post" action="/dept/save3.do">用户名:<input type="text" name="username01"/>密码:<input type="password" name="password"/><input type="submit" name="submit" value="提交"/>
</form>
<hr/>
<h3>演示Rrestful风格的请求路径显示</h3>
<form method="post" action="/emp">用户名:<input type="text" name="username01"/>密码:<input type="password" name="password"/><input type="submit" name="submit" value="提交"/>
</form></body>
</html>