跨域请求问题:CORS
1、编写过滤器类:需要实现Filter接口,并重写三个方法:
(1)先设置字符编码:
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
(2)重写init、destroy、doFilter方法
public class TestFilter2 implements Filter {
public void destroy() {
} public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws ServletException, IOException {
HttpServletResponse responseH = (HttpServletResponse) resp;
// responseH.setHeader("Access-Control-Allow-Origin", "*");
responseH.setHeader("Access-Control-Allow-Origin", "http://localhost:8090");
responseH.setHeader("Access-Control-Allow-Credentials", "true");
responseH.setHeader("Access-Control-Allow-Methods", "*");
responseH.setHeader("Access-Control-Allow-Headers", "Content-Type,Access-Token");
responseH.setHeader("Access-Control-Expose-Headers", "*");
chain.doFilter(req, resp); //本行代码表示,如果还有其他的过滤器,就调用其他的过滤器,这一行代码必须写在DoFilter方法的最后面
} public void init(FilterConfig config) throws ServletException { }
}
//给过滤器添加注解配置@WebFilter(filterName = "本类名",urlPatterns = "/*"),则不需要再去web.xml中注册了
//若不添加注解配置,则需要在web.xml中注册,才能使用:
<filter>
<filter-name>LocalFilter(过滤器名)</filter-name>
<filter-class>com.kuangchi.Green_Transport.filter.LocalFilter(过滤器类名)</filter-class>
</filter>
<filter-mapping>
<filter-name>LocalFilter</filter-name>
<url-pattern>/*</url-pattern> <!--过滤的路径,*代表访问所有路径的时候都会先访问这个过滤器-->
</filter-mapping>
//以上此种过滤器中设置请求头属性并设置web.xml中过滤器的设置方法,适用于SpringMVC 4.2以下版本,如果是SpringMVC 4.2及以上版本,用下面的添加方法在MVC相关的配置类里就可以了:
@configuration
public class WebConfig extends webMvcConfigurerAdapter{
@override
public void addCorsMapping (CorsRegistry registry){
registry.addMapping("/**/*").allowedOrigins("*");
}
}
跨域请求问题:CORS的更多相关文章
- 【fetch跨域请求】cors
当使用fetch 发起跨域请求时,CORS(跨域资源共享Cross-origin resource sharing) 请求fetch const body = {name:"Good boy ...
- ASP.NET Core-Docs:在 ASP.NET Core 中启用跨域请求(CORS)
ylbtech-ASP.NET Core-Docs:在 ASP.NET Core 中启用跨域请求(CORS) 1.返回顶部 2.返回顶部 3.返回顶部 4.返回顶部 5.返回顶部 1. ...
- ajax跨域请求解决方案 CORS和JSONP
什么是跨域: 只要协议.域名.端口有任何一个不同,都会被当成不同的域.而由于浏览器的同源策略(同源策略:域名.协议.端口均相同),浏览器之间要隔离不同域的内容,禁止互相操作,不能执行其他网站的js.所 ...
- 在 ASP.NET Core 中启用跨域请求(CORS)
本文介绍如何在 ASP.NET Core 的应用程序中启用 CORS. 浏览器安全可以防止网页向其他域发送请求,而不是为网页提供服务. 此限制称为相同源策略. 同一源策略可防止恶意站点读取另一个站点中 ...
- ssm框架如果想要跨域请求,cors跨域
<!-- 跨域 --> <mvc:cors> <mvc:mapping path="/**"/> </mvc:cors> 在spri ...
- JS实现跨域请求数据--CORS
https://www.cnblogs.com/cjw-ryh/p/7674038.html?utm_source=debugrun&utm_medium=referral
- Django跨域请求之JSONP和CORS
现在来新建一个Django项目server01,url配置为 url(r'^getData.html$',views.get_data) 其对应的视图函数为get_data: from django. ...
- .Net Core 3.0 Api json web token 中间件签权验证和 Cors 中间件处理跨域请求
第一步:在Nuget上安装"Microsoft.AspNet.WebApi.Cors"包,并对api controller使用[EnableCors]特性以及Microsoft.A ...
- CORS跨域请求规则以及在Spring中的实现
CORS: 通常情况下浏览器禁止AJAX从外部获取资源,因此就衍生了CORS这一标准体系,来实现跨域请求. CORS是一个W3C标准,全称是"跨域资源共享"(Cross-origi ...
- Flask框架踩坑之ajax跨域请求
业务场景: 前后端分离需要对接数据接口. 接口测试是在postman做的,今天才开始和前端对接,由于这是我第一次做后端接口开发(第一次嘛,问题比较多)所以在此记录分享我的踩坑之旅,以便能更好的理解,应 ...
随机推荐
- transient关键字和serialVersionUID
此文章很大部分转载于Java的架构师技术栈微信公众号,博主均测试通过加上自己理解写出 最近阅读java集合的源码,发现transient关键字,就了解了一下他的用法,transient关键字一般在实现 ...
- 你们见过java类型转换,自己转自己失败的情况吗?很神奇的操作
问题就是上面这个问题. List<SlaughterProductModelForm> slaughterProducts = slaughterForm.getSlaughterProd ...
- C# 根据天、周、月汇总统计生成统计报表
先看核心代码: public List<DataEntity> SearchShopSalesReport(DateTimeOffset? dateFrom, DateTimeOffset ...
- ASP .NET CORE 源码地址
ASP .NET CORE 源码地址:https://github.com/dotnet/ 下拉可以查找相应的源码信息, 例如:查找 ASP .NET CORE Microsoft.Extension ...
- Ream--(objc)写事务精简方案
Ream--(objc)写事务精简方案 地址: REALM-- Realm官方提供的的写事务有两种方式: A[realm beginWriteTransaction]; // ... [realm c ...
- docker jenkins 前端node项目 自动化部署异常 env: ‘node’: No such file or directory
出现问题是docker jenkins 里面没有自动安装node导致找不到这个Node命令 解决方案:手动安装nodejs # 进入jenkins对应容器中 # docker exec -it [对应 ...
- GitLab Runner
GitLab Runner是一个开源项目,用于运行你的作业(jobs)并将结果发送回GitLab.它与GitLab CI结合使用,GitLab CI是GitLab用于协调jobs的开源持续集成服务. ...
- 邓 【PHP大全】
获取对应的时间戳(只保存月底的时间戳) function getTimeDate($timeType, $time, $count) { switch ($timeType) { case 'MONT ...
- OBS使用教程
OBS使用教程 OBS使用教程:录屏热键的设置 视频:基础画布分辨率1920/1080 1366,768输出缩放分辨率常用FPS值 30或者60 输出:输出模式:高级录像:编码器x264码率控制 CB ...
- 论AMD内核如何使用Android Studio虚拟机
其实之前和老师求证过AMD内核要用虚拟机的话应求助第三方模拟器(不然速度太慢)或直接使用真机测试,当时拿着虚拟机的报错简单搜索了下只翻到了一个用谷歌第三方工具的(检索时关键词不对的锅),觉得麻烦就没去 ...