




已阅读5页,还剩16页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
会话跟踪简介 回顾 Servlet使用户可以在服务器上运行Java代码和生成动态内容HTTPServlet发送HTTP请求和接受HTTP响应Servlet生命周期由三种方法组成 即init service 和destroy ServletAPI包含于两个包中 分别为javax servlet和javax servlet httpServlet继承GenericServlet类或HttpServlet类 利用JBuilder2005开发Servlet 目标 定义会话跟踪创建会话标识会话跟踪技术讲解Servlet通信方法描述Servlet上下文状态创建程序以访问上下文状态开发程序以修改上下文状态 会话跟踪 请求1 请求2 请求n 服务器将唯一的会话ID分配给客户端以跟踪用户 会话跟踪 HttpServletRequest的getSession 方法用于创建会话 其语法如下 publicHttpSessiongetSession publicHttpSessiongetSession booleanvalue 如果没有与当前请求关联的会话 则getSession 方法用于创建会话 如果布尔值为true且当前没有与请求关联的会话 则使用getSession booleanvalue 创建会话 如果布尔值为false 如果没有与当前请求关联的会话 返回null 会话跟踪技术 会话跟踪技术 用户授权 隐藏表单域 URL重写 Cookie 以下是各种会话跟踪技术 用户授权 会话跟踪的用户授权方法在用户登录之后跟踪用户 用户授权技术不允许未经授权的用户访问网站上的某些资源 已授权用户 未授权用户 请求 请求 隐藏表单域 将会话跟踪字段的隐藏表单域添加到HTML页面 但是不会显示在客户端浏览器中 在GET和POST方法中指定用于存储有关会话消息的名称和值 URL重写 URL 统一资源定位 重写技术将一个唯一的会话ID添加到URL结尾 以标识该会话 例如 重写以下URL传递会话ID10 原始URL http server post servlet Rewritten用附加信息重写的URL 用添加的参数重写的URL http server post servlet Rewritten sessionid 10用自定义修改重写的URL sessionid 10 Cookie2 1 Cookie用于存储Web服务器发送给客户端的信息 服务器通过设置响应标题中的Set Cookie方法来发送cookie 其语法如下 Set Cookie Name VALUE Comment COMMENT Domain DOMAINNAME Max age SECONDS Path PATH secure Name 指定Cookie的名称 VALUE 指定Cookie名称的值 Max age 指定Cookie的生命周期 以秒表示 Domain 指定Cookie有效的URL secure HTTP指定Cookie是否可以在HTTP上交换 Cookie2 2 javax servlet http cookies包提供由Cookie类实现的多种方法 publicintgetMaxAge 返回Cookie的最大保存时间 publicvoidsetMaxAge intage 设置cookie的最大生命周期 以秒表示 演示URL和Cookie的示例2 1 演示 示例5 以下示例讲解URL重写和Cookie的概念 response setContentType CONTENT TYPE PrintWriterout response getWriter out println out println UrlRedirectServlet out println StringcontextPath request getContextPath StringencodedUrl response encodeURL contextPath cookiereader out println 此页面将使用URL重写 如有必要 out println 转至default jsp页面单击此处 getContextPath 返回上下文路径 encodeURL 将字符串转换为URL路径 演示URL和Cookie的示例2 2 Cookiecookie null Cookie cookies request getCookies booleanhasCookies false if cookies null hasCookies true if hasCookies out println 找到的每个cookie的名称和值 for inti 0 i cookies length i cookie cookies i cookie getName cookie getValue 如果请求的URL包含Cookie 则显示名称和值 演示 示例6 会话跟踪示例 此示例演示会话跟踪的概念 演示 示例7 PrintWriterout response getWriter HttpSessionsession request getSession response setContentType CONTENT TYPE if session isNew out println 新建的会话 else out println 已有会话 out println 会话ID session getId out println 创建时间 out println newDate session getCreationTime out println 最后访问日期 out println newDate session getLastAccessedTime 此示例将各种会话属性作为输出结果显示出来 Servlet通信方法 publicvoidinclude ServletRequestreq ServletResponseres Servlet访问网络资源以满足客户端请求Servlet使用RequestDispatcher接口的forward 和include 方法访问网络资源 将请求从一个Servlet转送到同一个服务器上的另一个Servlet publicvoidforward ServletRequestreq ServletResponseres 在一个Servlet中包含另一个Servlet的内容 Servlet间通信2 1 以下示例演示Servlet间通信 Stringuid request getParameter txtuserid response setContentType CONTENT TYPE PrintWriterout response getWriter ServletContextcontext getServletContext context setAttribute userid uid RequestDispatcherdispatcher getServletContext getRequestDispatcher usersServlet2 if dispatcher null response sendError response SC NO CONTENT dispatcher forward request response out close 演示 示例9 使用getServletContext 方法创建RequestDispatcher对象 用于访问另一个Servlet的内容 Servlet间通信2 2 Class forName sun jdbc odbc JdbcOdbcDriver Connectioncon DriverManager getConnection jdbc odbc petclinicapps sa sa Statements con createStatement ResultSetrs s executeQuery Select fromCustomerRegistrationwhereUserId obj toString booleanflag rs next if flag true password rs getString 2 confirm rs getString 3 firstname rs getString 4 lastname rs getString 5 gender rs getString 6 age rs getString 7 调用第一个Servlet时 此Servlet创建与jdbc odbc驱动程序的连接 并获取用户的详细信息 Servlet上下文 将所有Servlet所共有的属性和资源存储于ServletContext接口对象 处理上下文属性的方法为 publicObjectgetAttribute Stringname 返回Servlet容器属性名称 如果该名称没有属性则返回null publicvoidsetAttribute Stringname Objectobject 将对象绑定到Servlet上下文中给定的属性名称 publicvoidremoveAttribute Stringname 删除给定名称的属性 聊天程序的业务 要求使用Servlet编写聊天程序完成如下功能 用户输入一个昵称后 可以参加聊天 该昵称用于聊天应用程序的用户名用户通过在一个文本框中输入发送的消息后点击命令按钮参与聊天用户应看见所有参与聊天的人和他们的全部聊天记录 没有其他的权限控制用户应能够使用中文聊天 总结 可以使用会话跟踪
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025安徽淮南高新区部分学校引进紧缺专业人才招聘39人模拟试卷及答案详解(考点梳理)
- 2025北京海淀第十九中学教师招聘模拟试卷及答案详解(必刷)
- 2025湖南湘潭市韶山思政教育实践中心公开招聘教师2人模拟试卷及一套答案详解
- 2025年铜川市为县以下医疗卫生机构定向招聘笔试模拟试卷及答案详解(网校专用)
- 2025届中国兵器装备春季校园招聘模拟试卷及答案详解(典优)
- 2025湖南开放大学高层次人才公开招聘25人模拟试卷及完整答案详解1套
- 2025贵州遵义医科大学第二附属医院第十三届贵州人才博览会引才17人考前自测高频考点模拟试题(含答案详解)
- Ifoxetine-CGP-15210G-生命科学试剂-MCE
- Human-YAP1-mRNA-生命科学试剂-MCE
- 2025年旅游景区开发运营项目合作计划书
- 给排水管类取样送检指南
- 真空包装机作业指导书
- 质子泵抑制剂临床使用管理办法
- 2023年上海16区高考一模英语听力合集附音频含答案含原文
- 中医医院处方笺模板
- GB/T 4170-2006塑料注射模零件技术条件
- GB/T 12363-2021锻件功能分类
- 水调歌头-公开课教学设计 省赛一等奖
- 《番茄工作法图解》课件
- 报价单模板及范文(通用十二篇)
- 蒂森克虏伯电梯MC2-C调试介绍
评论
0/150
提交评论