j基于Servlet的会话跟踪练习.ppt

上传人:max****ui 文档编号:6369018 上传时间:2020-02-24 格式:PPT 页数:27 大小:10.10MB
返回 下载 相关 举报
j基于Servlet的会话跟踪练习.ppt_第1页
第1页 / 共27页
j基于Servlet的会话跟踪练习.ppt_第2页
第2页 / 共27页
j基于Servlet的会话跟踪练习.ppt_第3页
第3页 / 共27页
点击查看更多>>
资源描述
第6讲 基于Servlet的会话跟踪1练习 回顾 request response对象有哪些常用方法 web xml文件的作用 如何理解Servlet的生命周期 实现页面跳转有几种方式 它们之间有哪些区别 如何理解HTTP协议 request常用方法 getParameter getParameterValues getRequestDispatcher setCharacterEncoding setAttribute getAttribute response常用的方法sendRedirect url setContentType text html charset gbk 本讲问题 如何理解会话 session 使用什么方法来获得HttpSession对象 本讲任务 升级E Book电子书店系统实现显示书籍列表点击书籍后显示书籍详细信息 理解会话跟踪原理会获取session对象会使用session对象进行数据存取 本讲目标 HTTP协议 1 HTTP协议有什么特点 无状态 访问 访问 我刚刚被访问了两次 但是我不知道 是一个人访问了两次 还是两个人各访问一次 HTTP协议不记录用户的信息 2 什么是无状态 HTTP是无状态协议 3 1 3 如何显示张三和李四分别访问某一网页多少次 请求 请求 响应 响应 张三 李四 为了区分用户 需要为不同用户作登记 HTTP是无状态协议 3 2 购买2个商品 张三 李四 4 在线购物系统中如何对用户进行区分 购买3个商品 一共购买了5个商品 钱应该从谁的帐户上扣呢 HTTP是无状态协议 3 3 Web程序能不能像银行卡号那样 根据卡号锁定一个用户呢 请求 响应 响应的时候 由服务器给我分配一个唯一ID号 这样就能区别不同的用户了 再次请求的时候 我带着ID号 告诉服务器 我是谁 如何标识用户 会话跟踪 2 1 HttpSession对象服务器为每个会话创建一个HttpSession对象每个会话对象都有一个唯一的ID把用户的数据保存在相应的HttpSession对象内 第一次请求 响应 服务器创建一个HttpSession对象并把该对象的ID返回给用户 同时 服务器在内存中开辟一空间 用来保存该对象数据 把ID发送给客户端 第二次请求把ID一起发送给服务器 根据ID号服务器寻找内存中相应的数据 会话跟踪 2 2 请求1 请求2 请求n 什么是会话当前浏览器与服务器间多次的请求 响应关系 被称作一个会话 使用会话的事例 publicvoiddoGet HttpServletRequestrequest HttpServletResponseresponse throwsServletException IOException HttpSessionsession request getSession true Objectcount session getAttribute COUNTER intcounter 0 if count null counter 1 将第一次计数存入sessionsession setAttribute COUNTER newInteger 1 else counter Integer count intValue counter 计数加一 将计数存入sessionsession setAttribute COUNTER newInteger counter 取出session对象内存储的值 把数据存储在session对象内 记录不同用户的访问次数 演示示例1 网页计算Counter java 获得session对象 会话的创建和使用 publicHttpSessiongetSession publicHttpSessiongetSession booleanvalue 会话的创建使用HttpServletRequest的getSession 方法创建会话 语法如下 会话的使用使用HttpSession接口的方法 进行保存数据 取出数据 publicvoidsetAttribute Stringparam Objectvalue publicObjectgetAttribute Stringparam 获取session对象的方法 getSession getSession booleanbool getSession true true false 返回与当前关联的会话 如果没有就创建后将其返回 返回与当前关联的会话 如果没有返回null 使用时 将其转换成原来数据类型 session对象的存在周期 session对象的存在周期session的创建浏览器访问服务器时 服务器为每个浏览器创建不同的session对象session的关闭调用session invalidate 方法 使session对象失效访问时间间隔大于非活动时间间隔 session对象失效关闭浏览器时 session对象失效 请求 在内存开辟空间保存数据信息 清空内存内当前浏览器相关数据信息 现场编程 在登录页面用户已录入用户名 现在编写一个Servlet接收该数据 并把用户名值保存在HttpSession对象内 publicvoiddoGet HttpServletRequestrequest HttpServletResponseresponse throwsServletException IOException StringuserName request getParameter userName HttpSessionsession request getSession if userName null 实现电子书店的购物车 需求描述 查看所有商品 选择商品放入购物车 继续购物 结账 满载而归 电子书店演示 显示所有书籍的列表点击某本书 显示书籍的详细信息添加当前书籍到购物车 电子书店的数据库设计 数据库设计数据库名 books数据库表 titles 电子书店的实体对象设计 对象的设计 书属性方法 getter setter方法 为了得到和设置属性值 实体类 书籍类 BookBean java importjava io Serializable publicclassBookBeanimplementsSerializable privateStringISBN ISBN编号privateStringtitle 书名privateStringcopyright 版权privateStringimageFile 封面图像privateinteditionNumber 版本privateintpublisherID 出版商IDprivatedoubleprice 价格publicvoidsetISBN Stringisbn 设定ISBN编号ISBN isbn publicStringgetISBN 返回ISBN编号returnISBN 使用get方法 获得属性值 BookBean类的私有属性 标识该类可序列化 使用set方法 设置属性值 电子书店的购物车设计 购物车的设计 书籍清单书籍名称购买数量书籍价格小计总计 数据库连接类 数据库连接类 ConnectionManager java publicclassConnectionManager 打开数据库连接publicstaticConnectiongetConnction ConnectiondbConnection null try Class forName driver dbConnection DriverManager getConnection url user pass catch Exceptione e printStackTrace returndbConnection 关闭数据库连接 打开数据库连接 与JSP相同 演示示例2 数据库连接类ConnectionManager java 数据库访问类 TitlesBean java publicListgetTitles ListtitlesList newArrayList try connection ConnectionManager getConnction titlesQuery connection prepareStatement select formtitles ResultSetresults titlesQuery executeQuery while results next BookBeanbook newBookBean book setISBN results getString isbn 设置其他的属性值titlesList add book catch Exceptionexception exception printStackTrace returntitlesList 返回数据列表 演示示例3 数据库访问类TitlesBean java 读取行数据 并存入List中 显示所有书籍信息的页面 显示所有商品列表 books jsp 调用方法 得到数据列表 把数据列表存入到session中 演示示例4 显示书籍列表books jsp 显示书籍详细信息 显示书籍详细信息 displayBook jsp 从session中得到数据列表 从请求URL中得到请求数据 通过isbn在列表中查找bool对象 从book中取得相关数据 演示示例5 书籍详细信息displayBook jsp 总结 在Web项目中为什么需要使用会话 会话是如何创建的 如何结束一个会话 如何在会话中保存和取得数据
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!