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