JSP第一次作业:使用Cookie记录用户上次访问时间
JSP第一次作业。
思想:
先做一个form表单,采集用户名。然后将用户名对照服务器cookie(不存在则加入,存在则修改),以用户名作为cookie的键,以当前服务器时间作为cookie的值。
使用Calendar类获取当前服务器各个时间数据,组成一个不带空格字符串。(带空格无法作为cookie值)
如果cookie列表为空,则必定无用户访问过,直接新建。提示首次访问。
如果cookie列表不为空,则使用当前获取用户名同cookie列表的键一一比对。
如果存在则提示再次访问,并更新cookie值。
如果不存在则新建,提示首次访问。
第一个JSP文件:(form表单)
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="java.util.*" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <form action="ShowTime.jsp" method="post"> 请输入您的用户名:<input type="text" name="use" > <input type="submit" value="确定"/> <br><br> <% Date date = new Date(); out.print("服务器当前时间:"+date.toString()); %> </form> </body> </html>
第二个JSP文件ShowTime.jsp:(时间字符串处理上由于方法笨拙固不求圆满)
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="java.util.*" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <% boolean flag=true; String use=request.getParameter("use"); String a=null; int year,month,day,hour,minute,second; Calendar now = Calendar.getInstance(); year = now.get(Calendar.YEAR); month = now.get(Calendar.MONTH) + 1; day = now.get(Calendar.DAY_OF_MONTH); hour = now.get(Calendar.HOUR_OF_DAY); minute = now.get(Calendar.MINUTE); second = now.get(Calendar.SECOND); if(second<10) a=year+"年"+month+"月"+day+"日"+hour+":"+minute+":0"+second; else if(minute<10) a=year+"年"+month+"月"+day+"日"+hour+":0"+minute+":"+second; else if(second<10&&minute<10) a=year+"年"+month+"月"+day+"日"+hour+":0"+minute+":0"+second; else a=year+"年"+month+"月"+day+"日"+hour+":"+minute+":"+second; Cookie c1 = null; Cookie[] cookie = request.getCookies(); if (cookie == null) { out.print("尊敬的用户:"+use+" <br><br>您好!欢迎首次访问!"); c1 = new Cookie(use,a); response.addCookie(c1); } else { for (int i = 0; i < cookie.length; i++) { c1 = cookie[i]; if ((c1.getName()).compareTo(use) == 0) { out.print("尊敬的用户:"+use+" 欢迎再次访问!<br><br>您上次的访问时间为" + c1.getValue()); c1.setValue(a); response.addCookie(c1); flag=false; break; } } if(flag){ out.print("尊敬的用户:"+use+" <br><br>欢迎首次访问!"); c1 = new Cookie(use,a); response.addCookie(c1); } } %> </body> </html>