专栏首页Java Web学习前后端分离ssm配置跨域
原创

前后端分离ssm配置跨域

前后端分离开发需要跨域,之前只会pringboot跨域,只需要一个配置类即可,下面记录一下ssm的配置

### 三个文件需要添加配置

![](https://user-gold-cdn.xitu.io/2019/6/22/16b7c7ec4be7a8e6?w=1920&h=1001&f=png&s=1069754)

## SimpleCORSFilter.java实现Filte

```

public class SimpleCORSFilter 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);

}

```

## dispatcher-servlet.xml(springMVC的配置文件)

```

<!-- 接口跨域配置-->

<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>

```

## web.xml

```

<!-- 跨域请求 -->

<filter>

<filter-name>SimpleCORSFilter</filter-name>

<filter-class>com.maxcore.config.SimpleCORSFilter</filter-class>

<init-param>

<param-name>IsCross</param-name>

<param-value>true</param-value>

</init-param>

</filter>

<filter-mapping>

<filter-name>SimpleCORSFilter</filter-name>

<url-pattern>/*</url-pattern>

</filter-mapping>

```

## 完毕

>[github](https://github.com/pbw123/)

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Navicat连接远程数据库报1251的错误

    mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password。

    道可道非常道
  • Navicat连接远程数据库报1251错误

    mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password。

    道可道非常道
  • git远程从入门到放弃

    git branch --set-upstream master origin/master

    道可道非常道
  • 一个比较扯淡的跨域问题

    2018-08-27更新: 使用cookie前强烈建议先看下MDN的这篇基础文章 创建cookie可以配置的选项 Expires,Secure,HttpOn...

    mafeifan
  • 震撼穿越“亿年壶穴、天地奇观”!无人机成功穿越白云山亿年大壶穴!

    福安白云山是史志记载的“闽东第一山”。因四季云雾缭绕,弥望如海,故名白云山。说起闽东宁德的风景,大家都不由想起太姥山和白水洋。可大家知道吗?福建福安白云山、屏南...

    互联资讯
  • 如何给Apache开源项目贡献代码

    简介:根据个人的一些提交代码的经历,分享一下给Apache开源项目贡献代码的小经验。以下以Apache NIFI为例说明。

    用户5475193
  • bootstrap well 块

    <div class="well"> Look, I'm in a well! </div> <div class="well well-lg"> Lo...

    用户5760343
  • 开发|走进小程序(三)

    前一篇博客为大家简单的讲解了一下关于一个简单的电商小程序的首页和分类页面的制作。这篇博客呢,继续为大家讲解后面搜索页、详情页、购物车页面的制作。

    算法与编程之美
  • 使用GVM管理多个版本的Go【Programming(Go)】

    使用Go Version Manager保留多个Go环境,包括版本和模块,以简化GOPATH管理。

    Potato
  • [医疗信息化][DICOM教程]HL7 V3 Standard-概述-HL7 V3 Standard - A High Level Overview

    这是有关HL7 V3标准的入门教程,主要针对刚刚开始使用它的软件开发人员。我仅介绍了足够的基础知识,因为它是一个大型标准(V3实际上是在一个保护伞下的多个合作标...

    landv

扫码关注云+社区

领取腾讯云代金券