跨域解決方案

之因此會出現跨域請求,是因爲瀏覽器同源策略所出現的結果,直接寫實踐內容,更多理論知識能夠上度娘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>

圖片描述

圖片描述

相關文章
相關標籤/搜索