JSP小案例之cookie管理

cookie是小段文本信息,通过使用cookie可以标识用户身份、记录用户名以及密码、跟踪重复用户。cookie在服务器端生成并且发送给浏览器,浏览器将cookie的key/value保存到指定的目录当中,服务器的名称与值可以有服务器端定义。通过cookie的getCookies()方法可以获取到所有的cookie对象集合,然后通过cookie对象的getName()方法获取到指定名称的cookie,再通过getValue()方法就可以获取到cookie对象的值。另外,将一个cookie对象发送到客户端使用了response对象的addCookies()方法。

客户端代码(文件名为CookieClient.jsp):

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!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>Cookie案例客户端</title>
</head>
<body>
	<%
		String welcome = "第一次访问";
		String[] info = new String[]{"","",""};
		Cookie[] cook = request.getCookies();
		if(cook != null)
		{
			for(int i = 0;i < cook.length;i++)
			{
				if(cook[i].getName().equals("mrCookieInfo"))
				{
					info = cook[i].getValue().split("#");
					welcome = ",欢迎回来!";
				}
			}
		}
	%>
	<%=info[0]+welcome %>
		<form action="CookieServer.jsp" method="post">
			<ul style="line-height:23px">
				<li>姓        名:<input name="name" type="text" value="<%=info[0]%>"></li>
				<li>出生日期:<input name="birthday" type="text" value="<%=info[1] %>"></li>
				<li>邮箱地址:<input name="mail" type="text" value="<%=info[2] %>"></li>
				<li><input type="submit" value="提交"></li>
			</ul>			
		</form>
</body>
</html>
服务器端代码(文件名为CookieServer.jsp)
<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!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>Cookie案例服务器端</title>
</head>
<body>
	<%
		String name = request.getParameter("name");
		String birthday = request.getParameter("birthday");
		String mail = request.getParameter("mail");
		Cookie myCook = new Cookie("mrCookieInfo",name+"#"+birthday+"#"+mail);
		myCook.setMaxAge(60*60*24*365);  
		response.addCookie(myCook);  
	%>
	表单提交成功
	<ul style="line-height:24px">
		<li>姓名:<%=name %></li>
		<li>出生日期:<%=birthday %></li>
		<li>电子邮箱:<%=mail %></li>
		<li><a href="CookieClient.jsp">返回</a></li>
	</ul>
</body>
</html>
客户端运行结果:

服务器端运行结果:

第一次访问网页的时候客户端页面的左上角不会提示用户姓名,只有第二次访问的时候,服务器端才会把第一次用户访问页面填入的个人信息反馈给客户端,这个时候在客户端的页面当中才会显示相应的欢迎信息。这就体现出cookie的作用了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值