zoukankan      html  css  js  c++  java
  • jsp创建cookie

    <jsp:include flush="true" page="header.jsp" />
    <script type="text/javascript">
    	alert("add cookie");
    	<%
    		Cookie cookie=null;
    		String cas_user = "no";
    		if(request.getCookies()!=null)
    			cookie=null;
    		cookie = new Cookie("cas_bbs_sso",cas_user);
    		cookie.setPath("/");
    		response.addCookie(cookie);
    	%>
    </script>
    

      

    在jsp页面创建cookie,代码当然很简单,但是,需要注意一点的是:如果,jsp页面存在嵌套,则必须把创建cookie的代码写在

    <jsp:include flush="true" page="header.jsp" />的外面,上面也好,下面也行,但是,每个人的应用都不一样,样式也不一样,有时候,添加在inclue的前面,会造成些页面的样式不一样,我的就出现了这样的问题,需要注意点。以下引用来自:http://wenson.iteye.com/blog/99098

    无论怎样添加Cookie,在引用Cookie的时候只得到名称为JSESSIONID,值为一个无序字符串的Cookie,且从客户端获得的Cookie数组长度为1,说明手工添加的Cookie并没有成功保存到客户端。反复尝试了N次,在网上查看了很多这方面的帖子,都没有找到答案。最后终于发现,如果将创建Cookie的语句放在<jsp:include page="includeshead.jsp" flush="true" />(代码的头部有这条语句)的下面,Cookie将添加失败,反之则添加成功。而我们得到的名称为JSESSIONID实际上服务器端保存在客户端的SESSION(会话),它的值就是服务器随机分配的唯一的SESSION-ID,用以保持http连接的有效性。SESSION实际上是以Cookie的形式保存在客户端的,SESSION和Cookie的不同之处在于,SESSION保存在浏览器所用的内存空间中,而Cookie保存在客户端的硬盘上。页面的关闭不会释放SESSION,只有当客户端的浏览器关闭时,SESSION才会被释放。对于Cookie,它的声明周期取决与服务器端对Cookie.setMaxAge()的这一设置,否则将一直保存在硬盘上,直至超出有效期或被人工清除。

  • 相关阅读:
    [转] Linux下crontab命令的用法
    [转] Try to use one var statement per scope in JavaScript
    [转] 主流JS框架中DOMReady事件的实现
    MySQL 表复制语句
    [转] MySQL中的运算符展示
    [转] mysql分组取每组前几条记录(排名)
    MySQL 连接结果集
    [转] mysql show processlist命令 详解
    [转] mysql 5.0存储过程学习总结
    jquery中使用event.target的几点
  • 原文地址:https://www.cnblogs.com/youngjoy/p/3247870.html
Copyright © 2011-2022 走看看