JSP开发之JSP Cookie 处理(读取 Cookie&删除Cookie)

想要读取cookie,我们就需要调用request.getCookies()方法来获得一个javax.servlet.http.Cookie对象的数组,然后遍历这个数组,使用getName()方法和getValue()方法来获取每一个cookie的名称和值。

我们就以上篇文章所设置好的cookie为基础,然后呢,我们来保存一个cookie.jsp 文件,用来读取这个cookie:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="java.net.*" %>




获取 Cookie


<%
   Cookie cookie = null;
   Cookie[] cookies = null;
   // 获取cookies的数据,是一个数组
   cookies = request.getCookies();
   if( cookies != null ){
      out.println("

查找 Cookie 名与值

"); for (int i = 0; i < cookies.length; i++){ cookie = cookies[i]; out.print("参数名 : " + cookie.getName()); out.print("
"); out.print("参数值: " + URLDecoder.decode(cookie.getValue(), "utf-8") +"
"); out.print("------------------------------------
"); } }else{ out.println("

没有发现 Cookie

"); } %>

完事我们再来尝试删除cookie,按着以下三步:

  • 获取一个已经存在的cookie然后存储在Cookie对象中。
  • 将cookie的有效期设置为0。
  • 将这个cookie重新添加进响应头中。

我们来看一个删除一个名为"name"的cookie的案例:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="java.net.*" %>




获取 Cookie


<%
   Cookie cookie = null;
   Cookie[] cookies = null;
   // 获取当前域名下的cookies,是一个数组
   cookies = request.getCookies();
   if( cookies != null ){
      out.println("

查找 Cookie 名与值

"); for (int i = 0; i < cookies.length; i++){ cookie = cookies[i]; if((cookie.getName( )).compareTo("name") == 0 ){ cookie.setMaxAge(0); response.addCookie(cookie); out.print("删除 Cookie: " + cookie.getName( ) + "
"); } out.print("参数名 : " + cookie.getName()); out.print("
"); out.print("参数值: " + URLDecoder.decode(cookie.getValue(), "utf-8") +"
"); out.print("------------------------------------
"); } }else{ out.println("

没有发现 Cookie

"); } %>

好啦,咱们的实例就到这里了。

具体的运行效果,大家可以自己动手试试。

如果感觉不错的话,请多多点赞支持哦。。。

你可能感兴趣的:(原创,JSP开发学习之路,JSP开发,JSP,Cookie,处理,读取,Cookie)