跨域解决方案

之因此会出现跨域请求,是因为浏览器同源策略所出现的结果,直接写实践内容,更多理论知识能够上度娘api

Filter解决跨域问题

图片描述

public class AccessFilter implements Filter {

    @Override
    public void init(FilterConfig filterConfig) throws ServletException {

    }

    @Override
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
            throws IOException, ServletException {
        
        
        HttpServletResponse res = (HttpServletResponse) response;
        
        res.addHeader("Access-Control-Allow-Origin", "*");
        res.addHeader("Access-Control-Allow-Methods", "*");
        
        chain.doFilter(request, response);
            

    }

    @Override
    public void destroy() {

    }

}
res.addHeader("Access-Control-Allow-Origin", "*");
*:表明全部域名均可以请求
"http://localhost:8080":只容许该域名请求



res.addHeader("Access-Control-Allow-Methods", "*");
*:全部方法均可以请求
GET:只有GET能够请求
<filter>
       <filter-name>AccessFilter</filter-name>
       <filter-class>com.yangzinan.api.filter.AccessFilter</filter-class>
    </filter>

    <filter-mapping>
       <filter-name>AccessFilter</filter-name>
       <url-pattern>/*</url-pattern>
    </filter-mapping>

图片描述

图片描述

相关文章
相关标签/搜索