`
Luob.
  • 浏览: 1568604 次
  • 来自: 上海
社区版块
存档分类
最新评论

SpringMVC 跨域请求

mvc 
阅读更多
方法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跨域请求处理方法实例详解

    主要介绍了Springmvc ajax跨域请求处理方法实例详解,需要的朋友可以参考下

    基于Spring和Spring MVC实现可跨域访问的REST服务

    NULL 博文链接:https://nethub2.iteye.com/blog/2333782

    利用SpringMVC过滤器解决vue跨域请求的问题

    之前写过通过注释的方法解决跨域请求的方法,需要每次都在controll类使用注解,这次通过springmvc的拦截器解决: 继承SpringMVC的类HandlerInterceptor重写preHandle方法,这个方法会在到达 controll之前调用,如下 ...

    Spring MVC中自带的跨域问题解决方法

    最近做一个微信小项目遇到一个跨域问题,就是我的前端和后端是放在不同的服务器上的,然后使用opst请求的时候报错,所以通过查找相关的资料终于解决了,下面这篇文章主要给大家介绍了关于Spring MVC中自带的跨域问题...

    快速解决跨域请求问题:jsonp和CORS

    主要介绍了快速解决跨域请求问题:jsonp和CORS,涉及jsonp和CORS的介绍,分享了前端 jQuery 写法,后端 SpringMVC 配置,后端非 SpringMVC 配置等相关内容,具有一定借鉴价值,需要的朋友可以参考下。

    Maven整合rest+SpringMvc实例

    本人在前辈《从MVC到前后端分离(REST-个人也认为是目前比较流行...即具有统一响应结构、 前后台数据流转机制(HTTP消息与Java对象的互相转化机制)、统一的异常处理机制、参数验证机制、Cors跨域请求机制以及鉴权机制。

    Spring Boot Redis Session 共享(Ajax 跨域)

    Spring Boot 使用 Redis 进行配置 Session 共享(Ajax 跨域) 源码下载。

    免费Spring+SpringMVC+Mybatis框架整合例子(SSM)支持跨域

    1.spring MVC + spring +mybatis,是标准的MVC设计模式,将整个系统划分为显示层,Controller层,Service层,DAO层四层使用Spring MVC负责请求的转发和视图管理spring实现业务对象管理,mybatis作为数据对象的持久...

    Spring MVC中处理ajax请求的跨域问题与注意事项详解

    跨域问题是我们大家在开发中会经常遇到的一个问题,所以下面这篇文章主要给大家介绍了关于Spring MVC中处理ajax请求的跨域问题与注意事项的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面...

    动力节点荣姐SpringMVC教程学习文档分享

    课程以实际应用为导向,从基础...最后做前后端分离的项目开发,前端使用当下流利的Vue框架,跨域ajax请求与服务器交互数据,课程深入浅出,在该视频中没有任何废话,全程干货,只需要四天时间即可拿下SpringMVC框架。

    详解spring mvc 请求转发和重定向

    主要介绍了详解spring mvc 请求转发和重定向,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    解决Vue调用springboot接口403跨域问题

    最近在做一个前后端分离的项目, 前端用的是Vue后端使用的是springboot, 在项目整合的时候发现前端调用后端接口报错403跨域请求问题 前端跨域请求已解决, 那么问题就出在后端了, 找了一些资料找到了很多种方法, 这里...

    civism-sso:基于springmvc+redis+shiro 实现的分布式单点登录系统

    能很好的帮助其他项目做前后端分析,并且不需要其他子系统关心权限,并且该项目支持跨域请求 功能介绍 * sso登录:统一登录后,跳转任何子系统不需要再次登录 * 鉴权:在子项目中,filter拦截所有数据请求转发到sso...

    2小时学会电商订单提交CORS跨域解决方法

    在职开发人员学完后会让你的薪资更高,让你更了解互联网是如何解决高并发 学完SSM框架的同学就可以学习,能让你切身感受到企业级开发环境目标1:掌握跨域请求CORS解决方案目标2:完成结算页收货人地址选择功能目标3:...

    基于JavaScript的洪涝监测系统源码.zip

    基于JavaScript的洪涝监测系统源码.zip 使用ant desgin完成项目前端页面 其中,将mock服务器关闭,使用fetch实现跨域session请求等, 后台使用springmvc接收数据 链接跳转以window.location.href方式前端跳转

    JAVA高并发高性能高可用高扩展架构视频教程

    手写Tomca之深度解析动态资源请求原理 深度解析springMVC实现原理(手写springMVC框架) Java验证码 正则黑名单爬虫系统 深入数据库连接池内部运转原理 分布式服务下的交易一致 企业必备技能之面向服务编程Web-Service...

    shop:SSM 框架搭建的网上游戏商城(仿Steam)

    Shop SSM框架搭建的网上游戏商城 项目信息 项目名字:WePlay 项目描述:基于SSM框架的网上游戏商城 环境配置 ...跨域请求  在Controller控制器中添加了@CrossOrigin注解。 用token验证用户身份  使用

    WebService:网络服务

    webService ##简介 展示了以下j2ee工具的使用 1.jersey,webservice工具 2.springMVC,内含webService的客户端调用,即类org.springframework.web.client.RestTemplate ...4.json跨域请求,使用filter实现

    人工智能-项目实践-信息检索-Java 分布式项(SSM、分布式Dubbo、全文检索Solr、Vue、Zookeeper、文件系

    后端框架采用 Spring + SpringMVC + MyBatis + DubboX Vue 数据请求 分布式应用程序协调服务 Zookeeper 分布式文件系统 FastDFS 全文检索技术 Solr 分布式缓存 Redis 页面静态化 消息中间件 权限控制框架 Spring ...

Global site tag (gtag.js) - Google Analytics