Servlet 教程 之 Servlet Cookie 处理 6

简介: 该教程展示了如何使用Servlet读取Cookie。在`doGet`方法中,通过`HttpServletRequest`的`getCookies()`获取Cookie数组,然后遍历并使用`getName()`和`getValue()`获取每个Cookie的详细信息。如果找到名为"name"的Cookie,将其最大生存期设为0以删除。输出显示Cookie的名称和解码后的值。当无Cookie时,则显示相应消息。

Servlet 教程 之 Servlet Cookie 处理 6

Servlet Cookie 处理

通过 Servlet 读取 Cookie

要读取 Cookie,您需要通过调用 HttpServletRequest 的 getCookies( ) 方法创建一个 javax.servlet.http.Cookie 对象的数组。然后循环遍历数组,并使用 getName() 和 getValue() 方法来访问每个 cookie 和关联的值。

实例
让我们读取上面的实例中设置的 Cookie

package com.baidu.test;

import java.io.IOException;
import java.io.PrintWriter;
import java.net.URLDecoder;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**

  • Servlet implementation class ReadCookies
    */
    @WebServlet("/ReadCookies")
    public class ReadCookies extends HttpServlet {
    private static final long serialVersionUID = 1L;

    /**

    • @see HttpServlet#HttpServlet()
      */
      public ReadCookies() {
      super();
      // TODO Auto-generated constructor stub
      }

      /**

    • @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
      */
      public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
      {
      Cookie cookie = null;
      Cookie[] cookies = null;
      // 获取与该域相关的 Cookie 的数组
      cookies = request.getCookies();

      // 设置响应内容类型
      response.setContentType("text/html;charset=UTF-8");

      PrintWriter out = response.getWriter();
      String title = "Delete Cookie Example";
      String docType = "<!DOCTYPE html>\n";
      out.println(docType +

              "<html>\n" +
              "<head><title>" + title + "</title></head>\n" +
              "<body bgcolor=\"#f0f0f0\">\n" );
      

      if( cookies != null ){

       out.println("<h2>Cookie 名称和值</h2>");
       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( ) + "<br/>");
          }
          out.print("名称:" + cookie.getName( ) + ",");
          out.print("值:" +  URLDecoder.decode(cookie.getValue(), "utf-8") +" <br/>");
       }
      

      }else{

        out.println(
          "<h2 class=\"tutheader\">No Cookie founds</h2>");
      

      }
      out.println("");
      out.println("");
      }

      /**

    • @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
      */
      protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
      // TODO Auto-generated method stub
      doGet(request, response);
      }

}
编译上面的 Servlet ReadCookies,并在 web.xml 文件中创建适当的条目。尝试运行 http://localhost:8080/TomcatTest/ReadCookies

目录
相关文章
|
2月前
|
缓存 Java Spring
servlet和SpringBoot两种方式分别获取Cookie和Session方式比较(带源码) —— 图文并茂 两种方式获取Header
文章比较了在Servlet和Spring Boot中获取Cookie、Session和Header的方法,并提供了相应的代码实例,展示了两种方式在实际应用中的异同。
168 3
servlet和SpringBoot两种方式分别获取Cookie和Session方式比较(带源码) —— 图文并茂 两种方式获取Header
|
6月前
|
存储 Java
JSP 教程 之 JSP Cookie 处理 8
JSP教程讲解如何处理Cookie。要删除Cookie,需获取已存在Cookie,将其有效期设为0,然后重新添加到响应头。以下示例代码演示如何删除一个名为&quot;name&quot;的Cookie。当运行此JSP,第二次访问时,&quot;name&quot; Cookie将变为null。页面还会显示现有Cookie的名称和解码后的值。
32 2
|
6月前
|
存储 Java
JSP 教程 之 JSP Cookie 处理 7
JSP教程讲解了如何处理Cookie。Cookie是客户端的文本文件,用于存储跟踪信息。在JSP中,通过调用`request.getCookies()`获取Cookie数组,然后遍历并使用`getName()`和`getValue()`读取每个Cookie的名称和值。示例代码展示了一个JSP页面,它遍历请求中的Cookie,并解码显示其名称和值。如果未找到Cookie,则显示相应消息。
34 1
|
6月前
|
存储 前端开发 小程序
表白墙完善(数据库,前端,后端Servlet),再谈Cookie和Session。以及一个关于Cookie的练习小程序
表白墙完善(数据库,前端,后端Servlet),再谈Cookie和Session。以及一个关于Cookie的练习小程序
|
3月前
|
存储 搜索推荐 UED
探索研究Servlet Cookie 处理
【9月更文挑战第25天】
39 0
|
6月前
|
存储 Java
JSP 教程 之 JSP Cookie 处理 6
JSP教程讲解了如何处理Cookie。Cookie是客户端的文本文件,用于存储跟踪信息。在JSP中,设置Cookie涉及三步:创建Cookie对象、设置有效期和添加到HTTP响应头。示例代码展示了一个JSP页面,接收HTML表单数据,编码后存储为Cookie,并设置24小时有效期。用户可以通过GET方法提交表单到main.jsp,实现Cookie设置。
46 2
|
6月前
|
存储 JavaScript 前端开发
JSP 教程 之 JSP Cookie 处理 2
JSP教程讲解了如何处理Cookie,Cookie是存储在客户端的文本文件,用于存储跟踪信息。在JSP中,通过设置HTTP头部的Set-Cookie来创建Cookie,包含键值对、过期时间、路径和域名。当用户访问匹配的页面时,浏览器会发送Cookie回服务器。JSP使用request对象的getCookies()方法获取Cookie数组。
33 1
|
5月前
|
前端开发 Java 应用服务中间件
JavaEE:Servlet后端搭建部署 一条龙全教程
JavaEE:Servlet后端搭建部署 一条龙全教程
|
6月前
|
API
获得servlet相关API,获得请求头和cookie-spring23
获得servlet相关API,获得请求头和cookie-spring23
|
6月前
|
存储 安全 Java
JSP 教程 之 JSP Cookie 处理 3
JSP教程介绍了Cookie处理,Cookie是客户端存储的文本文件,用于跟踪信息。JSP支持HTTP cookie操作,提供了如设置域名、有效期、路径及加密传输等方法。例如,`setDomain()`设定域名,`setMaxAge()`设置有效期,`setPath()`定义作用路径,而`setSecure()`则用于指定安全传输。此外,`setComment()`可设置cookie用途注释。
42 0