/**
* Project Name:cm2mManage
* File Name:CrossSiteFilter.java
* Package Name:com.yoxnet.serverframework.base
* Date:2016年4月27日下午4:52:51
* Copyright (c) 2016, chenzhou1025@126.com All Rights Reserved.
*
*/

package com.zhl.sms.filter;

import java.io.IOException;
import java.util.Enumeration;

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.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
* ClassName:CrossSiteFilter <br/>
* Function: TODO ADD FUNCTION. <br/>
* Reason: TODO ADD REASON. <br/>
* Date: 2016年4月27日 下午4:52:51 <br/>
* @author YYC
* @version
* @since JDK 1.6
* @see
*/
public class CrossSiteFilter implements Filter{

private Logger logs = LoggerFactory.getLogger(this.getClass());

@Override
public void init(FilterConfig filterConfig) throws ServletException {

}

@Override
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest req = (HttpServletRequest)request;
Enumeration e = req.getHeaderNames();
// String headValue = "";
// while(e.hasMoreElements()){
// headValue = (String) e.nextElement();
// String value = req.getHeader(headValue);
// System.out.println(headValue+"="+value);
// }
logs.debug(">>>>>>>>>>>>>>>本次请求的header信息如下:");
while(e.hasMoreElements()){
String name = (String) e.nextElement();
String value = req.getHeader(name);
logs.debug(name+"="+value);
}
logs.debug(">>>>>>>>>>>>>>>本次请求的header信息结束");
HttpServletResponse resp = (HttpServletResponse) response;
// HttpSession session = req.getSession();
resp.addHeader("Access-Control-Allow-Origin", "*");
// resp.addHeader("Access-Control-Allow-Origin", "http://192.168.1.170");
resp.addHeader("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, OPTIONS");
resp.addHeader("Access-Control-Allow-Credentials","true");
resp.addHeader("Access-Control-Allow-Headers", "x-requested-with,Content-Type");
resp.addHeader("Access-Control-Max-Age", "1800");//30 min
if (req.getHeader("Access-Control-Request-Method") != null && "OPTIONS".equals(req.getMethod())) {

}
chain.doFilter(request, response);
}

@Override
public void destroy() {

}

}

xml配置中:

<filter>
<filter-name>crossSiteFilter</filter-name>
<filter-class>com.zhl.sms.filter.CrossSiteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>crossSiteFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

最新文章

  1. Asp.NET MVC 使用 SignalR 实现推送功能二(Hubs 在线聊天室 获取保存用户信息)
  2. js实现可拖拽的div
  3. ORA-1034 ORACLE not available (转)
  4. 【Discuz】云平台服务:出了点小错,由于站点ID/通信KEY等关键信息丢失导致Discuz!云平台服务出现异常
  5. http响应状态码301和302
  6. SqlServer:传递超长字符串参数时,参数被自动换行。
  7. 有关Rander生成随机数的问题
  8. ActiveX控件是什么?
  9. Spring MVC PageNotFound.noHandlerFound No mapping found for HTTP request with URI
  10. javaio学习笔记-字符流类(2)
  11. req.body取不到值的问题;
  12. Linux权限操作 [转]
  13. 搭建Mantis 缺陷管理系统
  14. JAVA_SE基础——12.运算符的优先级
  15. CSS3之box-sizing属性
  16. Android组件化、模块化、插件化
  17. wdk驱动开发的特点
  18. 服务器上的XML
  19. leetcode 7-&gt; Reverse Integer(32-bit signed integer)
  20. Linux-压缩与归档

热门文章

  1. R %operator% 含义
  2. jstatd命令
  3. C++学习36 string类和字符串
  4. php mssql 中文各种乱码
  5. ecmall程序结构图与常用数据库表
  6. XML小总结
  7. windows下如何使用makefile编译
  8. XML Namespace 命名空间
  9. 关于hook d3d在war3上绘图的几点疑问
  10. 怎么用一行代码解决CSS各种IE各种兼容问题