在spring项目中配置跨域访问
2017-01-31 16:15
459 查看
跨域是老生常谈的问题了,不同域名或者相同域名不同端口都会产生跨域访问的问题。
2、后端设置响应头header
3、用Spring MVC 4.2+的版本,已经内置提供跨域支持(@CrossOrigin注解方式 或者 自己配置下 )
我用的spring mvc4.0所以这里给出第二种方式根据拦截器来实现设置响应头:
web.xml中
我这里是直接用了原生的拦截器来写的,其实spring mvc也封装了自己的拦截器,换汤不换药道理差不多的。
附上spring mvc拦截器的实现:SpringMVC拦截器
解决方案
1、在前端用jsonp的方式请求2、后端设置响应头header
3、用Spring MVC 4.2+的版本,已经内置提供跨域支持(@CrossOrigin注解方式 或者 自己配置下 )
我用的spring mvc4.0所以这里给出第二种方式根据拦截器来实现设置响应头:
import javax.servlet.*; import javax.servlet.http.HttpServletResponse; import java.io.IOException; /** * Created by Healist on 2017/1/31. */ public class CORSFilter implements Filter { public void init(FilterConfig filterConfig) throws ServletException { } public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { HttpServletResponse response = (HttpServletResponse) servletResponse; response.setHeader("Access-Control-Allow-Origin", "*"); response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE"); response.setHeader("Access-Control-Max-Age", "3600"); response.setHeader("Access-Control-Allow-Headers", "x-requested-with"); filterChain.doFilter(servletRequest, servletResponse); } public void destroy() { } }
web.xml中
<!--解决跨域访问--> <filter> <filter-name>crossorigin</filter-name> <filter-class>com.healist.config.CORSFilter</filter-class> </filter> <filter-mapping> <filter-name>crossorigin</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
我这里是直接用了原生的拦截器来写的,其实spring mvc也封装了自己的拦截器,换汤不换药道理差不多的。
附上spring mvc拦截器的实现:SpringMVC拦截器
相关文章推荐
- spring mvc项目中配置跨域访问过滤器
- SpringBoot系列三:SpringBoot基本概念(统一父 pom 管理、SpringBoot 代码测试、启动注解分析、配置访问路径、使用内置对象、项目打包发布)
- SpringBoot配置CORS跨域访问
- 在JaveWeb项目中配置Spring 匿名访问时,匹配规则的变相实现/*
- Springboot+React项目跨域访问问题
- 在springboot项目中配置跨域
- springboot 项目使用freemarker 配置之后,访问静态和动态页面的方法
- springcloud项目网关升级:gateway替代zuul以及解决gateway跨域访问问题
- 通过Spring配置来访问Blob、Clob 字段
- web 项目中 在spring中使用log4j 定时刷新log4j配置文件
- java开源框架应用技巧之spring配置文件中如果有多个.hbm.xml文件的话,无论是项目开发过程中还是维护过程中修改起来都会很麻烦切容易出错
- SSH2整合项目开发中spring配置文件applicationContext.xml分析
- 成功配置了apache tomcat + 花生壳 外网访问自己电脑上的web项目
- spring中配置访问EJB
- 通过web.config文件配置项目中文件夹的访问权限
- Flex项目中如何实现跨域访问问题
- 重温SSH小项目实践(2)--Ibatis与Spring配置数据库连接
- CXF之用spring整合web项目时, web.xml配置实例
- 在netbeans的spring项目中配置aspectJ
- spring项目中log4j使用配置