SpringMVC中注解完善
1、@PostMapping
作用:
指定当前发送请求的方式只可以是post请求
属性:
和@RequestMapping中属性一致
代码实现
@PostMapping("/userControllerA")
public String userControllerA(){
return "forward:/success.jsp";
}
2、@GetMapping
作用:
指定当前发送请求的方式只可以是get请求
属性:
和@RequestMapping中属性一致
代码实现:
@GetMapping("/userControllerA")
public String userControllerA(){
return "forward:/success.jsp";
}
3、@RestController
作用:
书写到类上,代表该类中所有控制单元方法均是ajax响应 相当于@ResponseBody+@Controller
属性:
其中的属性和@Controller中一样
代码实现:
@RestController
public class UserController {
}
4、@JsonFormat
作用:
处理响应json 数据的处理
属性:
pattern :指定响应时间日期的格式
Timezone:指定响应的时区,否则会有8个小时的时间差
代码实现:
@DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd" ,timezone="GMT+8")
private Date birth;
5、@RequestBody
作用:
用于获取请求体json格式的字符串内容。直接使用得到是 key=value&key=value...结构的数据,get 请求方式不适用。
属性:
required:是否必须有请求体。默认值是:true。当取值为 true 时,get 请求方式会报错。如果取值 为 false,get 请求得到是null。
实现:
$(function () {
var jsonObj ={name:"zs",pwd:"123"};
var str =JSON.stringify(jsonObj);
$.ajax({
type:"post",
url:"testController",
/*data:'{"name":"zs","password":"123"}',*/
data:str,
contentType:"application/json",
})
})
@RequestMapping("/useRequestBody")
public String useRequestBody(@RequestBody(required=false) User user){
System.out.println(body);
return "msb";
}
6、@CrossOrigin
什么是跨域
出于浏览器的同源策略限制。同源策略(SameOriginPolicy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。可以说Web是构建在同源策略基础之上的,浏览器只是针对同源策略的一种实现。同源策略会阻止一个域的javascript脚本和另外一个域的内容进行交互。所谓同源(即指在同一个域)就是两个页面具有相同的协议(protocol),主机(host)和端口号(port)
http://127.0.0.1:8080/msb/index.jsp基础
https://127.0.0.1:8080/msb/index.jsp 协议不一样
http://192.168.24.11:8080/msb/index.jsp IP不一致
http://127.0.0.1:8888/msb/index.jsp 端口不一致
http://localhost:8080/msb/index.jsp IP不一致
作用:
解决ajax请求之间的跨域问题
属性:
origins : 允许可访问的域列表IP
maxAge:准备响应前的缓存持续的最大时间(以秒为单位)。
代码实现:
@CrossOrigin(origins = "http://domain2.com", maxAge = 3600)
@RestController
@RequestMapping("/account")
public class AccountController {
@GetMapping("/{id}")
public Account receive(@PathVariable Long id) { }
}
标签:14,SpringMVC,public,jsp,同源,注解,属性,msb,请求 From: https://www.cnblogs.com/89564f/p/17156498.html