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>

浙公网安备 33010602011771号