为了账号安全,请及时绑定邮箱和手机立即绑定

怎么回事?

ype Exception report

message An exception occurred processing JSP page /details.jsp at line 65

description The server encountered an internal error that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: An exception occurred processing JSP page /details.jsp at line 65

62:      
63:     Cookie cookies=new Cookie("Listcookie",list);
64:    cookies.setMaxAge(10);
65:     response.addCookie(cookies);
66:    
67:      %>
68:      <%=list %>


Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:584)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:481)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:385)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:329)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

root cause

java.lang.IllegalArgumentException: An invalid character [44] was present in the Cookie value
org.apache.tomcat.util.http.Rfc6265CookieProcessor.validateCookieValue(Rfc6265CookieProcessor.java:162)
org.apache.tomcat.util.http.Rfc6265CookieProcessor.generateHeader(Rfc6265CookieProcessor.java:111)
org.apache.catalina.connector.Response.generateCookieString(Response.java:989)
org.apache.catalina.connector.Response.addCookie(Response.java:937)
org.apache.catalina.connector.ResponseFacade.addCookie(ResponseFacade.java:386)
org.apache.jsp.details_jsp._jspService(details_jsp.java:197)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:443)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:385)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:329)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

note The full stack trace of the root cause is available in the Apache Tomcat/8.5.6 logs.

Apache Tomcat/8.5.6


正在回答

5 回答

花了很久才找到问题,

问题源头出在这一行:list += request.getParameter("id") + ",";

在网上找答案说是tomcat的版本问题,我的理解是:

在tomcat7.0版本以前,cookie的value当中允许出现",";

但是之后就不支持了,所以,value里面不能放","这个符号,我猜空格应该也是不允许的,否则就会报错。

所以可以试试用字母当作分隔符。


5 回复 有任何疑惑可以回复我~
#1

liqianpro

感谢俩位
2017-01-11 回复 有任何疑惑可以回复我~
#2

qq__3590

为啥我用字母也不行,用#也不行,用分好还是不行
2017-01-18 回复 有任何疑惑可以回复我~

所以最好还是用urlencode转一下码

0 回复 有任何疑惑可以回复我~

是的,谢谢

0 回复 有任何疑惑可以回复我~

用”;“居然解决了!

0 回复 有任何疑惑可以回复我~

正是这个问题,非常感谢

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
JAVA遇见HTML——JSP篇
  • 参与学习       248282    人
  • 解答问题       3071    个

Java Web入门级教程JSP,带你轻松的学习JSP基础知识

进入课程

怎么回事?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信