Cookie对象
在JSP开发中,经常需要获取客户端的Cookie信息,为此,在EL表达式中,提供了Cookie隐式对象,该对象是一个代表所有Cookie信息的Map集合,Map集合中元素的~~关键字~~键为各个Cookie的名称,值则为对应的Cookie对象,具体示例如下:
获取cookie对象的信息:${cookie.userName}
获取cookie对象的名称:${cookie.userName.name}
获取cookie对象的值:${cookie.userName.value}
为了让初学者更好的学习Cookie隐式对象,接下来通过一个案例来演示如何获取一个Cookie对象中的信息,如例1所示。
例1 cookie.jsp
1 <%@ page language="java" contentType="text/html; charset=utf-8"
2 pageEncoding="utf-8"%>
3 <html>
4 <head></head>
5 <body>
6 <% response.addCookie(new Cookie("userName", "itcast")); %>
7 Cookie对象的信息:<br>
8 ${cookie.userName } <br>
9 Cookie对象的名称和值:<br>
10 ${cookie.userName.name }=${cookie.userName.value }
11 </body>
12 </html>
打开IE浏览器,在地址栏中输入http://localhost:8080/chapter07/cookie.jsp
访问cookie.jsp页面,此时,由于是浏览器第一次访问cookie.jsp页面前,还没有接收到名为userName的Cookie信息,因此,浏览器窗口中不会显示Cookie信息。接下来刷新浏览器,此时浏览器窗口中显示的结果如图1所示。
图1 cookie.jsp
从图1可以看出,浏览器窗口中显示了获取到的Cookie的信息,这是因为当浏览器访问过cookie.jsp页面后,它接收到了名为userName的Cookie信息,当再次刷新访问cookie.jsp页面时,浏览器将向Web服务器回传名为userName的Cookie信息,使用表达式${cookie.userName.name }和${cookie.userName.value }便可以获取Cookie的名称和值。