浏览器跨越问题Access-Control-Allow-Origin Access-Control-Allow-Headers 属性设置



public class MobileDeviceTypeDetectionFilter implements Filter { // 自定义过滤器 @Override public void destroy() { } @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { final HttpServletRequest httpRequest = (HttpServletRequest) request; final HttpServletResponse httpResponse = (HttpServletResponse) response; httpResponse.setHeader("Access-Control-Allow-Origin", "*"); // 请求域名 httpResponse.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");// 请求方法 httpResponse.setHeader("Access-Control-Max-Age", "3600"); httpResponse.setHeader("Access-Control-Allow-Headers", "*"); // 允许的请求头     // 浏览器默认会发起异常 OPTIONS 的请求方式 这个时候我们通过过滤器直接拦截返回200后就可以解决跨越问题 if ("OPTIONS" == (httpRequest.getMethod())) { httpResponse.setStatus(HttpServletResponse.SC_OK); } chain.doFilter(httpRequest, httpResponse); } @Override public void init(FilterConfig arg0) throws ServletException { } }

  


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM