跨域访问及CrossOrigin注解的内容
作者:互联网
@CrossOrigin注解
含义:用于SpringMVC中处理跨域请求.(不同的域名之间的访问)
注解支持的属性
属性 | 类型 | 是否必要 | 说明 |
---|---|---|---|
allowCredentials | String | 否 | 包含与请求的域相关的Cookie,使用时必须直指定具体的域 |
allowedHeaders | String[] | 否 | 请求头中的请求列表 |
exposedHeaders | String[] | 否 | 客户端允许访问的响应头列表 |
maxAge | long | 否 | 响应前的缓存最大有效时间,单位毫秒 |
methods | RequestMethod | 否 | 请求支持的方法,默认支持RequestMapping中设置的方法 |
origins | String[] | 否 | 所有支持的集合,如果没有定义,默认支持所有域 |
value | String[] | 否 | 同origins属行一样 |
解决跨域问题(“在不同网页之间进行跨域请求”)
-
首先创建两个不同的项目
-
发布网站至tomcat即不同端口(相同端口会导致端口占用)
![在这里插入图片描述](https://www.icode9.com/i/ll/?i=20210412161907428.png?,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L20wXzQ2MjI3MDQ2,size_16,color_FFFFFF,t_70#pic_cente
-
要实现跨域问题,则需要用到SpringMVC中的注解@CrossOrigin为了方便大家分析 我用了CrossTest为测试CrossOrigin的测试网站,用CrossOrigin为目标的网站
- 注意了:CrossTest的URL是http://localhost:8080/mv (这是发送端的网址)
- CrossOrigin的URL是http://localhost:8081/ (这是想要访问的网站)
- 注意了:CrossTest的URL是http://localhost:8080/mv (这是发送端的网址)
-
那么我们开始吧
-
在测试端的index.jsp中的添加代码如下(通过链接进入跨域的CrossOrigin)
<a href="http://localhost:8080/mv/CrossOriginTest/welcome">跨域</a>
-
好了 我们 可以需要访问的网站的控制层了(是CrossOrgin网站的控制层)
具体代码省略了,这是主要的代码)上面有个表格是标注的这个注解的属性 -
主要的代码是
@CrossOrigin(origins = "http://localhost:8081")
表示CrossOriginController控制器的所有方法可以处理来自"http://localhost:8081"域的请求
-
之后通过”welcome()“方法跳转”welcome.jsp“中
-
我的视图解析器放到这里了”WEB-INF/view/**.jsp“
-
具体看这里
-
welcom.jsp的内容我也copy一下给大家
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Title</title> </head> <body> Test is Successed!!! </body> </html>
-
好了大概就结束了!!!
总结:发布两个不同的网站,在要被访问的网站设置@CrossOrigin注解,并允许另一个网站可以发送请求。
大概就结束了!!!
总结:发布两个不同的网站,在要被访问的网站设置@CrossOrigin注解,并允许另一个网站可以发送请求。
标签:CrossOrigin,请求,网站,访问,注解,跨域 来源: https://blog.csdn.net/m0_46227046/article/details/115627011