web项目跨域问题:
环境: JDK 1.8 Tomcat 8
第一步: 先自己写一个filter 过滤器
package com.yyg.filter;
import javax.servlet.*;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
public class SimpleCORSFilter implements Filter {
public void init(FilterConfig filterConfig) throws ServletException {
}
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
HttpServletResponse res = (HttpServletResponse) servletResponse;
res.setHeader("Access-Control-Allow-Origin", "*");
res.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
res.setHeader("Access-Control-Max-Age", "3600");
res.setHeader("Access-Control-Allow-Headers", "x-requested-with");
filterChain.doFilter(servletRequest, servletResponse);
}
public void destroy() {
}
}
第二步:引入jar包,因为我用的idea 所以直接放链接了。
<!-- json跨域 --> <filter> <filter-name>cors</filter-name> <filter-class>com.yyg.filter.SimpleCORSFilter</filter-class> </filter> <filter-mapping> <filter-name>cors</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
第三步:将过滤器导入到项目内,在web.xml文件内添加如下代码 (filter-class 内写你自己再上一步所写的filter所在路径)
<!-- json跨域 --> <filter> <filter-name>cors</filter-name> <filter-class>com.yyg.filter.SimpleCORSFilter</filter-class> </filter> <filter-mapping> <filter-name>cors</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>