




已阅读5页,还剩22页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第3章JSP内置对象详解 JSP基于Java语言 面向对象也是它的一大特色 JSP中包含大量的内置对象和可扩展的组件对象 可以说 对象是JSP编程技术的精髓 在这一章中 我们将介绍JSP中的对象 重点讲述JSP的内置对象 说明它们的功能 并通过示例来介绍它们的使用方法 3 1对象与内置对象 对象是典型的具有方法 属性和集合的事物对象的属性反映了对象的状态 可以读取或设置 对象的集合是由很多不同的与对象有关系的属性和值的配对组成的 对于一般的对象 要想使用它 必须先声明一个类 再将它实例化 就会得到一个可以使用的对象 下面我们通过一个例子来讲解一般对象的使用方法 文件useobject jspJSP程序中8个默认的内置对象对于它们而言 不用声明就可以直接使用 这8个对象分别是request response pageContext session application out config和page 3 2request对象 request对象是ServletRequest的一个实例 当客户端请求一个JSP网页时 JSP引擎会将客户端的请求信息包装在这个request对象中 请求信息的内容包括请求的标题头 Header 信息 如浏览器的版本信息 语言和编码方式等 请求的方式 如HTTP方法 GET POST PUT等 请求的参数名称 参数值和客户端的主机名称等 然后将request对象当作jspService方法的HttpServletRequest参数值 所以我们可以通过这个对象来取得有关客户端的请求信息 3 2 1request对象的方法 方法 request对象使用示例1 request对象获取服务器及客户端的信息文件request1 jsp2 用request对象来获取和处理表单传过来的参数值 1 建立HTML表单 2 使用GET和POST方法 3 用request对象处理用户输入的数据用来存放在request对象里 用javax servlet HttpServletRequest来执行 你可以在JSP代码中直接访问request对象 并且处理表单传送过来的数据 文件request3 htmrequest3 jsp3 用request对象来获取和处理表单传过来的中文参数值的处理文件request2 htmrequest2 jsp 3 3response对象 response对象的类型是javax servlet ServletResponse类的实例 JSP引擎会根据客户端的请求信息建立一个默认的response对象 它用于将浏览器参考信息 如回应的Header 回应本体 HTML的内容 以及服务器端的状态码等信息提供给客户端 3 3 1response对象的方法 3 3 2response对象使用示例 下面的示例程序实现了定时刷新页面的功能文件refresh jsp这个程序指定页面每隔5秒钟自动刷新一遍 服务器重新执行这个程序 产生新的当前时间 然后输出到客户端 所以 页面上显示的时间每隔5秒钟就增加5秒钟 实现了类似时钟的功能 下面的示例程序实现了页面重定向功能文件request2 htm输入用户名为admin 进入管理界面 否则 则进入普通用户界面 3 4session对象 session对象是JSP中一个很重要的内部对象 我们使用它来保存某个特定客户端 访问者 一次访问的一些特定信息 在JSP网络编程中 有多种方法可以保存客户信息 但是最常用 最实用的还是session对象 3 4 1session对象介绍 session对象 实际上就是服务器与客户端之间的 会话 1 session可以用来储存访问者的一些特定信息 主机服务器就是根据session来跟踪这些信息的 2 session可以创建访问者信息容器 3 session可以用来跟踪访问者的访问路径 从中挖掘有用的信息 如访问者的兴趣爱好 访问目的 用户在Web应用程序中访问同一页面时 session变量始终存在 当用户在应用程序的页之间跳转时 存储在session对象中的变量也不会清除 当然也可以使用session方法显式地结束一个会话和设置空闲会话的超时期限 session在JSP程序中是一个内置的对象每一个客户端都有一个session对象用来存放于这个客户端相关的数据 在JSP的程序中 通常不用任何代码 就可以直接使用session对象 不过为了确认 可以加入以下代码 以表示需要启动session功能 如果设置上述的session值为false 则说明禁用session功能 session对象的类为HttpSession 它提供了很多使用的方法 3 4 2session对象的方法 session对象的类是HttpSession HttpSession由服务器的程序实现 提供HTTP服务器和HTTP客户端之间的会话 会话 就是在给定时间段内持续进行多路连接和请求 会话被用来在多页面请求中保持状态和用户认证 session对象的常用方法 3 4 3session对象使用示例 为说明session对象的具体应用 以用三个页面模拟一个多页面的Web应用为例 1 第一个页面 q1 html 仅包含一个要求输入用户名字的HTML表单 文件q1 htm 2 第二个页面是一个JSP页面 q2 jsp 它通过request对象提取q1 html表单中的thename值 将它存储为name变量 然后将这个name值保存到session对象中 q2 jsp的另外一个任务是询问第二个问题 3 第三个页面也是一个JSP页面 q3 jsp 主要任务是显示问答结果 另外一个任务是提取在第二个页面中的用户输入并显示它 通常会话管理是通过服务器将SessionID作为一个cookie存储在用户的Web浏览器中来唯一标识每个用户会话如果浏览器不支持cookie 或者将浏览器设置为不接受cookie 我们可通过URL重写来实现会话管理 文件hello1 jsp使用session对象在3个不同的JSP文件中保存信息文件example0 htm 在accountBalance中必须输入数字 3 5application对象 application对象保存了一个应用系统中一些公用的数据 与session对象相比 application对象是所有客户共享的 而session对象则是每个客户专用的 application对象可以是javax servlet ServletContext类型的 ServletContext接口让servlet访问关于其环境的信息 application对象的范围是application 3 5 1application对象的方法 方法 3 5 2application对象的使用示例 一个使用了application对象的计数器文件appcount jsp应用application内建对象 将上面的session例子改为application的例子 文件application1 htm 3 6out对象 out对象用于输出数据 它可以是javax servlet jsp JspWriter的一个实例 out对象的范围是page 从java io Writer拓展而来的公共抽象类JspWriter效仿了java io BufferedWriter和java Io PrintWriter中的某些功能 但是 不同之处在于它会在打印方法中抛出 throw java Io IOException异常 而PrintWriter不这样做 JSP中的out对象就是这种类型的 如果page指令选择了autoflush true 那么当出现由于当前的操作不清空缓存而造成缓冲区溢出的情况时 这个类的所有I O操作会自动清空缓冲区的内容 如果autoflush false 那么当操作造成了缓冲区溢出时 这个类的所有的I O操作将抛出一个IOException 3 6 1out对象的变量 autoFlush类型为protectedbooleanautoflush如果变量值为真 则当当前的操作造成缓冲区溢出时 缓冲区会被清空 如果变量值为假 则如果当前操作造成缓冲区溢出就会抛出一个IOException bufferSize类型为protectedintbufferSize表示缓冲区目前的大小 初始值根据不同的设备而不同 但是不少于8KB DEFAULT BUFFER类型为publicstaticfinalintDEFAULT BUFFER表示Writer正使用的缺省的缓冲区大小设置 No BUFFER类型为PublicstaticfinalintNO BUFFER表示Writer是否处于缓存输出状态 3 6 2Out对象的方法 方法 3 6 3Out对象的使用示例 用out对象输出多种不同类型的数据 包括输出中文文件out jsp 3 7其他对象 pageContext对象pageContext对象是javax servlet jsp PageContext类的一个实例 pageContext对象提供了存取所有关于JSP程序执行时所需要用到的属性和方法 如session application config out等对象属性 对于pageContext对象 它的范围是page page对象page对象是java lang Object类型的 它是处理当前请求的JSP页的实现类的实例 page对象在页的正文中可以被看作 this 的同义词 page对象的范围是page config对象config对象是javax servlet ServletConfig类型的 它提供存取servletclass初始参数及有关Server环境信息的ServletContext对象 config对象的范围是page 3 8 1编写易货网站中计数器 文本计数器文件mycounter jsp以前我们编写的计数器每刷新一次就计数1次 这和计数器的原则不符 因为不断的刷新页面并不表示客户多次访问了该页 这里我们利用Cookie对前面的计数器进行改进 使得可以防止刷新 关掉浏览器 重新打开一遍 再执行该文件 则发现计数器的值也改变了 count txt的值也相应改变了 注 在
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 加快培育新质生产力的核心
- 民族特色扎染课件
- 2025年眼科常见眼病诊断治疗模拟考试卷答案及解析
- 2025年心理咨询与治疗技巧竞赛试卷答案及解析
- 2025年老年心血管疾病的综合干预模拟考试答案及解析
- 2025年过敏反应护理处理规范性操作考核卷答案及解析
- 2025年运动医学科运动损伤防护技术模拟试卷答案及解析
- 2025年心血管内科心电图诊断技能考核试卷答案及解析
- 2025年精神科抑郁症评估量表应用测验答案及解析
- 新质生产力:科技是第一动力
- 高中物理进阶学习资料-第3章 刚体力学基础(大学物理版)
- 冠脉微循环障碍课件
- 校园管制刀具排查记录表
- 折弯机保养记录表
- 财务管理学及财务知识分析笔记串讲
- 07FK02防空地下室通风设备安装PDF高清图集
- 项目费用申请表
- 价值观大拍卖-优质课件PPT
- 新《长庆油田石油与天然气钻井井控实施细则》
- 平行平板产生的干涉
- 普通高中国家助学金申请表模板
评论
0/150
提交评论