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() {
    
        }
    }
    
    世界上所有的不公平都是由于当事人能力不足造成的.
  • 相关阅读:
    Microsoft .NET 框架资源基础(摘自msdn)
    cache的应用
    cache应用(asp.net 2.0 + sqlserver2005 数据依赖缓存 )
    c#遍历查找指定文件
    各浏览器目前对CSS3、HTML5的支持
    一步步构建大型网站架构
    c#连接sqlserver数据库
    C#中如何判断一个字符是汉字
    c#执行DOC命令
    VS2010快捷键
  • 原文地址:https://www.cnblogs.com/javayida/p/13346974.html
Copyright © 2011-2022 走看看