cookie实例---显示上一次访问的时间与java.lang.IllegalArgumentException:Aninvalidcharacter[32]waspresentintheCookievalue
创建Cookie,名为lasttime,值为当前时间,添加到response中;
在A.jsp中获取请求中名为lasttime的Cookie;
如果不存在输出“您是第一次访问本站”,如果存在输出“您上一次访问本站的时间是xxx”。
1<%@pagelanguage="java"contentType="text/html;charset=UTF-8"
2pageEncoding="UTF-8"%>
3<%@pageimport="java.util.Date"%>
4<%@pageimport="java.text.SimpleDateFormat"%>
5<!DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
6<html>
7<head>
8<metahttp-equiv="Content-Type"content="text/html;charset=UTF-8">
9<title>Inserttitlehere</title>
10</head>
11<body>
12<%
13Datedate=newDate();
14SimpleDateFormatsdf=newSimpleDateFormat("yyyy年MM月dd日HH时mm分ss秒");
15Stringtime=sdf.format(date);
16Cookiec=newCookie("lasttime",time);
17response.addCookie(c);
18Cookiecs[]=request.getCookies();
19booleantag=false;
20if(cs!=null&&cs.length>0){
21for(Cookieck:cs){
22if(ck.getName().equals("lasttime")){
23tag=true;
24out.write("您上一次的访问时间为:"+ck.getValue());
25break;
26}
27}
28}
29if(!tag){
30out.write("这是您第一次访问本网站");
31}
32%>
33</body>
34</html>
练习时出现了错误java.lang.IllegalArgumentException:Aninvalidcharacter[32]waspresentintheCookievalue
原因是设置时间格式化时使用了yyyy-MM-ddHH:mm:ss这样的格式,前端和后段之间出现了空格,也就是错误中提到的character[32],而cookie中不能出现空格,更改即可。
如果您觉得本文的内容对您的学习有所帮助:
关键字:
html