zoukankan      html  css  js  c++  java
  • JSP学习3

    Cookie

    在JSP中使用cookie

    创建cookie

    Cookie objcookie = new Cookie("mycookie","Cookie test");

    建立了Cookie之后,该Cookie数据还必须传送到客户端。

    response.addCookie(objcookie);

    读Cookie

    Cookie[] 数组变量名 = request.getCookies();

    在客户端传来的Cookie数据类型都是数组类型,因此要得到其中某一项指定的Cookie对象,需要遍历数组来找。调用getName()方法检查各个Cookie的名字,直至找到目标Cookie,然后对该Cookie调用getValue()方法取得与指定名字关联的值。

    <%
    Cookie[] cookies = request.getCookies();
    if(cookies=null){
        out.println("no cookie");
    }else{
      for(int i=0;i<cookies.length;i++){
       if(cookies[i].getName().equals("cookie_name")){
       out.println(cookies[i].getValue()+"<br/>");
    }
    
    }
    }
    
    %>

    设置Cookie的存在期限

    <%

    Cookie login = new Cookie("today","true");

    login.setMaxAge(86400);

    reponse.addCookie(login);

    %>

    删除Cookie

    必须使用前面的setMaxAge()方法,并将Cookie的存在期限设置为0.

    login.setMaxAge(0);

    writeCookie.jsp写入一个Cookie到客户端

    <%@ page contentType="text/html;charset=gb2312"%>
    <html>
    <head>
    <title>操纵Cookie示例-写入Cookie</title>
    </head>
    <body>
    <h2>操纵Cookie示例-写入Cookie</h2>
    <%
            try {
            Cookie _Cookie = new Cookie("mycookie", "COOKIE_TEST");
            _Cookie.setMaxAge(10 * 60); // 设置Cookie的存活时间为10分钟
            response.addCookie(_Cookie); // 写入客户端硬盘
            out.print("已经把Cookie写入客户端");
        } catch (Exception e) {
            System.out.println(e);
        }
    %>
    </body>
    </html>

    readCookie.jsp

    <%@ page contentType="text/html;charset=gb2312"%>
    <html>
    <head>
    <title>操纵Cookie示例-读取Cookie</title>
    </head>
    <body>
    <h2>操纵Cookie示例-读取Cookie</h2>
    <%
        // 将当前站点的所有Cookie读入并存入Cookies数组中
        Cookie[] Cookies = request.getCookies();
        Cookie sCookie = null;
        String cookieName = null;
        String cookieValue = null;
        if (Cookies == null) // 如果没有任何Cookie
            out.print("没有Cookie");
        else {
            try {
                if (Cookies.length == 0) {
            System.out.println("客户端禁止写入cookie");
                } else {
            for (int i = 0; i < Cookies.length; i++) { // 循环列出所有可用的Cookie
    
                sCookie = Cookies[i];
                cookieName = sCookie.getName();
                cookieValue = sCookie.getValue();
                if (cookieName.equals("mycookie")) {
                    out.println(cookieName + "->" + cookieValue
                    + "<br>");
                    break;
                }
            }
                }
            } catch (Exception e) {
                System.out.println(e);
            }
        }
    %>
    </body>
    </html>

    readCookie.jsp必须注意两个问题;一是读取Cookie数组时需要判断是否为null,为空则不能进行下一步操作。二是对Cookie的数组长度进行判断,如果Cookie.length=0,说明该客户端浏览器不支持Cookie。

  • 相关阅读:
    OC中Foundation框架之NSDictionary、NSMutableDictionary
    【03_136】Single Number
    【算法】QuickSort
    【02_258】Add Digits
    【01_292】Nim Game
    做题过程中得到的注意点
    No.02——第一次使用Android Studio,并创建出Hello World
    No.01——配置编程环境
    一个好用的代码分享网站
    【数据结构】某些难理解点
  • 原文地址:https://www.cnblogs.com/hengx/p/14130923.html
Copyright © 2011-2022 走看看