`
天上掉下个喜欢编程的榕哥哥
  • 浏览: 28911 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

会话技术Cookie & Session

    博客分类:
  • Java
阅读更多

 

1.1、在WEB开发中什么是会话?

 
       当我们打开浏览器,在浏览器上访一个网站,不管在网站里点击多少个超链接、访问多少资源,一直到关闭浏览器,这一整个过程就是一个会话。
 
1.2、会话中常需要解决的问题
 
      用户与服务器的交互会话过程中,每个用户都会存在自己的一些数据,例如登录后记住登录状态,用户访问过的资源信息、网上购物选购的商品信息.......
       对于某些会话数据,有时候程序必须想办法保存这些数据

       ① 如用户在一个网站登录后不管再怎么刷新跳转,用户的基本信息一直存在,如果不想办  

           法保存,每次刷新跳转都必须新去数据库取得该用户的信息,这样用户无法一直保持

           登录状态。   

       ② 如用户在某个网站购物时,选购了几种不同的商品,如果这时候不想办法先保存用户选 

           购的所有商品信息(购物车)用户则需要选购一种物品就得支付一次

       

1.3、保存会话数据的两种技术——cookie & session
   下面主要是本人自己的一些理解,使用的例子都较为基础,更多使用方法可以通过查阅API。
1.3.1、cookie
什么是cookie?

       cookie是一种客户端的技术,就是利用这种技术将一些用户信息以cookie形式的文件保存到用户各自的浏览器中(不服务器上),可以方便使用这些信息。

       cookie形式的文件其实一般就是一个txt文档,只是文档里以某种格式保存数据的。

      适当的定义:一个cookie就是web服务器在用户电脑硬盘上存放的一段小文本信息,这个

                         文本信息存储着一些“键-值”对,并可以在以后重新获取它。                        

java中使用cookie:要导入javax.servlet.http.Cookie这个包
 
      //1.添加一个cookie到客户端,

      public void addCookie( ){

//新建一个名为username的cookie,对应的值为hzh

            Cookie c1 = new Cookie("username","hzh");

//response来自HttpServletResponse向浏览器添加一个cookie,这里没有设置生命周期

            response.addCookie(c1);

//新建一个名为password的cookie,对应的值为123

 
         Cookie c2 = new Cookie("password","123");
         c2.setMaxAge(3600);     //设置生命周期为1小时,秒为单位
         response.addCookie(c2);//向浏览器添加一个cookie
 
    }
 
   如果在添加cookie时没有设置生命周期,那这个cookie只存在客户端的内存中,并未写到硬盘文件中(如果客户端关闭 此浏览器窗口,就丢失了)
   如果设置了生命周期,那么就会将此cookie写到硬盘文件中,直到设置的生命周期结束才会失效。
 
//2.读取cookie文件
public void getCookies(){
             Cookie[] cookies = request.getCookies();  //首先要取得浏览器上所有的cookie,返回一个数组
            for(Cookie c :cookies ){                      //遍历查找名为username的cookie

                  if(c.getName().equals("username")){

//通过cookie的getName()和getValue()分别取得对应的cookie名和对应的值

                         System.out.println(c.getName()+"--->"+c.getValue());
                  }
            }
     }
 
//3.删除cookie文件,可以将cookie的生命周期设置为0,浏览器就会将其删除

public void deleteCookie(){

//如果要删除某个cookie,就重新建一个同名的cookie再设置其生命周期为0就行:

       Cookie c1 = new Cookie("username",null);
       c1.setMaxAge(0);
       response.addCookie(c1);  

   }

 

1.3.2、session
什么是session?

session是一种服务器端的技术,利用这种技术能够在web服务器内存中为每一个用户与服务器

 的会话建立一个内存空间来保存会话数据信息。

       因为是保存在服务器的内存中,所以当会话结束(浏览器关闭),对应的session也会结束。
 
java中使用session:要导入javax.servlet.http.HttpSession这个包
//1.添加一个session到服务器
    public void addSession(){
          HttpSession session = request.getSession();
          session.setAttribute("username","su"); //向服务器添加一个名为username的session
     }
 
//2.获取一个session的值
    public void getSession(){

          HttpSession session = request.getSession();

//一般取出来的是object所以要 强转类型

          String username =(String) session.getAttribute("username");
     }
 
//3.删除session
    public void deleteSession(){
          HttpSession session = request.getSession();
          session.removeAttribute("变量名"); //删除某个session
           session.invalidate(); //删除所有session
     }

 

分享到:
评论

相关推荐

    day16_cookie&session源代码.zip

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

    Cookie&Session;&Cache;.zip

    在"Cookie&Session&Cache"这个压缩包中,可能包含了针对这三种技术的封装库,提供了方便的API来简化开发中的操作,如创建、读取、更新和删除Cookie、Session和Cache的功能。这些库通常会提供错误处理机制,确保数据...

    day16_cookie&session.rar

    在Web开发中,Cookie和Session是两种非常重要的技术,用于管理用户会话状态。它们都是用来跟踪用户身份和保持用户信息的方式,但有着不同的工作原理和应用场景。在本教程“day16_cookie&session”中,我们将深入探讨...

    Day09_cookie & Session

    ### Day09_cookie & Session:详解Cookie与Session的用法及生命周期 在现代Web开发中,维护用户状态是一项至关重要的任务。Cookie与Session是实现这一目标的两种主要机制。本文将深入探讨这两种技术的工作原理、...

    cookie&session.pdf

    Cookie是一种在浏览器端记录数据的技术,它能够记录服务器传递过来的数据,帮助浏览器和服务器记录会话状态。 知识点三:Cookie的基本使用 Cookie的常用方法包括创建Cookie对象、获取Cookie的名称和值、设置Cookie...

    Cookie&Session;

    在Web开发中,Cookie和Session是两种非常重要的用户身份验证和会话管理技术。它们都是用来跟踪用户状态,尤其是在无状态的HTTP协议下保持用户登录状态的关键手段。下面将详细介绍Cookie和Session的工作原理、用途...

    Cookie&SessionJsp-授课

    本文将详细介绍 Cookie 和 Session 在 JSP 中的应用,包括会话管理概述、Cookie 和 Session 的概念、分类和应用场景。 1. 会话管理概述 会话管理是指在 Web 开发中,实现不同请求之间的数据共享和交互的一种机制。...

    javaweb详细笔记,绝对详细(内含代码)

    会话技术Cookie&Session; 55 动态页面技术(JSP/EL/JSTL) 59 javaEE的开发模式 65 事务(JDBC) 67 Json数据格式(重要) 70 Js原生Ajax和Jquery的Ajax 71 监听器Listener 74 邮箱服务器 79 过滤器Filter

    9--cookie&session;.docx

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

    Cookie&Session;&Cache;

    Session用于存储用户会话数据,但过多使用可能导致服务器压力增加;而Cache则是为了提升性能,但需要妥善管理,避免数据过期或占用过多内存。 在实际应用中,开发者会根据需求合理使用这三种技术,以平衡用户体验、...

    会话跟踪技术cookie,session

    会话跟踪技术cookie,session

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

    - Cookie是由服务器端生成,发送到客户端(浏览器)的一小块数据,用于存储用户会话信息。它的名字来源于英文单词"cookie",直译为饼干。 - 在Web应用中,Cookie主要用来在客户端和服务器之间传递状态信息,比如...

    会话技术 之 cookie , session.pdf

    会话技术主要涉及两个概念:Cookie和Session。会话指的是用户开启浏览器,访问网站,并且在不关闭浏览器的前提下,访问多个链接和资源的过程。会话技术的使用主要是为了解决HTTP协议无状态性的限制,即每次HTTP请求...

    cookie&session

    在Web开发中,Cookie和Session是两种非常重要的用户身份验证和会话管理机制。它们用于在客户端(浏览器)和服务器之间存储和交换信息,确保用户在浏览网站时能够保持登录状态,实现个性化设置等。 首先,让我们详细...

    cookie、session会话技术

    cookie、session会话技术

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

    Session则是在服务器端存储用户状态的一种方式,它为每个会话创建一个唯一的ID,保存在服务器的内存中,通过这个ID来追踪用户的状态。 在C#中,`System.Web`命名空间提供了对Cookie和Session的操作接口。下面我们将...

    会话技术 之 cookie , session.md

    讲述了javaweb之cookie和session的基本使用,用不同的风格叙述给大家听,希望大家可以更好地去理解!

    Cookie&Session&JSP(十二).zip

    之后,客户端每次请求时,都会自动带上这个Cookie,服务器根据Session ID找到对应的Session,从而实现会话保持。这种模式称为“基于Cookie的Session管理”。 **Cookie、Session和JSP的交互** 在JSP中,可以通过...

    Cookie、Session和Token三者的区别及使用

    - **会话Cookie (Session Cookie)**: 不设定过期时间,仅在用户会话期间有效。 - **持久Cookie (Persistent Cookie)**: 设定了过期时间,在该时间内无论浏览器是否重启都会保持有效。 **用途**: Cookie常用于个性化...

Global site tag (gtag.js) - Google Analytics