在JSP开发中,经常需要获取客户端的Cookie信息,
为此,在EL表达式中,提供了Cookied隐式对象,
该对象是一个代表所有Cookie信息的Map集合,Map集合中的元素的键为各个Cookie的名称,值则为对应的Cookie对象,
格式:
获取cookie对象的信息:${cookie.userName}
获取cookie对象的名称:${cookie.userName.name}
获取cookie对象的值:${cookie.userName.value}
上代码,感受下
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<html>
<head></head>
<body>
Cookie对象的信息:<br />
${cookie.userName } <br />
Cookie对象的名称和值:<br />
${cookie.userName.name }=${cookie.userName.value }
<% response.addCookie(new Cookie("userName", "itcast")); %>
</body>
</html>
第一次运行:
因为第一次访问服务器,服务器会向浏览器回写一个Cookie,此时的cookie信息是存储在浏览器中的。
当刷新浏览器,第二次访问cookie.jsp页面时,由于浏览器已经存储了名为userName的Cookie信息,当再次访问相同资源时,浏览器会将此Cookie信息一同发送给服务器,这时使用
获取cookie对象的名称:${cookie.userName.name}
获取cookie对象的值:${cookie.userName.value}