6 管理WEB层数据.ppt_第1页
6 管理WEB层数据.ppt_第2页
6 管理WEB层数据.ppt_第3页
6 管理WEB层数据.ppt_第4页
6 管理WEB层数据.ppt_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

1、管理WEB层数据,第五章:管理WEB层数据,目标: 本章旨在使用案例向学员介绍Cookie、ServletContext、HttpSession、PageContext对象,说明WEB层数据 如何传递和共享。,教学方法:讲授ppt 课堂演示 + 练习,主要内容,传递数据 传递数据的方法:URL、表单隐藏字段 Cookie的作用和有效期 使用Cookie Web层的数据共享 Web层共享数据基本思想 页面对象 请求对象 会话对象 应用对象 几种数据共享方式的比较 数据共享方式的比较,主要内容,作用域的事件监听 HttpSessionListener与HttpSessionAtrributeLis

2、tener,Contents,传递数据,1,WEB层中的数据共享,2,作用域中的事件监听,4,传递数据的方法:URL、表单隐藏字段,数据传递回顾 客户端服务器 请求的参数 代码格式:input type=hidden name=“username value=“tom,response.sendRedirect(“/abc/trans.do?userName=zhangsan”); ,使用Cookie传递数据,什么是Cookie? Cookie是WEB服务器端发送到浏览器的简短文本信息 以后在访问同一个web站点或域时,浏览器会毫无更改的地返回该文本信息。,Cookie的作用和有效期,Cook

3、ie的问题 服务器拥有客户数据的使用权 隐私 安全 Cookie的作用 保存、传递数据 Cookie的有效期 临时Cookie 保存在磁盘 使用Cookie 不可靠的存储,使用Cookie传递数据,Cookie API,使用Cookie传递数据,Cookie的发送和接收 示例:SendCookieServlet.java 向客户端发送Cookie 创建Cookie对象 设置Cookie的最大时效,调用Cookie的setMaxAge方法 将Cookie放入到HTTP响应报头,调用HttpServletResponse对象的addCookie方法,Cookie(Stringname, Strin

4、gvalue),public void setMaxAge(intexpiry),public void addCookie(Cookiecookie),使用Cookie传递数据,Cookie的发送和接收 示例:cookie.jsp 从客户端读取Cookie 调用HttpServletRequest的getCookies方法 对数组进行遍历,调用每个cookie的getName方法,直到找到感兴趣的cookie为止 调用cookie的getValue方法获取每个cookie的值,public Cookie getCookies(),public String getName(),public

5、String getValue(),Contents,传递数据,1,WEB层中的数据共享,3,作用域的事件监听,4,WEB资源共享数据页面对象,页面对象(page) PageContext 在JSP处理当前请求时创建,处理后销毁(_jspService方法内) 在PageContext对象中共享数据 示例 Scope.jsp 获得PageContext对象 JSP的预定义变量:pageContext 在Servlet中获得PageContext对象,pageContext JspFactory.getDefaultFactory().getPageContext (Servlet arg0,

6、ServletRequest arg1, ServletResponse arg2, String arg3, boolean arg4, int arg5, boolean arg6 ),WEB资源共享数据页面对象,在PageContext对象中共享数据 示例 Scope.jsp PageContext对象的相关方法,WEB资源共享数据请求对象,请求对象(request) HttpServletRequest 在服务器截获请求后创建HttpServletRequest请求对象,在响应结束后销毁。 在HttpServletRequest对象中共享数据 获得HttpServletRequest对

7、象 JSP的预定义变量:request 在Servlet中doGet或doPost方法的参数 示例 ScopeServlet.java scope.jsp,WEB资源共享数据请求对象,在HttpServletRequest对象中共享数据 HttpServletRequest对象的相关方法,WEB资源共享数据会话对象,会话对象(session) HttpSession session指的是在一段时间内,单个客户端与WEB服务器的一连串相关的交互过程。 会话对象的作用 保持同一个客户多次请求之间的联系 一个HttpSession对象唯一地属于一个用户 同一客户的多次连接共享同一个会话对象,WEB资

8、源共享数据会话对象,会话的保持,WEB资源共享数据会话对象,会话的保持 保持会话的方法 每个会话保持一个会话ID 使用Cookie URL重写:在URL中保存会话ID,WEB资源共享数据会话对象,会话的保持 URL重写(URL-rewriting) URL 重写是截取传入 Web 请求并自动将请求重定向到其他 URL 的过程。 URL重写的功能 提高搜索引擎阅读和索引你的网站的能力 实现会话管理,WEB资源共享数据会话对象,会话的保持 示例 sucess.jsp ScopeServlet.java URL重写管理会话 在参与同一个session操作的每个HTML页面和表单的URL中都保存会话I

9、D信息 通过调用HttpServletResponse的encodeRedirectURL(String)方法对URL追加jsessionid信息。 URL重写示例,http:/host/path/file;jsessionid=123,WEB资源共享数据会话对象,在HttpSession对象中共享数据 示例 sucess.jsp ScopeServlet.java 会话对象(HttpSession)的创建、获得 JSP的预定义变量:session 调用HttpServletRequest的方法:,HttpSession getSession(),HttpSession getSession(

10、boolean create),WEB资源共享数据会话对象,在HttpSession对象中共享数据 会话对象(HttpSession)的使用 HttpSession的相关方法:,WEB资源共享数据会话对象,在HttpSession对象中共享数据 会话对象(HttpSession)的销毁 调用HttpSession的方法:,void invalidate( ),void setMaxInactiveInterval(intseconds),WEB资源共享数据应用对象,应用对象(application) ServletContext 在WEB应用启动后创建ServletContext请求对象,在应

11、用关闭后销毁。 在ServletContext对象中共享数据 获得ServletContext对象 JSP的预定义变量:application 在Servlet中,调用该Servlet对象的getServletContext()方法 示例 ScopeServlet.java scope.jsp,WEB资源共享数据应用对象,在ServletContext对象中共享数据 ServletContext对象的相关方法,WEB资源共享数据,JSP中的内置对象,数据共享方式的比较,数据共享方式的比较 生存期 页面请求会话应用 线程安全性 页面(PageContext)范围:线程安全 请求(HttpServ

12、letRequest)范围:线程安全 会话(HttpSession)范围:多线程共享 应用范围(ServletContext) :多线程共享,Contents,传递数据,1,WEB层中的数据共享,3,作用域的事件监听,4,HttpSessionListener与HttpSessionAttributeListener,HttpSessionListener接口是一个可监听java Web项目中Session的创建和消毁状态 Public void sessionCreated(HttpSessionEvent se) 创建Session的时候激发该方法 Public void sessionD

13、estroyed(HttpSessionEvent se) 销毁Session的时候激发该方法,HttpSessionAttributeListener接口是一个可监听java Web项目中Session属性的增加、删除、重置等 HttpSessionAttributeListener监听HttpSession中的属性的操作。 当在Session增加一个属性时,激发 attributeAdded(HttpSessionBindingEvent se) 方法; 当在Session删除一个属性时,激发attributeRemoved(HttpSessionBindingEvent se)方法; 当在Session属性被重新设置时,激发attributeReplaced(HttpSessionBindingEvent se) 方法。,HttpSessionListener与

温馨提示

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

评论

0/150

提交评论