Servlet - Session相关

/*

1. 作用: 解决了一个用户的不同请求的数据共享问题

2. 原理:
    用户第一次访问服务器, 服务器会创建一个Session对象给此用户,
    并将该Session对象的JSESSIONID使用Cookie技术存储到浏览器中,
    保证用户的其他请求能够获取到同一个Session对象,
    也就保证了同一个用户的不同请求能够获取到共享数据

3. 特点:
    存储在服务器端, 由服务器进行创建, 依赖Cookie技术

4. 使用:
    // 创建和获取Session对象
    HttpSession session = req.getSession();

        如果请求中拥有Session的标识符, 也就是JSESSIONID, 则返回对应的Session对象
        如果请求中没有Session的标识符, 则创建新的Session对象,
        并将其JSESSIONID封装成Cookie对象存储到浏览器的内存中,
        如果Session对象失效了, 也会重新创建一个Session对象
        注意: JSESSIONID存储在了Cookie的临时存储空间中, 浏览器关闭即失效

    // 设置Session的存储时间, int值为多少秒
    session.setMaxInactiveInterval(int); 

        Session的默认存储时间位30分钟
        在指定的时间内, Session对象没有被使用, 则销毁, 如果使用了, 则重新计时

    // 强制Session对象失效
    session.invalidate();

    // 存储数据
    session.setAttribute("key", "value");

    // 获取数据
    session.getAttribute("key");

        存储的动作和取出的动作可以发生在不同的请求中, 但存储要先于取出执行

5. Session失效处理

    将用户请求中的JSESSIONID和后台获取到的Session对象的JSESSIONID进行比对,
    如果一致, 则Session没有失效, 如果不一致, 则说明了Session对象失效了,
    这时可以重定向到登录页面, 让用户重新登录

*/

原文地址:https://www.cnblogs.com/mpci/p/12633783.html

时间: 2024-10-31 14:15:28

Servlet - Session相关的相关文章

Servlet初始化相关问题,以及Spring容器初始化

一.Servlet初始化 ①Servlet在初始化的时候,是通过init(ServletConfig config) 或 init() 来执行的. ServletConfig 是一个接口,它怎样传递给他一格对象来进行初始化呢?其实,是这个对象是由 servlet 容器来实例化的,由容器产生一格 ServletConfig 的实现类的对象,然后传递给 Servlet ②我们有些时候可能在 Servlet 初始化时给它一些固定的配置参数,那么这些参数是怎样传递到 Servlet 呢?其实,我们在 w

深入理解JSP/Servlet Session会话管理机制

HTTP 是一种无状态协议,这意味着每次客户端检索网页时,都要单独打开一个服务器连接,因此服务器不会记录下先前客户端请求的任何信息.它与FTP.Telnet等协议不同,FTP等协议可以记住用户的连接信息. 会话(Session)是指一个终端用户与交互系统进行通信的时间间隔,通常指从登陆系统到注销系统之间所经过的时间以及如果需要的话,可能还有一定操作空间.JSP有四种方式实现会话跟踪功能. Cookie 服务器在响应请求时可以将一些数据以"键-值"对的形式通过响应信息保存在客户端.当浏览

好记性不如烂笔头43-javaWeb中Session相关事件监听器(7)

JavaWeb应用中,很多的地方都和session有关.因此session相关的事件监听器,在日常工作中非常有用. Servlet 规范中定义了两个特殊的监听器接口"HttpSessionBindingListener和HttpSessionActivationListener"来帮助JavaBean 对象了解自己在Session域中的这些状态变化,实现这两个接口的类不需要 web.xml 文件中进行注册. 1. HttpSessionBindingListener接口 实现了Http

Web---演示Servlet的相关类、下载技术、线程问题、自定义404页面

Servlet的其他相关类: ServletConfig – 代表Servlet的初始化配置参数. ServletContext – 代表整个Web项目. ServletRequest – 代表用户的请求. ServletResponse – 代表用户的响应. HttpSession – 代表用户的一次会话. 本篇博客演示:ServletConfig类 和 ServletContext 类(网页点击量统计,留言板和图片下载技术(其他类型文件类似)) ServletConfig: 它包含了Serv

servlet session跟踪实践

一.session简介 1.session概念 Session代表服务器与浏览器的一次会话过程.因为http是无状态的协议,所以,浏览器与服务器的会话过程是断断续续的.在servlet中,session指的是HttpSession对象. 浏览器第一次发出请求时,服务器创建session并生成一个sessionID.然后返回给浏览器.此时查看浏览器的cookie,会发现会有一个: Cookie:JSESSIONID=sessionID 浏览器再次发出请求时,会携带该cookie,服务器就可以根据s

Servlet——Session(2)之简单应用

Session技术的应用 1.防止用户非法登录到某个页面 比如我们的用户管理系统,必须要登录成功后才能跳转到主页面,而不能直接绕过登录页面直接到主页面,这个应用是一个非常常见的应用. 这时候,我们需要使用到Session技术,如下,当在验证用户的控制器LoginClServlet.java验证用户成功后,将当前的用户信息保存在Session对象中: // 把user对象保存在session HttpSession session = request.getSession(); session.s

Servlet——Session(3)之实现原理的深入讨论

Session实现原理深入讨论 1.Session实现机制 服务器是如何实现一个session为一个用户浏览器服务的? 解释: 假如浏览器A先访问Servlet1,这时候它创建了一个Session,ID号为110,然后Servlet1将这个ID号以Cookie的方式返回给浏览器A,接着,如果浏览器A继续访问Servlet2,那么这个请求会带上Cookie值: JSESSIONID=110,然后服务器根据浏览器A传递过来的ID号找到内存中的这个Session. 这时候假如浏览器B来访问Servle

【Hibernate学习笔记】第二章节:JSP/Servlet及相关技术详解

JSP(Java Servr Page)和Servlet是Java EE规范的两个基本成员,他们是Java Web开发的重点知识,也是Java EE开发的基础知识.JSP和Servlet的本质是一样的,因此JSP最终必须编译成Servlet才能运行,或者说JSP只是生成Servlet的"草稿"文件.JSP的特点是在HTML页面中嵌入了Java代码片段,从而可以动态的提供页面内容. 1.Web应用和web.xml文件 JSP.Servlet.Listener和Filter等都必须运行在W

Servlet的相关知识点

Servlet 概述: 使用jsp可以完成动态web的开发,即使是使用了javabean将某些java代码从jsp页面中拆分出去,jsp页面依然残留许多java代码,这时就需要引入另外一种技术--servlet,以进一步减少jsp页面中的java代码,从而使得jsp页面更加干净.整洁. Servlet(服务器端小程序),是一种使用java语言,按照Servlet标准开发的类. Servlet程序可以接收客户端传来的request,并且向客户端返回一个响应. Servlet本身就是一个java"模