JSP 面试题 目录

JSP 中如何删除 Cookie?

推荐答案

在 JSP 中删除 Cookie 的步骤如下:

  1. 创建一个与要删除的 Cookie 同名的 Cookie 对象。
  2. 将该 Cookie 的 maxAge 设置为 0。
  3. 将该 Cookie 的 path 设置为与原始 Cookie 相同的路径。
  4. 使用 response.addCookie() 方法将该 Cookie 添加到响应中。

示例代码如下:

-- -------------------- ---- -------
--
    -- --------- ------ --- ------ --
    ------ ------ - --- -------------------- ----
    
    -- -- ------ - ------ - --------
    --------------------
    
    -- -- ------ --------- ------ -----
    --------------------
    
    -- - ------ ------
    ---------------------------
--

本题详细解读

1. 创建同名 Cookie

要删除一个 Cookie,首先需要创建一个与要删除的 Cookie 同名的 Cookie 对象。这是因为浏览器通过 Cookie 的名称来识别和匹配 Cookie。

2. 设置 maxAge 为 0

maxAge 属性决定了 Cookie 的有效期。将其设置为 0 表示该 Cookie 应立即被删除。浏览器在接收到这个 Cookie 后,会将其从存储中移除。

3. 设置 path 属性

path 属性指定了 Cookie 的作用路径。为了确保删除操作成功,path 必须与原始 Cookie 的路径一致。如果不设置或设置错误,可能会导致删除失败。

4. 添加到响应中

最后,使用 response.addCookie() 方法将修改后的 Cookie 添加到响应中。浏览器接收到这个响应后,会根据 maxAge 的值删除相应的 Cookie。

注意事项

  • 如果原始 Cookie 设置了 domain 属性,删除时也需要设置相同的 domain
  • 删除操作依赖于客户端的浏览器行为,因此无法保证 100% 成功,但通常情况下是有效的。
纠错
反馈