第七章 Servlet会话编程
7.1 会话是什么
7.3 会话的底层实现方式
第一种:cookie
会话功能借助Cookie实现。具体来说,就是当用户第一次访问Web应用的时候,Web服务器会把一个名为JSESSIONID,值为一个16进制数字的信息保存到Cookie中,例如:jessionid=612D980051204FC8AB3,通过这样的操作,Web服务器就可以标识每一个访问的用户,相当于Web服务器发给了每个访问用户一个独一无二的用户卡。
第二种:URL地址重写
就是把表示每个用户的jsessionid的值附加到URL中,例如:Servlet;jsessionid=431D980051204FC8DC3,在Web服务器端根据URL中不同的jsessionid值,实现会话功能。
7.4 Servlet会话编程:
在Servlet和JSP中,会话的功能被封装成HttpSession类型的对象,HttpSession对象通过request对象的getSession()获得。
HttpSession session = request.getSession();
HttpSession类中的常用主要方法:
Object getAtTribute(String name):
根据绑定对象的名字,返回对应的绑定对象,如果没有找到对应的对象,返回NULL。
void setAttribute(String name, Object value):
利用当前的会话对象,绑定需要保存的对象,第一个参数是绑定的对象名,第二个参数为需要绑定的对象。
void setMaxInactiveInterval(int interval):
设定当前会话对象的最大有效时间,时间的单位为秒。
int getMaxInactiveInterval():
返回最大非活动时间间隔,就是在一次会话中,两次请求的时间隔超过参数指定的值时,Session对象将失效并被自动销毁,本次会话结束。
long getCreationTime():
获取当前Session对象被创建的时间,返回是代表时间戳的一个整数。
String getId():
返回当前Session对象的jsessionid的数值。
long getLastAccessedTime():
获取当前Session对象最后被访问的时间,皇家马德里回代表时间戳的一个整数。
ServletContext getServletContext():
返回当前Session对象所属的ServletContext对象。
Enumeration getAttributeNames():
把当前的Session对象绑定的所有属性的名字以Enumeration对象返回。
boolean isNew():
判断当前的Session对象是不是新建的Session对象。
void removeAttribute(String name):
把对应名称的属性从session对象中删除。
void invalidate():
让当前的Session对象失效。
分享到:
相关推荐
第7章 在Servlet中使用数据库 7. 1 JDBC概述 7. 1. 1 JDBC驱动程序的类型 7. 1. 2 使用JDBC 7. 1. 3 使用JDBC的实例 7. 2 连接地 7. 2. 1 ConnectionPool对象 7. 2. 2 使连接池对所有Servlet可用 7. 2. 3 ...
1. 加载与实例化:当服务器启动或第一次接收到对Servlet的请求时,会加载Servlet类并创建其实例。 2. 初始化:实例化后,Servlet会调用`init()`方法进行初始化,可以在这里设置初始化参数。 3. 服务:每当有请求到达...
Servlet是一种基于Java的服务器端编程技术,用于扩展服务器的功能,特别是在Web开发中,Servlet被广泛用于生成动态的Web页面。Servlet并不像普通的Java应用程序那样通过main()方法启动,而是由运行Java虚拟机的Web...
第7章:多线程编程,详细介绍了Java多线程编程的基础知识和应用场景。 第8章:网络编程,详细介绍了Java网络编程的基础知识和应用场景。 第9章:JDBC编程,详细介绍了Java Database Connectivity(JDBC)的基础...
第1章 servlet概述第2章 Java Web服务器第3章 第一个servlet 第4章 servlet链第5章 servlet-side Includes 第6章 会话管理第7章 安全性 第8章 HTML表单第9章 在servlet中使用JDBC 第10章 applet与servlet的通信第11...
《Servlet与JSP核心编程(第2卷 第2版)》这本书深入讲解了这两项技术,帮助开发者理解并掌握其核心概念、用法以及最佳实践。 1. **Servlet概述** - Servlet是Java平台上的一个接口,它定义了服务器端程序如何响应...
7. **监听器(Listener)**:Servlet规范定义了一系列事件监听器接口,如`ServletContextListener`、`HttpSessionListener`等,可以监听Servlet上下文、会话等事件,实现自动化的任务,如初始化配置、监控会话状态等...
**Java Servlet 编程第二版** Java Servlet 技术是Java平台上的服务器端编程模型,用于构建动态Web应用程序。Servlet接口定义了服务器如何与HTTP客户端交互,并提供了处理HTTP请求和生成响应的能力。这本书《Java ...
"Servlet与JSP核心编程第二版代码1-10章"这个压缩包包含了这两门技术的基础到进阶的示例代码,涵盖了从基本概念到实际应用的广泛内容。 在Servlet方面,章节1至10可能包括以下知识点: 1. **Servlet生命周期**:...
深入Java Servlet网络编程Part2,意味着我们将进一步探讨这个主题,包括但不限于Servlet生命周期、请求与响应处理、会话管理、过滤器和监听器等关键概念。 1. **Servlet生命周期**: Java Servlet的生命周期分为四...
在这个特定的案例中,我们关注的是第七章关于Servlet的内容,结合了JSP(JavaServer Pages)、Servlet、Struts、Hibernate以及Spring这五种技术。以下是这些技术的相关知识点: 1. **Servlet**:Servlet是Java平台...
7. **会话管理**:涵盖如何在Servlet和JSP中创建、跟踪和销毁用户会话,以及处理会话过期和安全性问题。 8. **过滤器(Filter)和监听器(Listener)**:讲解如何使用过滤器进行请求预处理和响应后处理,以及监听器...
《Servlet与JSP核心编程第二版》这本书深入浅出地讲解了这两个技术,涵盖了从基础到高级的主题,包括但不限于: 1. **Servlet生命周期**:Servlet的创建、初始化、服务和销毁过程,以及如何通过配置`web.xml`文件或...
在深入Java Servlet网络编程的第三部分中,我们可能会探讨以下关键概念和技术: 1. **Servlet生命周期**:Servlet的生命周期包括初始化、服务和销毁三个阶段。初始化阶段通常涉及加载Servlet类、创建Servlet实例并...
《Servlet与JSP核心编程第二版》这本书深入浅出地介绍了这两个关键技术。以下是一些关键知识点: 1. **Servlet生命周期**:Servlet的生命周期包括加载、实例化、初始化、服务、销毁五个阶段。开发者可以通过覆盖`...
### Servlet与JSP核心编程(第2版) #### 一、概述 《Servlet与JSP核心编程(第2版)》是一本深入介绍Java Web开发技术的书籍,主要聚焦于Servlet和JSP这两种核心技术。本书适合Java Web开发初学者及具有一定基础...
第7章 服务器响应的生成:htip响应报头 7.1 在servlet中设置响应报头 7.2 理解http1.1响应报头 7.3 构建excel电子表格 7.4 servlet状态的持续以及页面的自动重载 7.5 使用servlet生成jpeg图像 第8章 ...
在《Servlet 与 JSP 核心编程(第2版)》这本书中,作者深入浅出地介绍了这两个技术的核心概念和实践应用。以下是一些关键知识点的概述: 1. **Servlet生命周期**:Servlet在Web应用中经历初始化、服务和销毁三个...