王世英,张冬玲照片,泷泽萝拉第三部名字
当前使用spring版本是4.3.9
import org.springframework.stereotype.component; import javax.servlet.*; import javax.servlet.http.httpservletrequest; import javax.servlet.http.httpservletresponse; import java.io.ioexception; @component public class corsfilter implements filter { @override public void init(filterconfig filterconfig) throws servletexception { } @override public void dofilter(servletrequest servletrequest, servletresponse servletresponse, filterchain filterchain) throws ioexception, servletexception { httpservletrequest request = (httpservletrequest) servletrequest; httpservletresponse response = (httpservletresponse) servletresponse; response.setheader("access-control-allow-origin", request.getheader("origin")); // 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,cache-control,pragma,content-type,token"); response.setheader("access-control-allow-credentials","true");//是否允许请求带有验证信息 filterchain.dofilter(servletrequest, servletresponse); } @override public void destroy() { } }
ps: spring boot 服务器端设置允许跨域访问
import org.springframework.stereotype.component; import javax.servlet.*; import javax.servlet.http.httpservletresponse; import java.io.ioexception; /** * * 跨域过滤器 * @author meng * @version * @since 2016年6月19日 */ @component public class corsfilter implements filter { final static org.slf4j.logger logger = org.slf4j.loggerfactory.getlogger(corsfilter.class); public void dofilter(servletrequest req, servletresponse res, filterchain chain) throws ioexception, servletexception { httpservletresponse response = (httpservletresponse) res; 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"); system.out.println("*********************************过滤器被使用**************************"); chain.dofilter(req, res); } public void init(filterconfig filterconfig) {} public void destroy() {} }
2017-04-13更新:
第二种方法,在appplication.java添加:
private corsconfiguration buildconfig() { corsconfiguration corsconfiguration = new corsconfiguration(); corsconfiguration.addallowedorigin("*"); corsconfiguration.addallowedheader("*"); corsconfiguration.addallowedmethod("*"); return corsconfiguration; } /** * 跨域过滤器 * @return */ @bean public corsfilter corsfilter() { urlbasedcorsconfigurationsource source = new urlbasedcorsconfigurationsource(); source.registercorsconfiguration("/**", buildconfig()); // 4 return new corsfilter(source); }
总结
以上所述是小编给大家介绍的spring boot实现跨域访问实现代码,希望对大家有所帮助
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
apollo与springboot集成实现动态刷新配置的教程详解
网友评论