方法1:采用过滤器
package cn.mwee.wpos.report.filter;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* 跨域请求处理
*/
public class CrossOriginFilter implements Filter{
private boolean isCross = false;
@Override
public void destroy() {
isCross = false;
}
@Override
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
if(isCross){
HttpServletRequest httpServletRequest = (HttpServletRequest)request;
HttpServletResponse httpServletResponse = (HttpServletResponse)response;
System.out.println("拦截请求: "+httpServletRequest.getServletPath());
httpServletResponse.setHeader("Access-Control-Allow-Origin", "*");
httpServletResponse.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
httpServletResponse.setHeader("Access-Control-Max-Age", "0");
httpServletResponse.setHeader("Access-Control-Allow-Headers", "Origin, No-Cache, X-Requested-With, If-Modified-Since, Pragma, Last-Modified, Cache-Control, Expires, Content-Type, X-E4M-With,userId,token");
httpServletResponse.setHeader("Access-Control-Allow-Credentials", "true");
httpServletResponse.setHeader("XDomainRequestAllowed","1");
}
chain.doFilter(request, response);
}
@Override
public void init(FilterConfig filterConfig) throws ServletException {
String isCrossStr = filterConfig.getInitParameter("IsCross");
isCross = isCrossStr.equals("true")?true:false;
System.out.println(isCrossStr);
}
}
然后在web.xml中设置
<!--跨域请求设置-->
<filter>
<filter-name>CrossOriginFilter</filter-name>
<filter-class>cn.mwee.wpos.report.filter.CrossOriginFilter/filter-class>
<init-param>
<param-name>IsCross</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CrossOriginFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
方法2:采用springmvc 的跨域设置
<!-- API 接口跨域配置 -->
<mvc:cors>
<mvc:mapping path="/**"
allowed-origins="*"
allowed-methods="POST, GET, OPTIONS, DELETE, PUT"
allowed-headers="Content-Type, Access-Control-Allow-Headers, Authorization, X-Requested-With"
allow-credentials="true" />
</mvc:cors>
分享到:
相关推荐
主要介绍了Springmvc ajax跨域请求处理方法实例详解,需要的朋友可以参考下
NULL 博文链接:https://nethub2.iteye.com/blog/2333782
之前写过通过注释的方法解决跨域请求的方法,需要每次都在controll类使用注解,这次通过springmvc的拦截器解决: 继承SpringMVC的类HandlerInterceptor重写preHandle方法,这个方法会在到达 controll之前调用,如下 ...
最近做一个微信小项目遇到一个跨域问题,就是我的前端和后端是放在不同的服务器上的,然后使用opst请求的时候报错,所以通过查找相关的资料终于解决了,下面这篇文章主要给大家介绍了关于Spring MVC中自带的跨域问题...
主要介绍了快速解决跨域请求问题:jsonp和CORS,涉及jsonp和CORS的介绍,分享了前端 jQuery 写法,后端 SpringMVC 配置,后端非 SpringMVC 配置等相关内容,具有一定借鉴价值,需要的朋友可以参考下。
本人在前辈《从MVC到前后端分离(REST-个人也认为是目前比较流行...即具有统一响应结构、 前后台数据流转机制(HTTP消息与Java对象的互相转化机制)、统一的异常处理机制、参数验证机制、Cors跨域请求机制以及鉴权机制。
Spring Boot 使用 Redis 进行配置 Session 共享(Ajax 跨域) 源码下载。
1.spring MVC + spring +mybatis,是标准的MVC设计模式,将整个系统划分为显示层,Controller层,Service层,DAO层四层使用Spring MVC负责请求的转发和视图管理spring实现业务对象管理,mybatis作为数据对象的持久...
跨域问题是我们大家在开发中会经常遇到的一个问题,所以下面这篇文章主要给大家介绍了关于Spring MVC中处理ajax请求的跨域问题与注意事项的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面...
课程以实际应用为导向,从基础...最后做前后端分离的项目开发,前端使用当下流利的Vue框架,跨域ajax请求与服务器交互数据,课程深入浅出,在该视频中没有任何废话,全程干货,只需要四天时间即可拿下SpringMVC框架。
主要介绍了详解spring mvc 请求转发和重定向,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
最近在做一个前后端分离的项目, 前端用的是Vue后端使用的是springboot, 在项目整合的时候发现前端调用后端接口报错403跨域请求问题 前端跨域请求已解决, 那么问题就出在后端了, 找了一些资料找到了很多种方法, 这里...
能很好的帮助其他项目做前后端分析,并且不需要其他子系统关心权限,并且该项目支持跨域请求 功能介绍 * sso登录:统一登录后,跳转任何子系统不需要再次登录 * 鉴权:在子项目中,filter拦截所有数据请求转发到sso...
在职开发人员学完后会让你的薪资更高,让你更了解互联网是如何解决高并发 学完SSM框架的同学就可以学习,能让你切身感受到企业级开发环境目标1:掌握跨域请求CORS解决方案目标2:完成结算页收货人地址选择功能目标3:...
基于JavaScript的洪涝监测系统源码.zip 使用ant desgin完成项目前端页面 其中,将mock服务器关闭,使用fetch实现跨域session请求等, 后台使用springmvc接收数据 链接跳转以window.location.href方式前端跳转
手写Tomca之深度解析动态资源请求原理 深度解析springMVC实现原理(手写springMVC框架) Java验证码 正则黑名单爬虫系统 深入数据库连接池内部运转原理 分布式服务下的交易一致 企业必备技能之面向服务编程Web-Service...
Shop SSM框架搭建的网上游戏商城 项目信息 项目名字:WePlay 项目描述:基于SSM框架的网上游戏商城 环境配置 ...跨域请求 在Controller控制器中添加了@CrossOrigin注解。 用token验证用户身份 使用
webService ##简介 展示了以下j2ee工具的使用 1.jersey,webservice工具 2.springMVC,内含webService的客户端调用,即类org.springframework.web.client.RestTemplate ...4.json跨域请求,使用filter实现
后端框架采用 Spring + SpringMVC + MyBatis + DubboX Vue 数据请求 分布式应用程序协调服务 Zookeeper 分布式文件系统 FastDFS 全文检索技术 Solr 分布式缓存 Redis 页面静态化 消息中间件 权限控制框架 Spring ...