使用CORS实现JavaWeb跨域请求问题的方法

 更新时间:2016年09月02日 11:39:08   投稿:mrr  
这篇文章主要介绍了使用Cors实现JavaWeb跨域请求问题的方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下

之前用jsonp 解决跨域问题,现在用CORS实现跨域请求解决java 跨域问题:

主要代码如下

package com.hy.fliter;
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;
/**
* Created by WangShuai on 2016/7/30.
*/
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() { }
}

web.xml 代码如下配置

<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>

以上所述是小编给大家介绍的使用CORS实现JavaWeb跨域请求问题的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • JAVA多线程之中断机制及处理中断的方法

    JAVA多线程之中断机制及处理中断的方法

    这篇文章主要记录使用 interrupt() 方法中断线程,以及如何对InterruptedException进行处理,感觉对InterruptedException异常进行处理是一件谨慎且有技巧的活儿,需要的朋友可以参考下
    2023-02-02
  • idea中加入git版本控制的方法及步骤详解

    idea中加入git版本控制的方法及步骤详解

    在idea中加入git版本控制,方便团队中多人协同开发,项目可以同时方便进行管理和迭代。下面就是idea中加入git 的方法和步骤,感兴趣的朋友一起看看吧
    2021-09-09
  • springboot集成JWT之双重token的实现

    springboot集成JWT之双重token的实现

    本文主要介绍了springboot集成JWT之双重token的实现,前端使用accessToken进行登录和验证,后端使用refreshToken定期更新accessToken,具有一定的参考价值,感兴趣的可以了解一下
    2025-03-03
  • 如何解决@SpringBootApplication报错问题

    如何解决@SpringBootApplication报错问题

    这篇文章主要介绍了如何解决@SpringBootApplication报错问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-07-07
  • Druid核心源码解析DruidDataSource

    Druid核心源码解析DruidDataSource

    这篇文章主要为大家介绍了Druid核心源码解析DruidDataSource,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-03-03
  • JAVA中 终止线程的方法介绍

    JAVA中 终止线程的方法介绍

    JAVA中 终止线程的方法介绍,需要的朋友可以参考一下
    2013-03-03
  • Java使用Statement接口执行SQL语句操作实例分析

    Java使用Statement接口执行SQL语句操作实例分析

    这篇文章主要介绍了Java使用Statement接口执行SQL语句操作,结合实例形式详细分析了Java使用Statement接口针对mysql数据库进行连接与执行SQL语句增删改查等相关操作技巧与注意事项,需要的朋友可以参考下
    2018-07-07
  • 解析Java异常的栈轨迹及其相关方法

    解析Java异常的栈轨迹及其相关方法

    这篇文章主要介绍了解析Java异常的栈轨迹及其相关方法,包括栈轨迹的打印和fillInStackTrace方法等,需要的朋友可以参考下
    2015-11-11
  • Java Synchronized字节码层分析体验

    Java Synchronized字节码层分析体验

    这篇文章主要介绍了Java Synchronized字节码层分析,synchronized关键字解决了多个线程之间的资源同步性,synchronized关键字保证了它修饰的方法或者代码块任意时刻只有一个线程在访问
    2023-04-04
  • Mybatis-plus如何提前获取实体类用雪花算法生成的ID

    Mybatis-plus如何提前获取实体类用雪花算法生成的ID

    本文主要介绍了Mybatis-plus如何提前获取实体类用雪花算法生成的ID,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07

最新评论