例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");
%>