Java Web:处理跨域请求

Java Web 处理跨域请求

只需增加一个过滤器

@WebFilter("*.do")
public class CrossFilter implements Filter {
    @Override
    public void init(FilterConfig filterConfig) throws ServletException {

    }

    @Override
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
        //变成http的
        HttpServletResponse resp = (HttpServletResponse) servletResponse;
        // 添加参数,允许任意domain访问
        resp.setContentType("text/html;charset=UTF-8");
        //禁用缓存,确保网页信息是最新数据
        resp.setHeader("Pragma","No-cache");
        resp.setHeader("Cache-Control","no-cache");
        resp.setHeader("Access-Control-Allow-Origin", "*");
        resp.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, HEAD, DELETE, PUT");
        resp.setHeader("Access-Control-Max-Age", "3600");
        resp.setHeader("Access-Control-Allow-Headers",
                "X-Requested-With, Content-Type, Authorization, Accept, Origin, User-Agent, Content-Range, Content-Disposition, Content-Description");

        resp.setDateHeader("Expires", -10);
        filterChain.doFilter(servletRequest, resp);
    }


    @Override
    public void destroy() {

    }
}


版权声明:本文为Ezrealwj原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。