发新话题
移动帖子 加入精华 加入置顶 加入收藏 关注此帖

JSP代码中,cookie的疑问





JSP代码中,cookie的疑问

<%@ page language="java" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
<%@ page import="logictaglibs.SomeBean" %>
<html:html>
<%
Cookie c = new Cookie("username", "Linda");
c.setComment("A test cookie");
c.setMaxAge(3600);
response.addCookie(c);
%>

<logic:equal cookie="username" value="Linda">
UserName in Cookie is Linda<p>
</logic:equal>

</html:html>


对于这段代码的提示是:
当第一次访问test.jsp时,在客户浏览器中还不存在名为"username"的Cookie,因此以上<logic:equal>标签的比较结果为false。在第二次访问test.jsp的时候,</logic:equal> 标签的比较结果才为true。

我的问题是:为什么第一次访问时,客户浏览器中不存在名为"username"的Cookie????


A:
你先区分客户端浏览器 和 服务器端程序

客户端请求,此时没有任何cookie

服务器端处理,发现没有cookie,决定返回一个新的cookie,
然后你的代码再次检查是否有客户端传来的cookie,记住,你准备返回的cookie并没有使用。 此时当然还是 false了。

也就是,你返回给客户端的cookie,不会影响刚才客户端传过来的cookie. 他只会在客户端的下次请求时,才会被传过来。
快乐渡过每一天,减肥坚持每一天



编辑 回复 快速回复 TOP


Re:JSP代码中,cookie的疑问

分清主次关系就OK了。
编辑 回复 快速回复 TOP

Re:JSP代码中,cookie的疑问

虽然我知道我问的问题很白痴,
但是我还是要问,
因为我知道这里的每个人都由曾经的白痴走过来的.
编辑 回复 快速回复 TOP
发新话题