欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

SpringMVC 跨域请求

程序员文章站 2022-07-08 14:40:13
...

工作中,可能会开发 网站Api供客户访问,往往客户的入口与我们的Api不在同一个服务器上,这时候我们需要让http可以跨域请求。一种方式是让客户请求时,直接在header中添加允许跨域的属性,第二种方式就是我们在框架的过滤器中为header添加跨域属性,最新版的SpringMVC已经压缩成一个注解,直接使用。这里,我们贴一下旧版SpringMVC的跨域请求代码。

package com.img.utility;

import java.io.IOException;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletResponse;

public class SimpleCORSFilter implements Filter{
    @Override  
    public void destroy() {  
          
    }  
  
    @Override  
    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");  
            chain.doFilter(req, res);  
          
    }  
  
    
    @Override  
    public void init(FilterConfig arg0) throws ServletException {  
          
    } 
}