代码编织梦想

什么是会话呢?

       所谓的会话过程就是指从打开浏览器到关闭浏览器的过程。

Cookie和Session指的又是什么呢?

       大家都知道,http是无状态的协议,客户每次读取web页面时,服务器都打开新的会话,而且服务器也不会自动维护客户的上下文信息。如果说我们要实现购物车添加或删除商品的功能的话,我们就需要使用到Cookie和Session技术。也就是说,Cookie和Session是域对象。所谓域就相当于给存储的内容设置一个边界,将存储的内容存储到这片区域内。
什么是HttpServletResponse转发和重定向?

        因为将下面的域对象的时候会用到转发和重定向的知识点,所以在此补充一下.......

        ①.转发:转发时浏览器地址栏不会发生改变。

                      转发时浏览器发送了一次请求。

                      转发时发生在服务器内部,浏览器不知道转发的发生。

                      RequestDispatcher rd = request.getRequestDispatcher("转发到的页面");

rd.forward(request, response);

         ②.重定向:重定向时地址栏发生改变。

                           重定向时浏览器发送了两次请求。

                           重定向时发生在浏览器端的,浏览器知道重定向的发生。

                        response.sendRedirect("重定向到的页面");
Request域、ServletContext域、pageContext域、Cookie域、Session域的区别是什么?

     用在网上购买东西这个案例来剖析这个问题。

    ①.request域:表示的是一次请求范围内。

       如果说,我要去购买一件上衣向服务器发送一个购买请求,它返回给我一个购买成功的响应;当我再去购买一个裤子的时候就相当于又一个请求,那么这时候用转发的话当然就不行了,如果用重定向的话可以解决这个问题,只不过比较麻烦。然后把里面所购买的上衣的数据从request域拿出来和第二个请求拼接在一起在存入request域中。

      但是当我要去结算的,就是在另一个Servlet中,这个时候我的request域中的数据就会全部丢失。具体如下图所示:

    

②.ServletContext域和pageContext域:

      这两个域在我看来没有本质上的区别,可以理解为服务器端的共享空间。只不过说,ServletContext域表示的是整个web服务,而pageContext域表示的是一次请求。

      如果说,我要购买一件上衣,向服务器发送一个请求,服务器返回给我一个购买成功的请求 ,同样的再去购买一条裤子也是一样的。看来一切都是正常的,结算也可以去结算界面结算我的总金额。

      但是,我要说的是,因为这是一个购物界面,所以就不会只是你一个用户。因为这是一个服务器端的共享空间,所以当别人也去购买东西添加购物车后,你去结算的时候就包括自己和别人共同的东西。具体如下图所示:

        ③.Cookie域:

     Cookie域就是所谓的会话技术,或者说是客户端技术。

      同样去买一件上衣,这个时候就会把上衣这个对象存入的开辟的Cookie空间中, Cookie空间为此对象绑定一个唯一的标识然后以响应头方式返回给客户端,当再去购买裤子的时候会带着这个唯一标识以请求头的方式存入到Cookie空间中,同时为它绑定唯一的标识。因为Cookie域保存在自己浏览器内部,与别人互不干扰,但因为是客户端技术,所以安全性不高。具体如下图所示:


④.Session域

     Session域就是另一种会话技术,也叫做服务器端技术。Session的底层也是基于Cookie的,只不过有自己的改变。

     和Cookie一样,去买一件上衣,这个时候就会把上衣这个对象存入的开辟的Session空间中, Session空间为此对象生成一个唯一的Key值,当再去购买裤子的时候会带着这个唯一的Key值存入到Cookie空间中,同时为它绑定唯一的Key值。因为Session域同样保存在自己浏览器内部,与别人互不干扰,它相较于Cookie而言是服务器技术,较安全。具体如下图所示:

     


