Cookie的用法

原创 2011年01月09日 18:03:00

                                   <><>让我告诉你Cookie的用法<><>
  《《《《《《《《《《《下面是我亲手实现的使用cookie例子,希望帮助有需要的人学习(完整源码)》》》》》》》》》

》》》author:何桂坤

   ==两个页面一个jsp,一个servlet,不要看到那么代码就烦,老大很简单的,把他们复制就可以直接用了.
 《《《《《《《《《《《======1.jsp页面======》》》》》》》》》》》》

   <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
   <%
   String path = request.getContextPath();
   String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
   %>

  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  <html>
  <head>
    <base href="<%=basePath%>">
   
    <title>My JSP 'userCookie.jsp' starting page</title>
   
 <meta http-equiv="pragma" content="no-cache">
 <meta http-equiv="cache-control" content="no-cache">
 <meta http-equiv="expires" content="0">   
 <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
 <meta http-equiv="description" content="This is my page">
 <!--
 <link rel="stylesheet" type="text/css" href="styles.css">
 -->
  </head>
 
   <body>
     <form name="form1" method="post" action="ServletCookie">   
       <input type="submit" name="Submit" value="访问cookie">  
     </form>
   </body>
  </html>

   《《《《《《《《《《《======2.Servlet======》》》》》》》》》》》》

 package cookie;//包名

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class ServletCookie extends HttpServlet {
 public ServletCookie() {
  super();
 }

 public void destroy() {
  super.destroy(); // Just puts "destroy" string in log
 }

 public void doGet(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {
  doPost(request, response);
 }

 /**
  * The doPost method of the servlet. <br>
  * This method is called when a form has its tag value method equals to
  * post.
  *
  * @param request
  *            the request send by the client to the server
  * @param response
  *            the response send by the server to the client
  * @throws ServletException
  *             if an error occurred
  * @throws IOException
  *             if an error occurred
  */
 /*《====Cookie的用法与session的用法极类似 只是session是在服务器用的 而cookie是在客户端用的====》
  * @author-何桂坤-2010-9-28
         * 方法详解
  * String getComment() 返回cookie中注释,如果没有注释的话将返回空值.
  * String getDomain() 返回cookie中Cookie适用的域名
  * int getMaxAge() 返回Cookie过期之前的最大时间,以秒计算。
  * String getName() 返回Cookie的名字。名字和值是我们始终关心的两个部分
  * String getValue() 返回Cookie的值
  * String getPath() 返回Cookie适用的路径
  * boolean getSecure() 如果浏览器通过安全协议发送cookies将返回true值,如果浏览器使用标准协议则返回false值。
  * int getVersion() 返回Cookie所遵从的协议版本。
  * void setComment(String purpose) 设置cookie中注释。
  *void setDomain(String pattern) 设置cookie中Cookie适用的域名
  *void setMaxAge(int expiry) 以秒计算,设置Cookie过期时间。
  *void setPath(String uri) 指定Cookie适用的路径。
  *void setSecure(boolean flag) 指出浏览器使用的安全协议,例如HTTPS或SSL。
  *void setValue(String newValue) cookie创建后设置一个新的值。
  *void setVersion(int v) 设置Cookie所遵从的协议版本
  */
 public void doPost(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {
  response.setContentType("text/html;charset=gb2312");// 设置编码
  PrintWriter out = response.getWriter();
  Cookie[] cookies = request.getCookies();// 获得cookies数组
  int count = 0;
  boolean bool = true;// 第一次标识假值
  Cookie cookie = null;// 声明单个cookie
  if (cookies != null) {
   // 循环数组
   for (int i = 0; i < cookies.length; i++) {
    cookie = cookies[i];// 获得数组里面的值
    // 判断cookie的名称是否为heguikun
    if ("heguikun".equals(cookie.getName())) {
     // 取出次数并累加一
     count = Integer.parseInt(cookie.getValue()) + 1;
     cookie.setValue(count + "");// 重新设置cookie累加后的值
     cookie.setMaxAge(60 * 60 * 24);// 有效时间 60s*60s*24 = 一天
     response.addCookie(cookie);// 返回到客户端
     out.println("你是第" + count + "次登录该网页。");// 页面显示登录该网页的次数
     bool = false;// 不是第一次后标识真值
    }
    if ("useName".equals(cookie.getName())) {
     out.println("<br/>");
     out.println("本次登录的用户为:" + cookie.getValue());// 页面显示登录该网页的次数
     out.println("<br/>");
     out.println("<br/>");
     response.addCookie(cookie);// 返回到客户端
    }
   }
  }
  if (bool) {// 第一次访问是进入
   out.println("你是第 1 次登录该网页。在此之前没有相关Cookie信息。");
   cookie = new Cookie("heguikun", "1");// 把访问次数放到cookie中
   // 默认该cookie是存储在浏览器的内在中,用户关闭浏览器则被删除,下面的方法是将cookie存储在硬盘上。
   //默认存到C盘下  在Intent选项中可以打开这个文件夹
   cookie.setMaxAge(60 * 60 * 24);// 设置最大时效一天,如果设置为0则是删除该cookie
   response.addCookie(cookie);// 返回到客户端

   Cookie cookieUser = new Cookie("useName", "heguikun");// 把登录用户放到cookie中,不能存储中文,
   cookieUser.setMaxAge(60 * 60 * 24);
   response.addCookie(cookieUser);// 返回到客户端
  }
  out.println("<a href='cookie/userCookie.jsp'>返回首页 </a>");
  out.flush();
  out.close();
 }

 public void init() throws ServletException {
  // Put your code here
 }
 //代码来自heguikun个人项目
}

Cookie和Session的详细使用方法

进行Web开发,熟练地使用Cookie和Session是必须的,有时间来总结一下希望对大家都有用...
  • xiaouncle
  • xiaouncle
  • 2016年07月19日 16:34
  • 4853

Asp.net 之Cookie简单介绍与使用

什么是Cookie           Cookie,有时也用其复数形式Cookies,指某些网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据。通常经过加密,所以查看浏览器保存...
  • leimengyuanlian
  • leimengyuanlian
  • 2013年07月23日 11:52
  • 2465

java中Cookie的使用

原文地址:http://shukuiyan.iteye.com/blog/1587075 1 什么是cookie 浏览器与WEB服务器之间是使用HTTP协议进行通信的,当某个用户发...
  • haozhongjun
  • haozhongjun
  • 2013年12月10日 09:51
  • 47217

关于cookie,application和seesion的一些用法整理

  • 2013年12月04日 13:23
  • 1KB
  • 下载

JSP之Session,Cookie对象用法介绍

HTTP是无状态协议,这意味着每次客户端检索网页时,都要单独打开一个服务器连接,因此服务器不会记录下先前客户端请求的任何信息。因为这个原因于是就有了Cookie和Session。Session对象:s...
  • qq_37497322
  • qq_37497322
  • 2018年01月02日 15:28
  • 152

cookie和session的基本用法小结

这两天初步看了下cookie和session的用法,就个人理解,总结如下: 总结这些之前,先说下一次会话的概念,一次会话可以简单的认为是一个进程,也就是打开一个浏览器,只要不点那个×,都是一次会话,...
  • u010242979
  • u010242979
  • 2014年05月24日 23:13
  • 852

jquery.cookie用法详细解析

Cookie是由服务器端生成,发送给User-Agent(一般是浏览器),浏览器会将Cookie的key/value保存到某个目录下的文本文件内,下次请求同一网站时就发送该Cookie给服务器(前提是...
  • dabaxy
  • dabaxy
  • 2017年06月01日 17:11
  • 166

ASP.NET中Cookie用法小节

Cookie用于保存客户浏览器请求服务器页面的请求信息,程序员也可以用它存放非敏感性的用户信息,信息保存的时间可以根据需要设置.如果没有设置Cookie失效日期,它们仅保存到关闭浏览器程序为止.如果将...
  • qiujialongjjj
  • qiujialongjjj
  • 2011年07月28日 18:08
  • 548

$.cookie( ) 用法详细解析

Cookie是由服务器端生成,发送给User-Agent(一般是浏览器),浏览器会将Cookie的key/value保存到某个目录下的文本文件内,下次请求同一网站时就发送该Cookie给服务器(前提是...
  • KevinwuwenboA
  • KevinwuwenboA
  • 2016年12月21日 16:38
  • 5109

session和cookie的用法以及它们的区别

cookie和session都是会话变量,主要作用都是在整个会话过程中,实现数据的跨页面访问。 会话变量的用途: 验证用户的身份(是否已经登录)实现数据的跨页面访问(购物车功能等) 会话...
  • lamp_yang_3533
  • lamp_yang_3533
  • 2016年07月16日 18:10
  • 1059
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Cookie的用法
举报原因:
原因补充:

(最多只允许输入30个字)