发表于: 2017-06-27 14:51:35

1 1196


今天完成的事情:

今天一直在解决bug,没有进度


明天计划的事情:

完成任务5开始任务6
遇到的问题:

创建cookie时使用

Cookie cookie = new Cookie("cookie", Base64.encodeBase64String(bytes)

会报一个cookie里边有违非法字符的错误,

[WARNING] 

org.springframework.web.util.NestedServletException: Request processing failed; nested exception is java.lang.IllegalArgumentException: Illegal character in cookie value

at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:982)

at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:872)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)

at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)

at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:751)

但是我看赵宇同样的代码就没事,所以一直在找这个问题的原因。百度说是cookie里边有中文的原因,我的没中文,pass。又有说是cookie长度问题,试了下cookie里边只放一个id,还是不行

后来打里断点用debug跑了一遍发现在response里一直有这段代码,看别人的就没有这个东西,百度后只是说是一个请求报文,没找到解决办法


后来实在没办法不用base64转换,使用

Cookie cookie = new Cookie("cookie", TypeUtil.bytesToHexString(bytes));

把字节数组转换为16进制字符串,解决这个问题了


收获:

cookie.setpath的作用:

path表示cookie所在的目录,asp.net默认为/,就是根目录。在同一个服务器上有目录如下:/test/,/test/cd/,/test/dd/,现设一个cookie1的path为/test/,cookie2的path为/test/cd/,那么test下的所有页面都可以访问到cookie1,而/test/和/test/dd/的子页面不能访问cookie2。这是因为cookie能让其path路径下的页面访问。


时间去哪了:

6.27

0820-0850洗漱

0850-1000复习昨天知识点

1000-12:00写代码

1200-1248吃饭

1250-1350休息

1400-1800bug原因,报错:

Caused by:

java.lang.IllegalArgumentException: Illegal character in cookie value

1800-1900吃饭

1910-1950浏览了会儿网页

1954-2020师兄dome评审,没通过

2030-2400bug原因





返回列表 返回列表
评论

    分享到