Springmvc自定义过滤器Filter,解决跨域问题

2025-10-13 12:52:29

1、在项目中web.xml文件中加入如下内容,注意定义在spring框架filter的前面。

其中filter-class属性com.myprojectname.CORSFilter为下面步骤自定义的类的全路径包名称+类名称。

Springmvc自定义过滤器Filter,解决跨域问题

2、自定义类,实现Filter接口。

@Component

public class CORSFilter implements Filter {      

public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {       

 String hm = ((HttpServletRequest)req).getMethod();        

 HttpServletResponse response = (HttpServletResponse) res;               

 response.setHeader("Access-Control-Allow-Origin", "*");        

 response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTI ONS, DELETE");        

response.setHeader("Access-Control-Max-Age", "3600");        

response.addHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");        

chain.doFilter(req, res);            

}   

 public void init(FilterConfig filterConfig) {}    

 public void destroy() {}  

}

利用Access-Control-Allow-Origin设置response响应头来实现跨域访问,

如果它的值设为 * ,则表示所有域都可以访问,在正式环境中都设置成具体的域名(http://www.youdomain.com)。

Springmvc自定义过滤器Filter,解决跨域问题

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