1、web.xml配置filter
<filter>
<filter-name>SystemInterceptor</filter-name>
<filter-class>com.yk.interceptor.SystemInterceptor</filter-class>
</filter>
<!--映射过滤器-->
<filter-mapping>
<filter-name>SystemInterceptor</filter-name>
<!--“/*”表示拦截所有的请求 -->
<url-pattern>/*</url-pattern>
</filter-mapping>
2、在com.yk.interceptor包下创建类SystemInterceptor
package com.yk.interceptor;
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 SystemInterceptor implements Filter{
@Override
public void init(FilterConfig filterConfig) throws ServletException {
// TODO Auto-generated method stub
}
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain chain)
throws IOException, ServletException {
HttpServletResponse response = (HttpServletResponse) servletResponse;
response.setHeader("Access-Control-Allow-Origin", "*"); // 这里最好明确的写允许的域名
response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE, PUT");
response.setHeader("Access-Control-Max-Age", "3600");
response.setHeader("Access-Control-Allow-Headers", "Content-Type,Access-Token,Authorization,ybg");
chain.doFilter(servletRequest, servletResponse);
System.out.println("filter==========================");
}
@Override
public void destroy() {
// TODO Auto-generated method stub
}
}
因为在web.xml中的<url-pattern>配置的是/*拦截所有请求,所以每个请求都会执行SystemInterceptor中的doFilter方法
HttpServletResponse response = (HttpServletResponse) servletResponse;
response.setHeader("Access-Control-Allow-Origin", "*"); // 这里最好明确的写允许的域名
response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE, PUT");
response.setHeader("Access-Control-Max-Age", "3600");
response.setHeader("Access-Control-Allow-Headers", "Content-Type,Access-Token,Authorization,ybg");
chain.doFilter(servletRequest, servletResponse);
上述是解决跨域问题的代码,*是允许所有域名
版权声明:本文为weixin_41251573原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。