HTTP Status 500 - Request processing failed; nested exception is java.lang.IllegalArgumentException: Control character in cookie value or attribute.
1 HTTP Status 500 - Request processing failed; nested exception is java.lang.IllegalArgumentException: Control character in cookie value or attribute. 2 type Exception report 3 4 message Request processing failed; nested exception is java.lang.IllegalArgumentException: Control character in cookie value or attribute. 5 6 description The server encountered an internal error that prevented it from fulfilling this request. 7 8 exception 9 10 org.springframework.web.util.NestedServletException: Request processing failed; nested exception is java.lang.IllegalArgumentException: Control character in cookie value or attribute. 11 org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:982) 12 org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:872) 13 javax.servlet.http.HttpServlet.service(HttpServlet.java:650) 14 org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846) 15 javax.servlet.http.HttpServlet.service(HttpServlet.java:731) 16 org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 17 org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197) 18 org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) 19 root cause 20 21 java.lang.IllegalArgumentException: Control character in cookie value or attribute. 22 org.apache.tomcat.util.http.CookieSupport.isHttpSeparator(CookieSupport.java:205) 23 org.apache.tomcat.util.http.CookieSupport.isHttpToken(CookieSupport.java:229) 24 org.apache.tomcat.util.http.ServerCookie.appendCookieValue(ServerCookie.java:185) 25 org.apache.catalina.connector.Response.generateCookieString(Response.java:1054) 26 org.apache.catalina.connector.Response.addCookie(Response.java:996) 27 org.apache.catalina.connector.ResponseFacade.addCookie(ResponseFacade.java:380) 28 admin.membersheep.hk.Controller.HomeController.Login(HomeController.java:327) 29 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 30 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 31 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 32 java.lang.reflect.Method.invoke(Method.java:498) 33 org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:220) 34 org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:134) 35 org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:116) 36 org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:827) 37 org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:738) 38 org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85) 39 org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:963) 40 org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:897) 41 org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970) 42 org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:872) 43 javax.servlet.http.HttpServlet.service(HttpServlet.java:650) 44 org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846) 45 javax.servlet.http.HttpServlet.service(HttpServlet.java:731) 46 org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 47 org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197) 48 org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) 49 note The full stack trace of the root cause is available in the Apache Tomcat/7.0.85 logs.
IllegalArgumentException此异常表明向方法传递了一个不合法或不正确的参数
注意Control character in cookie value or attribute 这个才是重点
问题说明Cookie编码格式错误
解决办法cookie存储值是指明utf8国际编码格式
如
1 | javax.servlet.http.Cookie realCookie = new javax.servlet.http.Cookie(java.net.URLEncoder.encode(temp.getName(), "utf8" ),java.net.URLEncoder.encode(temp.getValue(), "utf8" )); |
cqlpz
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统