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

details.jsp页面的 response.addCookie(cookie);报错

details.jsp页面的 response.addCookie(cookie);报错

Love丽珊 2016-05-22 10:53:33
严重: Servlet.service() for servlet [jsp] in context with path [/JspViewListDemo] threw exception [An exception occurred processing JSP page /details.jsp at line 107104:                   }105:               }106:               Cookie cookie = new Cookie("ListViewCookie",list);107:               response.addCookie(cookie); //这一行报错108:           109:           %>110:           Stacktrace:] with root causejava.lang.IllegalArgumentException: An invalid character [44] was present in the Cookie value    at org.apache.tomcat.util.http.Rfc6265CookieProcessor.validateCookieValue(Rfc6265CookieProcessor.java:160)    at org.apache.tomcat.util.http.Rfc6265CookieProcessor.generateHeader(Rfc6265CookieProcessor.java:109)    at org.apache.catalina.connector.Response.generateCookieString(Response.java:989)    at org.apache.catalina.connector.Response.addCookie(Response.java:937)    at org.apache.catalina.connector.ResponseFacade.addCookie(ResponseFacade.java:391)    at org.apache.jsp.details_jsp._jspService(details_jsp.java:237)    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)    at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:443)    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:385)    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:329)    at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:108)    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:522)    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)    at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:620)    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)    at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:1096)    at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)    at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:760)    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1480)    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)    at java.lang.Thread.run(Thread.java:745)-----------------求大牛指教
查看完整描述

4 回答

?
小麦丘丘

TA贡献1条经验 获得超18个赞

我也学到这里了,其实很简单,你看报错信息An invalid character [44] was present in the Cookie value,ascii为44的字符是“,”,说明cookie不支持“,”,你可以换成“#”,可能与toncat版本有关,但是为了这个去换tomcat有点得不偿失

查看完整回答
18 反对 回复 2016-07-16
点击展开后面6
?
吃鸟的菜

TA贡献7条经验 获得超23个赞

java.lang.IllegalArgumentException指不合法的参数异常,从你的参数看你应该是想把一个List集合放到cookie中,cookie只支持存放字符串。

查看完整回答
2 反对 回复 2016-05-22
  • Love丽珊
    Love丽珊
    list是定义的一个字符串 <% String list =""; //从客户端获得Cookies集合 Cookie[] cookies = request.getCookies(); //遍历这个Cookies集合 if(cookies!=null&&cookies.length>0) { for(Cookie c:cookies) { if(c.getName().equals("ListViewCookie")) { list = c.getValue(); } } } list+=request.getParameter("id")+","; //如果浏览记录超过1000条,清零. String[] arr = list.split(","); if(arr!=null&&arr.length>0) { if(arr.length>=1000) { list=""; } } Cookie cookie = new Cookie("ListViewCookie",list); response.addCookie(cookie); %>
  • Xabean
    Xabean
    用tomcat8,不要用9
?
看着黎明庆幸

TA贡献7条经验 获得超2个赞


谢了  ~~

查看完整回答
反对 回复 2017-03-28
  • 4 回答
  • 0 关注
  • 10968 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信