




已阅读5页,还剩17页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第三章Servlet容器模型 课程目标 会话的基本原理及其常用方法了解HttpSession原理掌握如何使用HttpSession会话管理ServletContext接口 1 会话管理的基本原理 基本原理使用隐藏域使用Cookie类使用URL重写 会话管理的基本原理 Http协议为无状态通信协议 但Web应用程序的有些功能必须要多次请求来完成 这种记得此次请求与之后请求关系的方式称为会话管理 实现会话管理的几种方式使用隐藏域使用URL重写HttpSession使用Cookie 使用隐藏域 隐藏域 就是将上页的信息作为隐藏域传递给下一页关键代码 使用URL重写 URL重写 就是用Get请求参数的应用 当服务器响应浏览器上一次请求时 将某些相关信息用超链接方式响应给浏览器 超链接中包括请求参数信息out println hello 2 HttpSession的会话管理 会话原理机制 HttpSessionHttpSession对象的ID如何使用HttpSession对象Httpsession对象的生命周期 2 1会话原理机制 HttpSession HttpSession由Tomcat服务器负责创建 session是实现了HttpSession接口类的一个实例HttpSession对象用来记录客户与服务器的连接信息 2 2HttpSession对象的ID 当客户首次访问WEB应用程序时 Tomcat服务器创建一个Httpsession对象 存放各个页面提交的信息 Httpsession对象被分配了一个String类型的ID Tomcat服务器将ID发送到客户端 存放在客户的Cookie中 在会话期内 同一用户在同一Web服务目录中的各个页面的Httpsession对象是相同的 不同用户的Httpsession对象互不相同 具有不同的ID举例 2 3如何使用HttpSession对象 利用Httpsession对象存储数据 1 publicvoidsetAttribute Stringkey Objectobj 将参数Object指定的对象obj添加到session对象中 并为添加的对象指定了一个索引关键字 如果添加的两个对象的关键字相同 则先前添加的对象被清除 2 publicObjectgetAttibute Stringkey 获取session对象含有的关键字是key的对象 由于任何对象都可以添加到session对象中 因此用该方法取回对象时 应强制转化为原来的类型 2 3如何使用HttpSession对象 3 publicEnumerationgetAttributeNames session对象调用该方法产生一个枚举对象 该枚举对象使用nextElemets 遍历session中的各个对象所对应的关键字 4 publicvoidremoveAttribute Stringname session对象调用该方法移掉关键字key对应的对象举例 main jsp food jsp loginServlet java foodCount java 举例 购物车 loginServlet java 获取名字存入session对象session setAttribute customerName name foodCount java 选取各种食品存入session对象StringfoodName request getParameterValues choice if foodName null for intk 0 k foodName length k session setAttribute foodName k foodName k 举例 购物车 显示姓名和所选商品EnumerationenumGoods session getAttributeNames out println 购物车中的商品 while enumGoods hasMoreElements Stringkey String enumGoods nextElement Stringgoods String session getAttribute key if goods equals personName out println goods 思考并练习 重新选购时如何能够将原来的选购记录取消 能够显示价钱 并能够结账计算价钱 要如何进行改进 按照订单的一般设计 如果还能够选择件数 折扣等 又要如何设计 留待以后的章节来讨论 2 4session对象的生命期限 从用户开始连接Web服务器到中断与服务器的连接发呆状态 两次请求的最大间隔时间 可通过conf文件夹下的web xml修改设置生命周期的相关方法invalidate session失效getCreationTime 创建对象的时间 2 5URL重写 session对象与客户对应关系的建立依赖于客户端浏览器是否支持Cookie 可通过URL重写实现Session对象的唯一性 将ID在页面间传递过去Stringstr response encodeRedirectURL 地址 连接目标改成 3使用Cookie Cookie是浏览器存储信息的一种方式 服务器响应浏览器的set cookie标头 浏览器收到标头与数值后 会将其以文件形式存储在计算机上 这个文件就是CookieCookie的常见方法新建CookiepublicCookie Stringname Stringvalue Cookiecookie newCookie Cookie Catme 新建Cookie设置Coookie的最大存活时间 单位为秒 如果是负值 表示永不存储 0表示删除CookiepublicvoidsetMaxAge intexpiry cookie setMaxAge 7 24 60 60 设置一个星期的最大存活向客户端发送Cookie对象response addCookie cookie 使用Cookie 举例向客户端发送Cookie对象举例 SendCookieServlet java从客户端读取Cookie对象 单个 举例 ReadCookieServlet java从客户端读取Cookie对象 全部 举例 ReadAllCookieServlet java 使用Cookie 自动登录举例 login jsp登陆页面CheckUser java判断是否登陆页面 依据此思想可以写一个过滤器 匹配给所有需要登陆才能访问的页面 Servlet接口 Servlet可以使用javax servlet ServletContext对象来获得Web应用程序的初始化参数及其相关信息 具体API得到ServletContext引用ServletContextcontext getServletContext ServletContextcontext getServletConfig getServletContext 获得应有程序初始化参数 即web xml中设置的信息上下文初始化参数publicStringgetInitParameter Stringname 获得资源 getResource 和getResourc
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 人教版九年级下册英语在线教学计划
- 智能制造风险防控措施
- 精美护士护理
- 2025英语高考作文命题范文
- 2026届山西省怀仁市重点中学高一化学第一学期期中统考试题含解析
- 劳动模范表彰激励机制学习心得体会
- 感染风险防控-洞察及研究
- 品牌农产品的质量控制体系-洞察及研究
- 麻醉与神经发育-洞察及研究
- 小学四年级上册书法课堂练习计划
- 5.2.1分析人类活动对生态环境的影响课件-人教版生物八年级上册1
- 2025年建筑师考试答案-建筑师考试答案解析
- 新疆的历史文化课件
- 安全生产网格化管理工作实施方案
- 代理记账风险管理制度
- DBJ04-T487-2025 高大模板支撑体系监测技术标准
- T/CGAS 026.1-2023瓶装液化石油气管理规范第1部分:安全管理
- PEP人教版六年级上册英语课后辅导计划
- 餐饮劳务合同协议书样本
- 中医护理灸疗技术操作规范:督灸
- 泌尿外科手术分级管理制度
评论
0/150
提交评论