- 2
- 0
- 约1.1万字
- 约 28页
- 2018-07-20 发布于江苏
- 举报
第12讲 Servlet会话管理与上下文5
第12讲 Servlet会话管理与上下文 本讲小结 使用Java Servlet API进行会话管理:常用API,使用步骤,应用(身份验证、购物车) Session与Cookie的关系 什么是Servlet上下文:问题的提出,可用Servlet上下文标识一个web应用程序 与Servlet上下文相关的API:ServletContext对象的获取方法,及部分方法; Servlet上下文的应用:应用程序中各web组件相互共享数据(不同作用域数据的比较),访问应用程序级初始化参数(context-param与init-param比较),将消息记录到应用程序日志文件中; 使用Java Servlet API进行会话管理 Session与Cookie的关系 什么是Servlet上下文? 与Servlet上下文相关的API Servlet上下文的应用 使用Java Servlet API进行会话管理 会话(session) 概念:在指定的时间段中来自同一客户端的一系列HTTP请求 服务器是以对象方式来管理会话的. Servlet中定义HttpSession 接口,可创建session对象 会话结束条件: 会话过期:空闲时间超过指定期限(如:30分钟) 强制失效:服务器的HttpSession对象调用invalidate()方法(在用户注销时常使用) 客户关闭浏览器:不够准确,浏览器关闭时将丢失保存在内存sessionID (1)Java Servlet API常用方法 创建Session:通过HttpRequest对象调用如下两个方法 HttpSession getSession() :返回与本次请求相关的会话,若这次请求没有对应的会话,将产生一个新会话; HttpSession getSession(boolean?create ) :返回与本次请求相关的会话,若这次请求没有对应的会话而create为true,将产生一个新会话,否则,返回null Session的方法: String getId():返回sessionID(唯一标识) long getCreationTime():返回session被创建的时间(自1970.1.1 GMT算起),单位毫秒。 long getLastAccessedTime() :返回session最后被客户发送的时间,计算方法、时间单位同上。 boolean isNew() :如果客户端不知道这个会话或没有选择加入这个会话,返回值为true。 Session的方法(续): void setAttribute(String name, Object value) :设置属性 Object getAttribute(String name) :获取属性 Enumeration getAttributeNames() :获取属性名(多个) void removeAttribute(String name) :删除指定属性 ServletContext getServletContext():返回Servlet上下文 void invalidate() :强制会话失效,在用户注销时常使用 void setMaxInactiveInterval(int?interval) :设置会话最长的空闲时间(单位为秒),超时将失效 int getMaxInactiveInterval() :会话最长的空闲时间 在web.xml中配置session的最长空闲时间 : (为什么要过期?) session-config session-timeout整数(负数永不过期,单位:分钟)/session-timeout /session-config (2) 使用Session的步骤(三步) 第一步:获取Session,通过HttpRequest对象调用 getSession() 或 getSession(boolean?create ) 方法 第二步:存储数据到session或从session读取数据 getAttribute(“名称”):查找以前存储的值,如果不存在则返回null,在使用此方法返回的对象前,一定要检查它是否为null,且其类型为Object,通常要强制类型转换 setAttribute(“名称”,对象):设置属性 removeAttribute (“名称”):移除属性 第三步:销毁session:让session过期,或调用invalidate()强制失效 思考题:怎样判断一个session是否为原先的? (1)判断 session.isNew()==false? (2)HttpSession session=request.getSession(false); 判断 sess
您可能关注的文档
- 科学仪器编码7.doc
- 科学养猪提高母产仔率.pptx
- 科学发展焕发勃勃生机3.doc
- 科学发展观是指导当代大学生健康成长地强大思想武器.ppt
- 科学发展观学习考资料.doc
- 科学安排强化指扎实推进依托专家科学论证着.doc
- 科学实践活动课的设计与实施.ppt
- 科学技术与社会的互动5.ppt
- 科学教案7.doc
- 科学探究:永无止境5.ppt
- 2026年度全国会计专业技术资格(高级)市销率模型适用条件卷.docx
- 2026年度全国会计专业技术资格(高级)市盈率模型驱动因素刷题卷.docx
- 2026年度全国会计专业技术资格(高级)收入确认基本原则卷.docx
- 2026年度全国会计专业技术资格(高级)税款征收方式与措施卷.docx
- 2026年度全国会计专业技术资格(高级)税额抵免优惠梳理卷.docx
- 2026年度全国会计专业技术资格(高级)特别风险判断与应对刷题卷.docx
- 2026年度全国会计专业技术资格(高级)所有者权益构成与分类卷.docx
- 2026年度全国会计专业技术资格(高级)特定交易收入确认规则卷.docx
- 呼吸机管路固定方法.pptx
- 2026年度全国会计专业技术资格(高级)外币货币性项目汇兑损益刷题卷.docx
最近下载
- 小学数学巧算24点专项练习题(每日一练,共9份).docx VIP
- 小学数学巧算24点专项练习题(每日一练,共19份).docx VIP
- 浙江省温州市2025年数学中考一模试卷.pptx VIP
- 9宫格数独练习题(初级简单,每日一练,共19份).pdf VIP
- 9宫格数独练习题(初级简单,每日一练,共31份).pdf VIP
- 2023年浙江省温州市中考数学真题.docx VIP
- (81格)舒尔特方格-儿童注意力训练(每日一练,共24份).docx VIP
- (81格)舒尔特方格-儿童注意力训练(每日一练,共19份).docx VIP
- (25格)舒尔特方格练习题儿童注意力训练(每日一练,共9份).docx VIP
- (25格)舒尔特方格练习题儿童注意力训练(每日一练,共16份).docx VIP
原创力文档

文档评论(0)