Cookie案例代码

例1:从Servlet向客户端存入cookie

//SetCookie Servlet
Cookie c=new Cookie("season","spring");
c.setMaxAge(30);
response.addCookie(c);
Cookie d=new Cookie("nextseason","summer");
d.setMaxAge(10);
response.addCookie(d);

例2:在客户端读取cookie

//getCookie.jsp
<%
Cookie[] a=request.getCookies();
for(int i=0;i<a.length;i++)
{
out.println(a[i].getName()+“:"+a[i].getValue()+"<br>");
}
%>

例3:利用cookie计数

//visitCount.jsp计数次数
<%@ page contentType="text/html;charset=UTF-8" %>
<%int count = 0; 
 Cookie[] cookies = request.getCookies(); / / 得到所有的Cookie
if(cookies != null) { 
   for(int i=0; i<cookies.length; i++) {
       if(cookies[i].getName().equals("Counter"))
            count = Integer.parseInt(cookies[i].getValue());  //获取Counter以前值
   }  }
count++;
if(count == 1)
   out.println("欢迎首次光临");
else 
  out.println("您已经光临了" + count+"次");
// 将新的count写入客户端
Cookie c = new Cookie("Counter", ""+count);
c.setMaxAge(60*60*24*365);       // Cookie 的有效期为 1 年
response.addCookie(c); %>

例4:删除cookie

//cookie remove.jsp
<%
int count=0;
// 将新的count写入客户端
Cookie c = new Cookie("Counter", ""+count);
c.setMaxAge(0);       // Cookie 的有效期为 0
response.addCookie(c); %>

5:购物车登录实验

1.从首页进入购物车页面

//首页home.html
<a href="cart.jsp">购物车</a>
<a href=”remove.jsp”>删除计数cookie</a>

2.购物车页面,先判断用户是否已经登录,否则跳转登录页面login.html

//购物车  cart.jsp
<h1>购物车</h1>
<%int count = 0; 
 Cookie[] cookies = request.getCookies(); // 得到所有的Cookie
if(cookies != null) { 
   for(int i=0; i<cookies.length; i++) {
       if(cookies[i].getName().equals("Counter"))
            count = Integer.parseInt(cookies[i].getValue());  //获取Counter以前值
   }  }

if(count==0)response.sendRedirect(request.getContextPath()+"/login.html");
%>
//login.html
<h1>用户登录</h1>
	<form action="visit.jsp" method="post">
		用户名<input type="text" name="user"><br><br>
		密码
		<input type="password" name="password"><br>		
		<input type="submit" value="提交">
	</form>
//visit.jsp
<%int count = 0; 
 Cookie[] cookies = request.getCookies(); // 得到所有的Cookie
if(cookies != null) { 
   for(int i=0; i<cookies.length; i++) {
       if(cookies[i].getName().equals("Counter"))
            count = Integer.parseInt(cookies[i].getValue());  //获取Counter以前值
   }  }

count++;
if(count == 1)
  response.getWriter().println("欢迎首次光临");
else 
  response.getWriter().println("您已经光临了" + count+"次");

// 将新的count写入客户端
Cookie c = new Cookie("Counter", ""+count);
c.setMaxAge(60*60*24*365);       // Cookie 的有效期为 1 年
response.addCookie(c); 
response.sendRedirect(request.getContextPath()+"/cart.jsp");
%>

猜你喜欢

转载自blog.csdn.net/rej177/article/details/124106380