`

Cookie和Session解析

阅读更多
1.关于Cookie, 在客户端浏览器保存用户状态的一种机制


servlet中的Cookie含有三个属性: name, value, maxAge
maxAge = 60 表示:此cookie在客户端存在1分钟
两个特殊值:
maxAge = -1 表示 : 此Cookie生命周期由保存它的浏览器决定 ,(浏览器开则生,关则死),默认的
maxAge = 0  表示 : 删去以前的相应cookie存储
Cookie应用实例 :
	
package com.kettas.servlet ;
		import javax.servlet.*;
		import javax.servlet.http.*;
		import java.io.*;
		public class CookieServlet extends HttpServlet{
			@Override 
			public void service( HttpServletRequest request , HttpServletResponse response )
				throws ServletException , IOException 
			{// 创建一个新的Cookie对象, 构造参数分别为Cookie的name和value属性
				Cookie c = new Cookie( "test" , "1234567890" );
				// 将Cookie对象加入response中,这样才能被带入客户端
				response.addCookie( c ) ;  
				// 从请求中获取客户端Cookie数组
				Cookie[] cookies = request.getCookies();
				response.setContentType( "text/html" );
				PrintWriter out = response.getWriter();
				out.println("<html>"); 
				out.println( "<body>" ) ; 
				out.println( "<h1>Cookie List</h1><hr/><p></p>" ) ;
				if( cookies != null ){
					for( Cookie cookie : cookies ) {
						out.println( "<h2>" + cookie.getName() + "=" + cookie.getValue() + "</h2>" ) ;
					}
				}else{
					  out.println( "<h2>No cookie</h2>" ) ;
				}
				out.println( "</body>" ) ;
				out.println("</html>");
				out.flush();
			}
		}	   

2. 关于HttpSession, 在服务器端保存用户状态的一种机制

(1) 获取HttpSession对象的方法 :
     // 参数为true,表示若存在对应的HttpSession对象,则返回。若不存在,则创建一个新的。
     // 若参数为false,表示若存在对应的HttpSession对象,则返回。若不存在,则返回null。
HttpSession session = request.getSession(true);
(2) 对HttpSession对象, 进行存取数据的操作
         // 两个参数,分别为命名属性和对应的数据
         session.setAttribute("name", data);
         // 一个参数,命名属性,注意返回的为Object对象,要强转
         session.getAttribute("name");
    (3) 比较Session和request :
        request :
            创建 : 当用户请求到达服务器的时候
            销毁 : 当本次请求的应答回到客户端的时候.
                   客户端的一次请求应答之间
        session :
            创建 : 当用户第一次调用request.getSession( true )
            销毁 : 超时 ( 两级超时限制 )
                1) 内存 ---> 文件 .
             2) 从文件系统销毁 .
        session的原理 :
        给每个浏览器一个cookie,这个cookie的name属性为"jsessionid",value属性为这个session
        对应的ID值。
    (4) 当浏览器拒绝cookie时可以用URL把session的id提交给服务器
    如 : http://localhost:8989/servletapp/forwardB;jsessionid=37D50D093CCD4A37CC1118785E38F438
    "url;jessionid="+ session.getId()
    response.encodeURL("url") :对url进行编码
分享到:
评论

相关推荐

    cookie和session示例

    在Web开发中,Cookie和Session是两种非常重要的用户状态管理机制。它们被广泛用于跟踪用户的登录状态、个性化设置等,确保用户在不同页面之间切换时能够保持一致性体验。接下来,我们将详细探讨Cookie和Session的...

    cookie和session

    本文将详细解析Cookie与Session的工作原理、区别及应用场景。 #### 一、Cookie与Session的基本概念 **Cookie**:是一种简单的客户端存储技术,用于保存用户的偏好设置、登录状态等信息。当用户访问网站时,服务器...

    cookie机制和session机制的区别

    然而,如果用户禁用了Cookie,或者由于某种原因无法使用Cookie时,服务器可以采用其他方法(如URL重写)来传递Session ID,但这种方式通常不如使用Cookie高效和方便。 #### 使用场景 - **Cookie适用于**:不涉及...

    session与cookie的区别和联系?

    ### Session与Cookie的区别和联系 #### 一、概念解析 - **Cookie**:Cookie是一种小型的数据文件,由服务器端生成并发送给用户浏览器,浏览器在本地(如用户的硬盘)保存该文件,然后每一次请求同一网站时都会把该...

    深入解析:Java中Cookie与Session的区别及应用场景

    通过本文的深入解析,你应该能够理解Cookie和Session的区别,并根据具体需求选择合适的状态管理策略。 Cookie和Session是Java Web应用中两种重要的状态管理机制,它们各有特点和适用场景。合理选择和使用这两种机制...

    SpringSession同时支持Cookie和header策略

    本文将深入探讨SpringSession如何支持Cookie和header策略,并解析`CookieHeaderHttpSessionStrategy.java`这个文件中的关键概念和技术细节。 首先,我们来看标题提及的“SpringSession同时支持Cookie和header策略”...

    Cookie与Session机制

    服务器通过解析这些Cookie来识别用户身份和状态。 3. **Cookie的使用** Java中的Cookie功能通过`javax.servlet.http.Cookie`类来实现。服务器可以通过`response.addCookie(Cookie cookie)`方法设置Cookie,而`...

    cookie机制和session机制的区别.

    **Cookie** 和 **Session** 是两种常见的用于在Web应用程序中维护用户状态的技术。 - **Cookie**:是一种客户端存储技术,服务器可以通过HTTP响应向客户端发送一些数据(即Cookie),浏览器会保存这些数据,并在...

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

    这里我们将深入探讨两种常见的实现购物车功能的技术:Cookie和Session。 首先,我们要理解Cookie和Session的基本概念。Cookie是一种小型文本文件,由服务器发送到用户的浏览器,并在用户下次访问同一网站时返回给...

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

    ### JAVA通过Session和Cookie实现网站自动登录 在现代Web应用开发中,用户认证与授权是极为重要的环节之一。为了提供良好的用户体验,很多网站都提供了自动登录功能,即用户首次登录后,在一定时间内再次访问该网站...

    cookieAndsession.zip

    例如,`express-session`库提供了简单易用的Session管理接口,而`cookie-parser`库则可以帮助解析和操作Cookie。 1. **安装库**:首先,需要通过npm安装这两个库: ``` npm install express-session cookie-...

    login for cookie or session or token

    标题"login for cookie or session or token"涉及了三种常见的用户身份验证方法:Cookie、Session和Token。让我们深入探讨这些概念及其在Golang(一种流行的开源编程语言)中的实现。 1. **Cookie**: Cookie是一...

    cookie&session.pdf

    知识点一:会话的基本概念 会话是指在Web应用中,一个客户端(通常为浏览器)与Web服务器之间连续发生的一系列请求和响应的过程。例如,用户在一个网站上...以上就是对“cookie&session.pdf”文件中知识点的详细解析。

    Cookie、Session、Token、JWT

    服务器可以读取和解析 Cookie 来获取用户的身份信息或其他状态。Cookie 可以设置过期时间,可以在多个请求之间保持状态。 Session:Session 是服务器端存储用户信息的一种机制。服务器在用户首次访问时为其创建一个...

    Web测试你需要知道的HTTP—cookie与session的实现

    ### Web测试中HTTP—Cookie与Session的实现 #### Cookie 的实现机制 Cookie 是 Web 开发中用于跟踪用户会话状态的重要技术...通过合理配置 Cookie 和 Session,可以确保用户会话的安全性和连续性,从而提升用户体验。

    Android Volly 和PHP服务端通信(包含Cookie和Session),FinalDB数据库使用

    1. **处理Cookie和Session**: - `Cookie`:在HTTP协议中,Cookie用于在客户端和服务器之间存储状态信息。当服务器返回响应时,可以设置Set-Cookie头部,将Cookie发送到客户端。Android端的`Volley`可以通过自定义`...

    cookie分析工具

    2. **Cookie类型**:临时Cookie(Session Cookie)在浏览器关闭后消失,而持久Cookie(Persistent Cookie)则在设定的过期日期前一直存在。 3. **Cookie作用**:Cookie主要用于身份验证、跟踪用户行为、保持会话状态...

    cookie session 的概念和基本用法

    Cookie和Session都是用来管理用户会话的技术,但它们存储的位置和生命周期不同。Cookie存储在客户端,数据量小且受限制,适合存储临时性、不敏感的信息。而Session存储在服务器端,可以存储更多数据,但消耗服务器...

    jsp cookie+session实现简易自动登录.docx

    通过使用JSP(JavaServer Pages)、Cookie 和 Session 技术,可以有效地实现这一功能。本文将详细介绍如何利用 JSP、Cookie 和 Session 来构建一个简易的自动登录系统。 #### 基本概念 1. **JSP**: 是一种基于Java...

    JavaWeb(Servlet+request和response+EL表达式+JSP+Cookie和Session)

    JavaWebServlet JavaWeb 是基于 Java 语言的 Web 应用程序开发技术,Servlet 是 ...在 JavaWeb 应用程序中,Servlet、JSP、EL 表达式、Cookie 和 Session 是紧密相关的技术,共同组成了 JavaWeb 应用程序的核心组件。

Global site tag (gtag.js) - Google Analytics