Servlet会话跟踪.ppt_第1页
Servlet会话跟踪.ppt_第2页
Servlet会话跟踪.ppt_第3页
Servlet会话跟踪.ppt_第4页
Servlet会话跟踪.ppt_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第四课,Servlet会话跟踪,回 顾,HttpServletRequest常用方法 HttpServletResponse常用方法 Servlet请求转发与重定向区别 转发是从当前服务器调转 返回浏览器浏览器再发送请求 转发请求一次,重定向请求两次 转发地址栏不改变,重定向会改变 Servlet上下文(ServletContext)概念和接口方法,提问,本章案例,用会话跟踪(Cookie、URL重写、隐藏表单域)显示欢迎词 使用Servlet会话跟踪实现购物车功能,本章目标,HTTP协议的无状态性 HttpSession的使用 Cookie的介绍与使用,HTTP的无状态性,会话(Session),1、会话概念 顾名思义,会话是指客户端与服务端的一场对话过程,客户端问一句 话,服务端应答一句话,这样一问一答的过程可以连续持续多次,这个 过程就被称之为一个会话过程;其中客户端问的动作就是发送请求 (Request)的动作,而服务端应答(Response)的动作并是响应客户端 的动作,多次Request与Response的就构成了一个会话(Session) 2、会话跟踪: 会话跟踪机制是一种在客户端与服务器之间保持HTTP状态的解决方案,这些解决方案主要分为如下几种: A、Cookie:在浏览器支持Cookie的情况下使用Cookie来跟踪 B、URL重写:在浏览器不支持Cookie的情况下使用URL重写 C、Session:建立在Cookie与URL重写基础之上的高层接口,默认使用Cookie, 在浏览器禁用Cookie的情况下自动切换成URL重写 3、如果客户端浏览器被关闭则会话将被强行结束,Servlet中会话跟踪(Session),Session机制是一种服务器端的机制,服务器使用一种类似于散列表的结构来保存会话过程中的信息,它有如下主要的API: A、request.getSession():获取与当前请求相关联的Session对象,如果当前请求已经存在一个与之相关联的Session则直接返回它,如果没有则创建一个与当前请求相关联的Session对象 B、setAttribute(String attr,Object object):将一个键值对推入Session作用域中保存起来,以便在同一个会话的其它请求中获取 C、getAttribute(String attr):根据键名从Session作用域中取出对应的值 D、removeAttribute(String attr):删除Session作用域中参数键名标识的键值对 E、getId():返回通过重写URL得到的SessionId,它是Session的唯一标识符 F、isNew():判断当前的Session是否为新创建的会话 G、getCreationTime()返回Session的创建时间(使用毫秒表示) H、getLastAccessedTime():返回当前Session最后一次的访问时间(使用毫秒表示),如果是第一次访问则返回值与getCreationTime()返回值相同 I、invalidate():删除当前会话(结束当前的会话,释放会话作用域中保存的所有信息),会话超时,Session的默认失效时间是30分钟(1800秒),我们也可以使用下面两种方式之一显式的为Session设置一个失效时间: A、HttpSession类的setMaxInactiveInterval()方法为每个单独的Session对象实例设置失效时间(局部设置,单位是秒,如果设置为负数表示永不失效) B、在web.xml中的web-app标签下使用session-config和session-timeout元素配置所有Session的失效时间(全局设置,单位是分钟,如果设置为0或负数表示永不失效),与Servlet有关的四大作用域,application作用域:该作用域中数据的存储由ServletContext实例来完成,application作用域中包含来自多个不同客户端的session会话作用域数据;其作用域中数据生命周期的结束点与整个web应用工程同步 session作用域:该作用域中数据的存储由HttpSession实例来成,session作用域中包含来自多次请求-响应的request作用域数据,其作用域中数据生命周期的结束点取决于设置的最大空闲会话时间和用户浏览器的关闭 request作用域:该作用域中数据的存储由ServletRequest实例来完成, request作用域中包含来自多次服务端跳转的页面作用域数据,request作用域生命周期的结束点是一次请求-响应的完成 page作用域:该作用域中数据的存储由PageContext实例来完成,page作用域中包含对应JSP页面中存放的各种数据,page作用域的生命周期是该页面的执行结束(如:当从一个页面跳转到另一个页面则该页面的page作用域将被销毁),PageContext在我们学校JSP时再讲解它 注:上面的四大作用域是由大到小的,每个作用域都有如下方法: setAttribute(attr,value):向作用域中存放键值对,如果键名存在则替换值 getAttribute(attr):从作用域中取出键名对应的值 removeAttribute(attr):从作用域中移除键名对应的键值对,总 结,1、会话就是多次请求与响应的组合,一个会话的结束可能是因为会话超时或者用户关闭浏览器所致,Session默认使用Cookie跟踪,在客户端浏览器禁用Cookie的情况下会自动切换成URL重写方式来跟踪会话 2、Session作用域中的数据存取方式与Request基本相同,仅仅是作用域范围和生命周期不同 3、Session默认的超时时间是30分钟,可以通过Session实例设置它的超时时间,也可以通过web.xml来配置一个web工程应用中的所有Session的超时时间 4、与Servlet有关的四大作用域的数据存储方式完全相同,不同之处在于作用域中存储数据的范围和生命周期不同,作 业,创建test数据库与student表,student表中有学生的登录帐户和密码两个字段 学生在登录html界面上输入用户名和密码点击登录,服务端接收到请求之后在数据库中查找登录帐户和密码,如果没有找到则跳转到登录失败的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论