import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.httpclient.HttpStatus; public class CorsFilter implements Filter {   @Override
  public void init(FilterConfig filterConfig) throws ServletException { }   @Override
  public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
    HttpServletResponse response = (HttpServletResponse) servletResponse;
    HttpServletRequest request = (HttpServletRequest) servletRequest;
    // 指定允许其他域名访问
    response.setHeader("Access-Control-Allow-Origin", "*");
    // 响应类型
    response.setHeader("Access-Control-Allow-Methods", "POST, GET, DELETE, OPTIONS, DELETE");
    // 响应头设置
    response.setHeader("Access-Control-Allow-Headers", "Content-Type, x-requested-with, X-Custom-Header, HaiYi-Access-Token");
    if ("OPTIONS".equals(request.getMethod())){
      response.setStatus(HttpStatus.SC_NO_CONTENT);
    }
    filterChain.doFilter(servletRequest, servletResponse);
  }   @Override
  public void destroy() { }
}
<filter>
<filter-name>cors</filter-name>
<filter-class>com.hy.fliter.CorsFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>cors</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

参考:

http://www.jb51.net/article/91794.htm(以上内容转自此篇文章)

最新文章

  1. HTML 保存图片到本地
  2. Redis 的性能幻想与残酷现实
  3. uri和url的简单理解
  4. 可编辑select
  5. Jquery用途
  6. ArcGIS三大文件格式解析
  7. Linux中挂载移动硬盘的方法
  8. office 2003和office 2013同时安装使用的问题
  9. JFinal 源码分析 [DB+ActiveRecord]
  10. Jquery获得控件值的方法
  11. 解决cocos2d-X 2.0版本后创建的Android项目提示org.cocos2dx.lib.Cocos2dxActivity找不到问题
  12. ssh注解开发
  13. Keil C减小代码编译量大小的方法(gai)
  14. 小巧的UML工具-UMLet
  15. MySQL二进预编译制安装
  16. C#版(击败100.00%的提交) - Leetcode 744. 寻找比目标字母大的最小字母 - 题解
  17. 集合List的排序
  18. Windows 常用的运行命令
  19. PHPStorm配置Xdebug官方文档
  20. Jmeter5 实现多机集群压测(局域网组成多机集群)

热门文章

  1. CSU-1170 A Simple Problem
  2. c++知识点总结--静态与动态联编
  3. C# 枚举相关操作——解析,遍历
  4. 测试计划驱动开发模式 TPDD:一种比 TDD 更友好的开发模式
  5. Redis特性
  6. 洛谷P3120 [USACO15FEB]Cow Hopscotch
  7. http://stormzhang.com/opensource/2016/06/26/android-open-source-project-recommend1/
  8. Windows ToolTips简要介绍(转)
  9. PHP开发
  10. (十一)Ubuntu下面怎么找到一个软件安装的目录,卸载软件