java后端请求过滤options方式

 更新时间:2024年01月28日 16:41:24   作者:muguo321  
Optional项是一个容器对象,它可以包含非空值,也可以不包含非空值,它用于表示没有值,而不是使用 null,引入Optional项是为了帮助开发人员编写更简洁、更具表现力的代码,并避免 NullPointerException

java后端请求过滤options方式

推荐阅读:

Java8中Optional的一些常见错误用法总结

Java中Optional的正确用法与争议点详解

前端每次发出post 请求时,浏览器会默认请求2次,一次是options类型,一次是真实的请求,为了避免这种情况发生,需在后端过滤器中拦截下options请求,代码如下:

import java.io.IOException;
import javax.servlet.FilterChain;
import javax.servlet.ServletException;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.stereotype.Component;
import org.springframework.web.filter.OncePerRequestFilter;
@Component
public class MethodFilter extends OncePerRequestFilter {
    @Override
    protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain)
            throws ServletException, IOException {
        if (request.getMethod().equals("OPTIONS")) {
            response.sendError(HttpServletResponse.SC_METHOD_NOT_ALLOWED);
        } else {
            filterChain.doFilter(request, response);
        }
    }
}

配置文件中:

server:
  port: 8080
  tomcat:
    port-header: HEAD,PUT,DELETE,TRACE,COPY,SEARCH,PROPFIND

验证过其他方式,但是没有过滤成功,以上代码是测试通过的,特此记录。

到此这篇关于java后端请求过滤options方式的文章就介绍到这了,更多相关java后端请求过滤options内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java中IO流使用FileWriter写数据基本操作详解

    Java中IO流使用FileWriter写数据基本操作详解

    这篇文章主要介绍了Java中IO流FileWriter写数据操作,FileWriter类提供了多种写入字符的方法,包括写入单个字符、写入字符数组和写入字符串等,它还提供了一些其他的方法,如刷新缓冲区、关闭文件等,需要的朋友可以参考下
    2023-10-10
  • java中Date和Timestamp类型的相互转换方式

    java中Date和Timestamp类型的相互转换方式

    这篇文章主要介绍了java中Date和Timestamp类型的相互转换方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • Java检查字符串是否一致的四种方法

    Java检查字符串是否一致的四种方法

    字符串比较是常见的操作,包括比较相等、比较大小、比较前缀和后缀串等,在 Java 中,比较字符串的常用方法有四个:equals(),equalsIgnoreCase(),compareTo()和compareToIgnoreCase(),下面详细介绍这四个方法的使用
    2024-04-04
  • Java解析嵌套jar中class文件过程

    Java解析嵌套jar中class文件过程

    本文介绍了两种解析嵌套jar中的class文件的方式,一种是使用`spring-boot-loader`中的`JarFileArchive`,另一种是使用`JarFile`,通过实测对比了两种方式的性能差异,结果表明`JarFile`方式略慢于`JarFileArchive`方式
    2026-04-04
  • SpringCloud用Zookeeper搭建配置中心的方法

    SpringCloud用Zookeeper搭建配置中心的方法

    本篇文章主要介绍了SpringCloud用Zookeeper搭建配置中心的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-04-04
  • 本地jvm执行flink程序带web ui的操作

    本地jvm执行flink程序带web ui的操作

    这篇文章主要介绍了本地jvm执行flink程序带web ui的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-08-08
  • Java引用传递实现方式以及与值传递的区别

    Java引用传递实现方式以及与值传递的区别

    这篇文章主要给大家介绍了关于Java引用传递实现方式以及与值传递的区别的相关资料,引用传递指在调用函数时将实际参数的地址直接传递到函数中,那么在函数中对参数所进行的修改,将影响到实际参数,需要的朋友可以参考下
    2023-09-09
  • 深入理解JVM之Java对象的创建、内存布局、访问定位详解

    深入理解JVM之Java对象的创建、内存布局、访问定位详解

    这篇文章主要介绍了深入理解JVM之Java对象的创建、内存布局、访问定位,结合实例形式详细分析了Java对象的创建、内存布局、访问定位相关概念、原理、操作技巧与注意事项,需要的朋友可以参考下
    2019-09-09
  • 读取spring配置文件的方法(spring读取资源文件)

    读取spring配置文件的方法(spring读取资源文件)

    这篇文章主要介绍了读取spring配置文件的方法,需要的朋友可以参考下
    2014-02-02
  • Spring注解中@Autowired和@Bean的区别详解

    Spring注解中@Autowired和@Bean的区别详解

    这篇文章主要详细介绍了Spring注解中@Autowired和@Bean二者有什么区别,文中通过两个注解的使用场景介绍了二者的区别,感兴趣的同学可以参考阅读
    2023-06-06

最新评论