Cookie域的常用方法:

    1.获取Cookie的内容:

  Cookie[] cookies = request.getCookies();

 因为如果我们打开京东的同时,同时去打开淘宝等,这个时候就会存在多个Cookie

 2.Cookie的构造方法:Cookie(String name,String value)

 3.获取Cookie的值:String  getValue()

 4.获取Cookie的名称:String getName()

 5.设置有效的时间:void SetMaxAge(int expiry)

  ①.会话级别的Cookie:默认一个会话的时间,默认保存在浏览器内存中

  ②.持久的Cookie:把Cookie保存到磁盘上,通过(5.)设置。eg:保存用户名,QQ...等

    SetMaxAge(0):提前将Cookie结束

    前提条件:有效路径必须相同,从别的Servlet停止,首先要设置同一路径。

 6.设置有效路径: void SetPath(String url)

 7.设置有效域名:void SetDomain(String patten)

   eg:我要登录百度,那么:www.baidu.com

       登录百度书城:book.baidu.com

       SetDomain(".baidu.com");

Session域的常用方法:

  1. 如何获得session对象

    HttpSession session =request.getSession();

  2. 如何存取数据

    String age = (String)session.getAttribute("age");

      //getAttribute(String name)

     //通过Session来存入内容,然后来获取这指定的值,或添加指定的值

    session.setAttribute("age","20");

    session.removeAttribute(“age”);

   3.String  getId() 获取Session的唯一id

   4.void  invalidate() 销毁Session

  就先简单介绍到这里....

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_42047611/article/details/80424521

深入理解浏览器会话机制(session && cookie)-爱代码爱编程

对于一个前端开发者,cookie我想大家都不陌生,经常会封装一些诸如setcookie,getcookie的方法,session就好像一个最熟悉的陌生人一样,在我们与后端开发者合作项目的时候会用到它,但是不理解它的本质,下面

会话技术的概述(cookie和session)_xiao白跳大神的博客-爱代码爱编程_会话技术

会话技术的概述 会话简单理解为:用户打开一个浏览器,点击多个超链接访问服务器的web资源,然后关闭浏览器,整个过程称为是一次会话。 会话技术分类 Cookie技术 Cookie是客户端技术,程序把每个用户的数据以cookie的形式保存到各自浏览器中。当用户使用浏览器再次访问服务器中的web资源的时候,就会带着各自的数据过去。这样,web资源处理的就

会话技术(cookie与session)揭密_iteye_3753的博客-爱代码爱编程

一、什么是会话技术 简单的说:客户开一个浏览,点击多个超链接,访问服务器多个Web资源,然后关闭浏览器,整个过程称之为一个会话。 问:若多个用户访问服务器产生了各自的数据需要保存,那么就可以用会话技术来保存了。 二、Cookie技术 1.概念:cookie技术是客户端的技术,代表数据会保存在客户端中。服务器把每个用户的数据以cookie的形式写给

什么是会话_墨时澈℡的博客-爱代码爱编程_会话

会话(Session)跟踪是web程序中常用的技术,用来跟踪用户的整个会话,常用的会话跟踪技术是Cookie与Session 。Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用户身份。 cookie机制:一个用户的所有请求操作都应该属于同一个会话 web应用程序:是使用HTTP协议传输数据。HTTP协议是无状态的

网络基本概念——会话(session)-爱代码爱编程

这是摘自维基百科的篇章,对于计算机学科中“会话”的解释如下: In computer science, in particular networking, a session is a temporary and interactive information interchange between two or more communicating d

会话(session)_luciusvorenus的博客-爱代码爱编程_创建一个会话主要包括什么会话

一组进程形成一个进程组,一组进程组形成一个会话,即一个会话中可以包括多个进程组。 (1)创建会话 创建一个会话需要注意以下6点注意事项:1.调用进程不能是进程组组长(不能是父进程),该进程变成新会话首进程(session header) ,若调用进程是组长进程,则出错返回;2.该进程成为一个新进程组的组长进程;3.需有root权限(ubuntu不需要)

