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() {
    
        }
    }
    
    世界上所有的不公平都是由于当事人能力不足造成的.
  • 相关阅读:
    安装xcache3.0.3/3.2,为php加速
    编译安装lamp环境
    使用rpm包安装lamp环境
    centos6下通用二进制安装mysql5.5.33
    centos中进程管理工具
    centos6下的lvm逻辑卷的管理
    centos6中创建软raid方法
    解决vmware虚拟机克隆后启动centos报错device eth0 does not seem to be present, delaying initialization
    centos下常用文件管理命令
    centos下httpd-2.4的编译安装
  • 原文地址:https://www.cnblogs.com/javayida/p/13346974.html
Copyright © 2011-2022 走看看