zoukankan      html  css  js  c++  java
  • 使用filter解决跨域

    在web.xml配置拦截器

    	<filter>
    		<filter-name>servletFilterTest</filter-name>
    		<filter-class>cn.test.intercepter.ServletFilterTest</filter-class>
    	</filter>
    	<filter-mapping>
    		<filter-name>servletFilterTest</filter-name>
    		<url-pattern>/*</url-pattern>
    	</filter-mapping>
    

    过滤器代码:

    import org.springframework.web.bind.annotation.RequestMethod;
    
    import javax.servlet.*;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import java.io.IOException;
    
    public class ServletFilterTest implements Filter {
    
    
        @Override
        public void init(FilterConfig filterConfig) throws ServletException {
    
        }
    
        @Override
        public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
    
            HttpServletRequest httpServletRequest = (HttpServletRequest) servletRequest;
            httpServletRequest.getSession();
            HttpServletResponse httpResponse = (HttpServletResponse) servletResponse;
            httpResponse.setHeader("Access-Control-Allow-Origin", "*");
            httpResponse.setHeader("Access-Control-Allow-Methods", "*");
            httpResponse.setHeader("Access-Control-Max-Age", "3600");
            httpResponse.setHeader("Access-Control-Allow-Headers",
                    "Origin, X-Requested-With, Content-Type, Accept, Connection, User-Agent, Cookie");
            httpResponse.setHeader("Access-Control-Allow-Credentials", "true");
            httpResponse.setHeader("Content-type", "application/json");
            httpResponse.setHeader("Cache-Control", "no-cache, must-revalidate");
    
            if (httpServletRequest.getMethod().equals(RequestMethod.OPTIONS.name())) {
                return ;
            }
            filterChain.doFilter(httpServletRequest, httpResponse);
    
        }
    
        @Override
        public void destroy() {
    
        }
    }
    
    世界上所有的不公平都是由于当事人能力不足造成的.
  • 相关阅读:
    Mac实用快捷键大全
    Java 12 新特性概述
    java sdk官网直接下载地址
    使用SqlBulkCopy类实现导入excel表格
    框架页面高度自动刷新Javascript脚本
    从MyEclipse到IntelliJ IDEA ——让你脱键盘,全键盘操作
    带你走进EJB--将EJB发布为Webservice(1)
    带你走进EJB--将EJB发布为Webservice(2)
    poj 3042 Grazing on the Run
    算法导论:比较排序算法笔记
  • 原文地址:https://www.cnblogs.com/javayida/p/13346974.html
Copyright © 2011-2022 走看看