1.新建一个filter
public class CORSFilter extends Filter {
/**
* 跨域处理
*
* @param request
* @param response
* @param filterChain
* @throws ServletException
* @throws IOException
*/
@Override
protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain)
throws ServletException, IOException {
response.addHeader("Access-Control-Allow-Origin", "*");
if (request.getHeader("Access-Control-Request-Method") != null && "OPTIONS".equals(request.getMethod())) {
response.addHeader("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE");
response.addHeader("Access-Control-Allow-Headers", "Content-Type");
response.addHeader("Access-Control-Max-Age", "1");
}
filterChain.doFilter(request, response);
}
}2.另外web.xml中新增配置
<filter>
<filter-name>CORS</filter-name>
<filter-class>com.ymerp.support.CORSFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>CORS</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

本文介绍了一个用于处理跨域资源共享(CORS)的过滤器CORSFilter的实现方式。该过滤器允许所有源的请求,并针对OPTIONS预检请求设定了响应头,允许指定的方法和头部信息。
3302

被折叠的 条评论
为什么被折叠?



