首页 > 编程语言 >Java set-cooike cookie.setDomain错误

Java set-cooike cookie.setDomain错误

时间:2024-01-12 12:31:55浏览次数:24  
标签:set Java setDomain cookie context import org com Cookie

java cookie.setDomain(".test.com"); 错误 There was an unexpected error (type=Internal Server Error, status=500). An invalid domain [.test.com] was specified for this cookie

public void setCookie(HttpServletResponse response, String token) {
    // 创建一个新的Cookie对象
    Cookie cookie = new Cookie(cookieName, cookieValue);
    cookie.setDomain(".test.com"); // domain
    cookie.setMaxAge(3600);        // 有效期 秒
    cookie.setPath("/");           // 设置Cookie的作用路径

    response.addCookie(cookie);
}

添以下配置可解决

package com.sdcuike.spring.log.config;

import org.apache.tomcat.util.http.LegacyCookieProcessor;
import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;
import org.springframework.boot.web.server.WebServerFactoryCustomizer;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class CookieConfig {

    /**
     * 解决问题:
     * There was an unexpected error (type=Internal Server Error, status=500).
     * An invalid domain [.localhost.com] was specified for this cookie
     *
     * @return
     */
    @Bean
    public WebServerFactoryCustomizer<TomcatServletWebServerFactory> cookieProcessorCustomizer() {
        return (factory) -> factory.addContextCustomizers(
                (context) -> context.setCookieProcessor(new LegacyCookieProcessor()));
    }

}

标签:set,Java,setDomain,cookie,context,import,org,com,Cookie
From: https://blog.51cto.com/jinliang/9214531

相关文章

  • java基础语法面向对象之单个对象内存图
    一:概述在面向对象的学习中,需要去了解对象的内存图,在这里以单个对象的内存图为例进行讲解。二:具体说明<1>代码publicclassStudent{Stringname;intage;publicvoidstudy(){System.out.println(name+"好好学习");......
  • 基于JAVA的校园电子商城
    网络技术和计算机技术发展至今,已经拥有了深厚的理论基础,并在现实中进行了充分运用,尤其是基于计算机运行的软件更是受到各界的关注。加上现在人们已经步入信息时代,所以对于信息的宣传和管理就很关键。因此校园购物信息的管理计算机化,系统化是必要的。设计开发校园电子商城不仅会节约......
  • 关于 JavaScript 代码里双重感叹号的语法
    在JavaScript中,连续出现两个感叹号(!!)的语法是一种类型转换的技巧,通常用于将一个值强制转换为布尔类型。这个技巧的本质是两次使用逻辑非(NOT)运算符,通过这种方式可以清晰地将一个值的真假状态显式地表示出来。语法解析语法结构如下:if(!!test){//代码块}这里的test是一个Ja......
  • 深度解析Java中的ReadWriteLock:高效处理并发读写操作
    第1章:引言大家好,我是小黑,今天咱们聊聊读写锁。当多个线程同时对同一数据进行读写操作时,如果没有合理的管理,那数据就乱套了。就好比小黑在写日记,突然来了一帮朋友,大家都想往日记本上写点什么,不加以控制,日记本就成了涂鸦板。这时,ReadWriteLock就派上用场了。它可以确保当一个线程......
  • Java之线程的详细解析一
     实现多线程简单了解多线程【理解】是指从软件或者硬件上实现多个线程并发执行的技术。具有多线程能力的计算机因有硬件支持而能够在同一时间执行多个线程,提升性能。编辑并发和并行【理解】并行:在同一时刻,有多个指令在多个CPU上同时执行。编辑并发:在同一时刻,有多个指令在单个CPU......
  • Java 题1-自增for循环题1
    Case1publicclassInteviewTest04{publicstaticvoidmain(String[]args){intcount=0;for(inti=0;i<10;i++){count=count++;}System.out.print(count);//结果为0}}结果为0Case2publicstaticvoidmain(String[]......
  • Java递归函数计算递归次数出错
    背景:构造组织架构树时,使用了递归填充子节点,为防止环状的错误数据导致递归无法结束,记录递归的次数,超过一定数量后终止递归问题:用户记录递归次数的变量在节点跳转的时候被重新赋值,无法正确记录 publicDepartgenDepartTreeFromRoot()throwsException{Departroot=De......
  • JavaScript 中的事件循环
    事件循环是JavaScript运行时环境的核心组件。它负责调度和执行异步任务。事件循环通过持续监视两个队列来工作:调用堆栈和事件队列。调用堆栈是一种堆栈(LIFO)数据结构,存储当前正在执行的函数(存储代码执行期间创建的执行上下文)。WebAPI是异步操作(setTimeout、获取请求、promise)......
  • java使用 template模板ftl 含有图片的生成数据
    点击查看代码/***Base64编码.*/publicstaticStringbase64Encode(byte[]input){BASE64Encoderencoder=newBASE64Encoder();returnencoder.encode(input);}@OverridepublicvoidprintStudentRxdjb(StudentRxdj......
  • java上传图片or头像
     走upload方法进行文件的保存,第一个参数为上传文件的类型,头像or照片  第一步检查是否可以上传,是否是jpg,png等类型第二步根据日期,文件名,uuid等生成文件名称。第三步将文件保存到服务器最后return的是一个文件的相对地址,根据subDir和fileName+文件名返回的相对路径,比如p......