cookie和session的介绍和简单使用(什么是会话技术)_小胖来了的博客-爱代码爱编程_什么是会话技术

1.会话技术的简介 会话技术是帮助服务器 记住客户端状态(区分客户端)。每个客户访问服务器端资源时,服务器并不知道该客户端是谁,但是为了识别不同的客户端,所以产生了会话技术。从打开一个浏览器访问某个站点,到关闭这个浏览器的整个过程,为一次会话。会话技术是用于记录一次会话中客户端的状态和数据的。它可以分为两种会话技术:一种被称为Cookie技术;另一种被称

session入门学习_คิคิดถึง的博客-爱代码爱编程

概念:服务器端会话技术,在一次会话的多次请求间共享数据,将数据保存在服务器端的对象中。HttpSession快速入门: 获取HttpSession对象: //1.获取session HttpSess

会话技术——Cookie-爱代码爱编程

目录 什么是Cookie?作用实现原理 Cookie的操作Cookie的共享问题Cookie的缺陷CodeCookie 什么是Cookie? 跳转到目录 Cookie是客户端技术,程序把每个用户的数据以cookie的形式写给用户的各自的浏览器.当用户使用浏览器去访问服务器中的web资源时,以后每次请求都将之前保存的共享数据发送到服务器. 作用 跳

关于会话(session),你应该了解这些-爱代码爱编程

一、什么是会话 会话Session代表的是客户端与服务器的一次交互过程,这个过程可以是连续也可以是时断时续的。在Servlet中(jsp),一旦用户与服务端交互,服务器tomcat就会为用户创建一个session,同时前端会有一个jsessionid,每次交互都会携带。如此一来,服务器只要在接到用户请求时候,就可以拿到jsessionid,并根据这个ID

JavaWeb值Session02-爱代码爱编程

王振国老师整理     Session 什么是 Session 会话? Session 就一个接口(HttpSession)Session 就是会话。它是用来维护一个客户端和服务器之间关联的一种技术每个客户端都有自己的一个 Session 会话Session 会话中,我们经常用来保存用户登录之后的信息。如何创建 Session 和获取(id 号,

会话-爱代码爱编程

1.会话技术的概述 1.1 什么是会话 会话简单理解为:用户打开一个浏览器,点击多个超链接访问服务器的web资源,然后关闭浏览器,整个过程称为是一次会话。 1.2 为什么要学习会话 每个用户与服务器进行交互过程中,产生一些各自的数据,程序想要把这些数据进行保存,就需要使用会话技术。 例如:用户点击超链接购买了一个商品,程序应该保存用户所购买的商品,

五、会话及其会话技术-爱代码爱编程

        当用户通过浏览器访问Web应用时,通常情况下,服务器需要对用户的状态进行跟踪。例如,用户在网站结算商品时,Web服务器必须根据请求用户的身份,找到该用户所购买的商品。在Web开发中,服务器跟踪用户信息的技术称为会话技术。  一、会话概述         在日常生活中,从拨通电话到挂断电话之间的一连串的你问我答的过程就是一个会话。Web应

Cookie会话-爱代码爱编程

1.cookie是什么 cookie也叫HTTPCookie,是客户端与服务器端进行会话(session)使用的一个能够在浏览器本地化存储的技术。 cookie就是为了存储sessionId而诞生 cookie的特性,会随着要请求自动化携带cookie的值到服务器 2.cookie的作用 cookie的作用主要是在浏览器存储少量的数据,利用coo

会话技术(Cookie和Session)-爱代码爱编程

当浏览器发送 HTTP 请求到服务器时,服务器会响应客户端的请求,但当同一个浏览器再次发送请求到该服务器时,服务器并不知道它就是刚才那个浏览器 通常情况下,用户通过浏览器访问 Web 应用时,服务器都需要保存和跟踪用户的状态。例如,用户在某购物网站结算商品时,Web 服务器必须根据请求用户的身份,找到该用户过往所购买的商品 由于 HTTP 协议是无协议