




已阅读5页,还剩30页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第3章常用内置对象在项目中的应用 中国人民大学出版社 技能目标能使用Dreamweaver设计网页 能实现页面的跳转 能实现信息在网页间的共享 知识目标掌握常用的HTML标记 掌握JSP include指令的用法 掌握response session cookie application等内置对象的用法 依托任务在网上购物网站中 有很多的商品陈列于一个网页中 而众多的商品又要由若干网页去展示 用户购物时常需从分布在不同网页中的众多商品中挑选出自己喜爱的商品 这就需要我们设计的网站具备记忆用户在不同网页选购了哪些商品的能力 我们把购物网站的记忆功能当作一个任务 任务一制作商品展示网页 设计一个商品展示网页 网页的内容通常包含商品的图片 名称 单价等 如图 购物网页的设计实现在Dreamweaver中可按如下步骤实现 启动Dreamweaver并新建一个JSP文件 切换到设计视图模式 选择 插入 菜单下的 表格 命令 在弹出的对话框中设置欲插入的表格的行与列数均设置为3 向第一行单元格中分别插入商品图片 向第二行单元格中分别输入商品名称并在属性面板中设置文字的字体 字号及颜色 再设置单元格居中显示 向第三行单元格中分别输入价格信息并在属性面板中设置文字的字体 字号与颜色 并设置单元格居中显示 则商品表网页已经建好 这比用HTML标记定义要快得多 相关知识 1 DreamWeaverCS3的安装DreamWeaverCS3简体中文版可在国内的或官方的 2 在DreamWeaverCS3下配置JSP站点的方法进入在DreamWeaverCS3后 按以下步骤配置JSP站点 选择 站点 菜单下的 新建站点 命令 出现图3 3所示的对话框 在该对话框中输入站点的名称 在你的站点的HTTP是什么 中输入 http localhost 8080 并按 下一步 按钮 出现对话框后 在该对话框中选中 我想他用服务器技术 并从服务器技术列表中选择 JSP 再按 下一步 按钮 出现对话框后 在该对话框中单击文件存储位置后的图标按钮 出现对话框后 在该对话框中选中文件存储位置 该位置一般为tomcat安装路径下的ROOT文件夹 按 选择 按钮并按 下一步 按钮 出现对话框后 在该对话框中输入访问网站网页的方式 该URL的一般形式为 http localhost 8080 单击 测试URL 出现 URL前缀测试已成功 对话框 则表明前面的配置都正确 继续单击 下一步 按钮 直至完成 任务二记录选购商品信息 我们要把选中的商品信息临时记录下来 并送到另外的网页中进行处理 可以借助request session cookie application对象对信息进行存放 也就是说商品信息记录的载体是不同种类的对象 问题实现 为使问题简化 我们可假定在bag jsp中记录下了商品的名称与单价 而在total jsp中显示用户已购商品信息并计算出总价格 bag jsp中的代码如下 已购买的商品如下 电视机2500洗衣机2800电动车1600我要结算 total jsp文件中的代码如下 Strings String session getAttribute thing floattotal 0 StringTokenizerfenxi newStringTokenizer s 用字符串分析器分解出子字符串while fenxi hasMoreTokens Stringstr1 fenxi nextToken out print str1 Stringstr2 fenxi nextToken out print str2 total total Float parseFloat str2 out print 商品的总价格是 total 相关知识 1 session对象session是一种服务器个别处理与记录用户端上网使用者信息的技术 当上网者与服务器联机时 服务器可以给每一个上网的使用者一个session并设定其中的内容 这些session都是个别独立的 服务器端可以借此来辨别使用者信息进而提供个别的服务 session对象从使用者进入系统后由系统自动创建 当注销退出系统时session对象自动销毁 我们把session对象从创建到销毁所经历的时间 称为一个session通信周期 session对象的常用方法为 getAttribute Stringname 获得指定名字的属性 如果该属性不存在 将会返回null getAttributeNames 返回session对象中存储的每个属性对象 结果集是一个Enumeration类的实例 setAttribute Stringname java lang Objectvalue 设定指定名字的属性值 并且把它存储在session对象中 isNew 判断目前session是否为新的session 若是则返回true 否则返回false getId 返回session对象在服务器端的编号 每生成一个session对象 服务器都会给它一个编号 并且该编号不会重复 这样服务器才能根据编号来识别session 并且正确的处理某一特定的session及其提供的服务 getCreationTime 返回session对象被创建的时间 单位为毫秒 getLastAccessedTime 返回当前session对象最后一次被操作的时间 时间的单位为毫秒 getMaxInactiveInterval 获取session对象的生存时间 时间的单位为秒 setMaxInactiveInterval intinterval 设置session的有效时间 也叫超时时间 时间的单位为秒 removeAttribute Stringname 删除指定的属性 包含属性名 属性值 如果在有效时间内 用户做出了新的请求 那么服务器就会将其看作一个新的用户 此时 服务器将创建一个新的session 旧的session信息将会丢失 2 cookie对象Cookie 或称Cookies 在Web技术中指Web服务器暂存在客户端浏览器内存或硬盘文件中的少量数据 Web服务器通过HTTP报头来获得客户端中的cookie信息 在JSP中使用cookie的基本过程为 在服务器端生成cookie对象 把待保存信息写入cookie对象中 必要时设置cookie对象的生命期 把cookie对象传给客户端浏览器保存 服务器端程序需要cookie信息时 用代码读取cookie信息 javax servlet http Cookie类用来生成一个cookie对象 这个类中常用的方法有 构造方法 Cookie Stringname Stringvalue 第一个形参是cookie数据的变量名 第二个形参是待保存的数据 字符串类型 setMaxAge intexpiry 这个方法定义cookie对象的生命期 形参是生命时间数 单位秒 如果生命周期为负整数 表示这个cookie对象是临时的 不要保存在硬盘文件中 关闭IE浏览器后cookie数据自动丢失 如果生命期为零 表示删除这个cookie 默认值为 1 Cookie的生命期定义要在cookie对象传回客户端前进行 用publicintgetMaxAge 方法可读取cookie对象的生命时间 getName 返回当前cookie对象的变量名 getValue 返回当前cookie对象的值 3 application对象applicaton负责提供应用程序在服务器中运行的全局信息 当应用程序在服务器中启动时该对象就一直存在 直到服务器关闭为止 所有客户共享这个内置的application对象 applicaton可用来在所有用户间共享信息 并可以在Web应用程序运行期间持久地保持数据 application对象常用的方法 getAttributeNames 返回当前上下文中所有可用的appliaction作用范围变量名 并存储在枚举型对象中 getAttribute java lang Stringname 从application作用范围中读取指定名字的属性值 返回的属性值是Object类型 一般要进行强制类型转换 还原其原本数据类型 如果指定的属性值对象不存在 则返回null getInitParameterNames 返回初始化参数的变量名 并存储在枚举型对象中 如果没有初始化参数 则返回null getInitParameter java lang Stringname 方法的形参是初始化参数的变量名 方法返回指定变量名的初始化参数值 setAttribute java lang Stringname java lang Objectobject 把一个属性写入application作用范围 第一个形参name是属性名 第二个形参object是属性值 它是一个Java对象 如果属性值object为null 则相当于删除一个属性名为name的属性 如果容器中已经存在指定名字的属性 写入操作会用当前的属性值替换原有的属性值 removeAttribute java lang Stringname 从Servlet容器中删除指定名字的属性 形参是属性名 字符串形式 任务三页面间的跳转实现 用户在购物时在一个网页中选中自己的商品后可能还要到其他网页继续选购商品 这就涉及网页间跳转的问题 相关知识 1 通过response对象实现网页跳转客户访问服务器使用的是HTTP请求包 系统将HTTP请求包封装为request对象 服务器响应客户时 即向客户发送信息时 使用的是HTTP响应包 系统将HTTP响应包封装为response对象 在JSP页面中 可以使用response对象的方法动态控制响应方式 向客户端发送数据 HTTP响应包与HTTP请求包结构类似 一般说来 一个HTTP响应包由三个部分组成 一个状态行 多个响应头 信息体 response对象的用法如下 setCharacterEncoding Stringcharset 定义返回客户端信息的编码标准 如果已经用response setContentType 定义了字符集 则调用此方法将重新设置字符集 setContentType Stringtype 用来设定网页的文件格式与编码方式 与page指令的contentType属性功能相同 格式为 response setContentType text html charset GB2312 setHeader Stringname Stringvalue 第一个形参为报头名 第二个形参是报头值 HTTP报头中有一个名为 Refresh 的响应报头 它的作用是使IE浏览器在若干秒后自动刷新当前网页或跳转至指定的URL资源 这个报头的语法为 response setHeader Refresh 秒数 url 目标地址 sendRedirect Stringurl 方法用来重新定向新网页 addCookie Cookiecookie 把cookie传送到客户端 2 通过request对象实现网页间跳转两个Servlet程序间要利用request作用范围变量来传递数据时 要用转发跳转操作实现从第一个Servlet程序A跳转到第二个Servlet程序B 跳转时 程序A中的request和response隐含对象会被自动转发给程序B request转发器 RequestDispatcher 的作用是获得目标网页的转发器 通过转发器将当前Servlet程序的request和response对象转发给目标网页 并跳转至目标网页上运行程序 这样 目标网页就可通过request对象读取上一网页传递给它的request属性 获得目标网页的用法为 RequestDispatchertarget request getRequestDispatcher Stringpath 形参是当前Web应用目标网页的URI 可以使用相对路径或绝对路径 可以通过RequestDispatcher对象调用forward 方法实现网页的跳转 用法为 target forward request response 该用法能够把当前Servlet程序的request和response隐含对象转发给目标网页 并跳转至目标网页运行代码 形参是当前Servlet程序的request和response隐含对象 3 通过超级链接实现网页的跳转在网页中通过超级链接进行网页的跳转我们都不默生 但在做静态网站时超级链接都是不带参数的 但在JSP中可以通过超级链接借助参数把一些数据从一个网页传递到另一个网页 通过超级链接传递参数的格式为 链接文本当需要通过超级链接传递多个参数时参数之间用 连接 格式为 链接文本 知识拓展 在前面的若干程序中我们都使用到了一种指令 page指令 实际上在JSP中的指令有page include和taglib 其中page指令描述与页面相关的指示信息 include指令用于包含文件 taglib指令用于指示JSP页面所使用的标记库 1 page指令page指令定义JSP文件中的全局属性 描述与页面相关的指示信息 例如 page指令也可以在出现Java运行错误时 指示将用户导向何处 例如 page指令的一般语法格式如下 language language属性告诉服务器在文件中将采用哪种语言作为脚本语言 默认为Java import import属性的值是一系列用逗号分开的列表 指明想要引入的包和类 例如 可以在程序中引入多个需要的包和类 包和类之间用逗号分隔 例如 也可以将需要引入的多个包和类写在多个page指令中 例如 当使用import引入了包和类后 就可以使用与这些包和类相关的方法和对象了 session session属性表示当前页面是否加入会话期间的管理 其缺省值为true 表明内建对象session存在 如果没有session对象 则会新建一个 由session来管理会话 如果设session属性值为false 则内建对象session不存在 这样页面中任何使用到session的语句都会产生编译错误 buffer buffer决定输出流 out对象 是否需要缓冲区 缺省值是8KB 也可以设置为none 没有缓冲区 或所指定大小的缓冲区 例如 该语句指定输出流缓冲区为12KB buffer属性通常与autoFlush属性一起使用 autoFlush autoFlash属性用于指定是否自动刷新输出缓冲 如果设成true 则当输出缓冲区满的时候 自动刷新缓冲区而不是抛出一个异常 缺省值为true errorPage errorPage属性用于指示一个JSP文件的相对路径 以便在页面出错时 转到这个JSP文件来进行处理 与此相对应 需要将这个JSP文件的isErrorPage属性设为true isErrorPage isErrorPage属性指示一个页面是否为错误处理页面 设置为true时 在这个JSP页面中的内建对象exception将被定义 其值将被设定为呼叫此页面的JSP页面的错误对象 以处理该页面所产生的错误 isErrorPage属性缺省值为false 此时将不能使用内建对象exception来处理异常 否则将产生编译错误 ContentType ContentType属性用于设置JSP文件和最终文件的MIME类型和字符集的类型 这一项必须在文件的顶部 任何一个其他字符在文件中出现之前 可用的MIME类型有text plain text html text html和image gif image jpeg等 ContentType属性缺省值为 text html charset ISO8859
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 教师招聘之《小学教师招聘》模拟题库及答案详解【名校卷】
- 2025年教师招聘之《幼儿教师招聘》考前冲刺模拟题库含答案详解【综合卷】
- 教师招聘之《小学教师招聘》综合提升练习试题及答案详解(必刷)
- 2025年九江市八里湖新区各中小学(幼儿园)面向全市公开招聘顶岗教师笔试备考试题及答案解析
- 经济考试题库及答案详解
- 节能知识培训活动情况课件
- 人民法院法官及司法辅助人员招聘合同
- 教师招聘之《幼儿教师招聘》检测卷讲解附答案详解(能力提升)
- 2025廉政教育中心警示教育心得体会(模板)
- 校园防欺凌教师培训制度及流程
- 教师心理健康教育课件
- 多模态大语言模型领域进展分享
- 《改善患者就医体验》课件
- 农机修理工第三届全省职业技能大赛农机修理工项目技术文件
- 乳腺癌术后淋巴水肿的护理
- 超龄员工用工免责协议书
- 教科版小学科学一年级上册全册教案【全套】
- 成人肠造口护理
- 人教版英语七年级上册阅读理解专项训练16篇(含答案)
- 高效压缩空气系统供应规范(TCECA-G 0225-2023)
- 安徽省宣城市宣州区宣城市第六中学2024-2025学年九年级上学期开学物理试题
评论
0/150
提交评论