0%

示例 @CrossOrigin注解的使用

示例 @CrossOrigin注解的使用

接下来测试跨域发送请求,再新建一个项目CrossOriginTest,加入所需的jar文件,示例代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
package org.fkit.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.GetMapping;

// 允许所有域发送过来的请求
@CrossOrigin(maxAge = 3600)
@Controller
public class CrossOriginController
{
// 只允许origins属性中指定的域的请求
@CrossOrigin(origins = "http://localhost:8080/VariableTest")
@GetMapping(value = "/welcome")
public String welcome()
{
System.out.println("处理跨域请求");
return "welcome";
}
}

CrossOriginController类和welcome方法上都使用了@CrossOrigin注解。 welcome方法接收到跨域请求进行简单处理后,跳转到welcome.jsp

1
2
3
4
5
6
7
8
9
10
11
12
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>测试@CrossOrigin注解</title>
</head>
<body>
<br>恭喜您,测试跨域访问成功!
</body>
</html>

此外,还需要在web.xml文件中配置Spring MVC的前端控制器DispatcherServlet,因为每次配置基本一致,此处不再赘述,读者可自行配置。
同时部署VariableTestCrossOriginTest两个Web应用,在浏览器中输入如下URL来测试进入VariableTest应用:

1
http://localhost:8080/VariableTest/

然后测试@CrossOrigin注解超链接:

1
2
<!-- 跨域请求 -->
<a href="http://localhost:8080/CrossOriginTest/welcome">测试@CrossOrigin注解</a>

向另一个Web应用CrossOriginTest发送跨域请求,CrossOriginTest应用的CrossOriginController控制器的welcome方法将会处理这个跨域请求,控制台输出结果如下:

1
处理跨域请求

同时浏览器上将显示CrossOriginTest应用的welcome.jsp页面。

总结

@CrossOrigin注解可以接收从另一个Web应用发来的跨域请求。

原文链接: 示例 @CrossOrigin注解的使用