`

两类cookie--session

阅读更多

 

由于http协议的无状态性-对于客户端的前后两个连接http无法识别他们是否来自同一客户端

于是出现了cookie用于在客户端后续连接中提供会话信息,但是客户端可以禁用,手动修改,删除cookie

 

 

public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
       
        //位于客户端内存的cookie生命周期与客户端http浏览器窗口一致
        Cookie sessionCookie = new Cookie("session-cookie","value-s");
        response.addCookie(sessionCookie);
       
        //位于客户端cookie文本文件中生命周期为设置的时间
        Cookie persistentCookie = new Cookie("persistent-cookie","value-p");
        persistentCookie.setMaxAge(3600);
        response.addCookie(persistentCookie);
       
        response.getWriter().write("");
       
    }

 

出于cookie由客户端处理,核心业务由session处理,session通过sessionid来实现会话状态的保存---将服务端生成的sessionid与客户端cookie中记录的sessionid对比实现。

 

考虑到当客户端禁止cookie的情况,可采用url重写---将sessionid携带在url后面,来实现session机制的有效性。

 

    HttpSession session = request.getSession(true);
        session.isNew();
        session.getId();
       
        String sessionId = request.getRequestedSessionId();
        request.isRequestedSessionIdFromCookie();
        request.isRequestedSessionIdFromURL();
        request.isRequestedSessionIdValid();
       
        //url重写
        response.encodeURL(request.getRequestURL().toString());

 

 

 

分享到:
评论

相关推荐

    SpringSession同时支持Cookie和header策略

    总的来说,SpringSession通过`CookieHeaderHttpSessionStrategy.java`这类策略类,实现了对Cookie和header两种方式的灵活支持,从而在分布式系统中提供了健壮的session管理解决方案。理解并掌握这些概念和代码细节...

    c#实现cookie和session的登陆实例

    在Web开发中,Cookie和Session是两种常见的用户身份验证机制,尤其在C#编程语言中,它们被广泛用于实现登录功能。本实例将探讨如何在C#环境下利用Cookie和Session来处理用户登录状态。 首先,我们要理解Cookie和...

    session 和cookie 区别

    一旦浏览器关闭,这类cookie将被自动清除。 - **持久cookie**:通过设置过期时间(如setMaxAge(60*60*24)),使其能够在用户关闭浏览器后继续存在,直至过期时间到达。 ### 如何利用实现自动登录与定制站点 **自动...

    JavaWeb基础-Cookie和Session的简单使用案例

    在JavaWeb开发中,Cookie和Session是两种常见的用户会话管理技术,用于在客户端和服务器之间传递信息。本文将深入探讨这两个概念,并通过一个简单的登录案例来阐述它们的使用。 首先,Cookie是服务器发送到用户...

    asp.net购物车(cookie、session两种实现方式)

    本教程将探讨两种常见的实现方式:Cookie和Session。 1. **Cookie实现** Cookie是一种在客户端存储数据的技术,ASP.NET购物车使用Cookie时,通常会为每个商品创建一个唯一的标识,并在用户浏览商品时将这些标识...

    Cookie&SessionJsp-授课

    在 JavaEE 的项目中,会话管理可以分为两类:客户端会话管理技术和服务端会话管理技术。客户端会话管理技术是指把要共享的数据保存到了客户端(也就是浏览器端),每次请求时,把会话信息带到服务器,从而实现多次...

    9--cookie&session;.docx

    在Web开发中,Cookie和Session是两种非常重要的用户会话管理技术。它们主要用来跟踪用户的状态,以便在多个页面间保持用户的登录信息或其他个性化设置。本文将深入探讨这两种技术及其在JavaEE企业全栈开发中的应用。...

    day16_cookie&session源代码.zip

    在IT行业中,尤其是在Web开发领域,Cookie和Session是两种非常重要的技术,用于管理用户状态和保持会话。这里我们深入探讨这两个概念以及它们在Java Web中的应用。 首先,Cookie是客户端存储的小型文本文件,由...

    JAVA通过Session和Cookie实现网站自动登录

    - 使用`Cookie`类创建Cookie对象。 - 设置Cookie的名称、值、路径、域名和过期时间。 ```java String host = request.getServerName(); Cookie cookie = new Cookie("SESSION_LOGIN_USERNAME", username); ...

    cookie的使用.doc

    在代码中,创建了三个这样的Cookie,名称分别为`Session-Cookie-0`、`Session-Cookie-1`和`Session-Cookie-2`,值分别为`Cookie-Value-S0`、`Cookie-Value-S1`和`Cookie-Value-S2`。通过调用`new Cookie(String name...

    Cookie与Session机制

    为了解决这一问题,开发了两种主要的会话跟踪技术——Cookie和Session。 #### 二、Cookie机制 ##### 1. Cookie的概念 Cookie是一种简单的机制,用于在客户端存储信息以便后续的请求中使用。它最初是由Netscape...

    servlet+cookie和Session

    **Cookie和Session**是两种常见的会话管理机制。Cookie是存储在客户端的小型数据块,常用于保持登录状态、个性化设置等。Servlet中,可以通过`response.addCookie()`添加Cookie,`request.getCookies()`获取Cookie。...

    基于c#实现cookie和session的登陆技术

    本文将深入探讨如何在C#环境中,特别是在Visual Studio 2005环境下,利用Cookie和Session这两种常见的用户状态管理机制来实现登录功能。这两种技术都是Web开发中的核心概念,对于构建安全、高效的应用至关重要。 ...

    session cookie asp.net

    ASP.NET中的Session和Cookie是两种常见的用户状态管理技术。在Web应用中,由于HTTP协议的无状态特性,服务器无法直接识别连续的请求来自同一个用户,因此需要借助这些机制来跟踪用户的状态。 Session和Cookie的主要...

    Abbott-Cookie-Policy-Sep-2021 (1) (1)-1.pdf

    Cookie分为两类:会话(Session)或持久(Persistent)Cookie。会话Cookie是临时性的,当你关闭网络浏览器窗口或电脑后,这些信息会被清除。它们用于改善网站导航,防止提供不适当信息(例如,如果网站“记住”了...

    Day09_cookie & Session

    Cookie与Session是实现这一目标的两种主要机制。本文将深入探讨这两种技术的工作原理、生命周期及其在Java Web开发中的应用。 #### 一、Cookie的原理与使用 **1. 定义** Cookie是一种小型文本文件,由服务器发送...

    14_尚硅谷_Cookie&Session_王振国 - 课堂笔记1

    - 为了方便查找特定名称的Cookie,我们可以编写一个`CookieUtils`工具类,提供如下的`findCookie()`方法: ```java public static Cookie findCookie(String name, Cookie[] cookies) { // ... 实现查找逻辑 } ...

    基于Cookie的Session跨域.zip

    在Web开发中,Session和Cookie是两种常见的用户会话管理技术。它们被广泛应用于保持用户的登录状态,确保用户在访问不同页面时仍能保持个性化设置和数据连续性。本项目"基于Cookie的Session跨域"则关注如何在分布式...

    Demo10-Application,Session,cookie.rar

    有两类Cookie:会话Cookie和持久Cookie。会话Cookie不包含过期时间,当浏览器关闭时会被删除;持久Cookie包含过期时间,能在浏览器关闭后仍保留一段时间。在ASP.NET中,我们使用`HttpCookie`类来创建和管理Cookie。 ...

Global site tag (gtag.js) - Google Analytics