在spring项目中配置跨域访问
来源:互联网 发布:java用*打印菱形 编辑:程序博客网 时间:2024/06/05 16:55
跨域是老生常谈的问题了,不同域名或者相同域名不同端口都会产生跨域访问的问题。
解决方案
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拦截器
0 0
- 在spring项目中配置跨域访问
- spring mvc项目中配置跨域访问过滤器
- 在Spring的项目中配置Log4j
- 在Spring的项目中配置Log4j
- 在Spring的项目中配置Log4j
- 在spring项目中配置mybatis
- 在springboot项目中配置跨域
- 在tomcat中,配置通过域名类访问web项目
- 在有spring的b/s项目中配置log4j
- 在Spring的项目中配置Log4j(转载)
- 在项目中为 Spring Framework 配置 Log4j
- 在Spring的项目中配置Log4j(转载)
- 在netbeans的spring项目中配置aspectJ
- 在spring boot项目中配置权限框架shiro
- 在eclipse中配置一个简单的spring入门项目
- Spring mvc环境下web项目配置ajax跨域访问
- Spring mvc环境下web项目配置ajax跨域访问
- 在tomcat中如何配置访问的时候不需要在URL中加入项目名
- 《JS高程(3)》客户端检测-第9章笔记(10)
- 二叉树的基本操作
- java注解概述
- Android中计算text文字大小的几个方法
- hibernate进阶之get和load方法的区别以及初识缓存
- 在spring项目中配置跨域访问
- 图个管理系统之实体类的设计
- maya2016中的python版本
- PHP设计模式之策略模式
- 宋词摘录
- 【寒假任务】 洛谷1781 宇宙总统
- CCF201612-2 工资计算(100分)
- VirtualBox中安装Ubuntu16.04后总是弹出0x00000000错误,怎么破?
- N个分数相加=1