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。

  • 相关阅读:
    float转varchar
    我的优化经验:内链是SEO的基础
    转:2008年微软Windows硬件工程(WinHEC)大会
    sql语句去掉前面的0(前导零,零前缀)
    去掉ID重复的数据
    蛙蛙推荐:蛙蛙牌firefox插件
    每日阅读20081127
    网赚经验之谈:成为高手之路
    (chinaz)巧妙选购付费链接
    把某个表的数据导出成insert语句(数据导出 insert语句)
  • 原文地址:https://www.cnblogs.com/hengx/p/14130923.html
Copyright © 2011-2022 走看看