JSP基础教程(第2版)实验练习与提高doc.doc_第1页
JSP基础教程(第2版)实验练习与提高doc.doc_第2页
JSP基础教程(第2版)实验练习与提高doc.doc_第3页
JSP基础教程(第2版)实验练习与提高doc.doc_第4页
JSP基础教程(第2版)实验练习与提高doc.doc_第5页
已阅读5页,还剩151页未读 继续免费阅读

下载本文档

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

文档简介

张跃平张跃平 耿祥义耿祥义 编著编著 内容简介内容简介.VII 导读导读.VIII 第章第章JSP 简介(实验)简介(实验).1 实验 TOMCAT服务器的安装与配置.1 1相关知识点.1 2实验目的.1 3实验要求.1 4JSP页面效果示例2 5参考代码.2 第章第章 JSP 页面与页面与 JSP 标记(实验)标记(实验) 4 实验 1 JSP 页面的基本结构4 1相关知识点.4 2实验目的.4 3实验要求.4 4JSP页面效果示例5 5参考代码.5 实验 2 JSP 指令标记7 1相关知识点.7 2实验目的.7 3实验要求.7 4JSP页面效果示例8 5参考代码.8 实验 3 JSP 动作标记9 1相关知识点.9 2实验目的.10 3实验要求.10 4JSP页面效果示例10 5参考代码.11 II 第章第章 TAG 文件与文件与 TAG 标记(实验)标记(实验) 15 实验 1 使用标记体.15 1. 相关知识点15 2实验目的.15 3实验要求.15 4JSP页面效果示例16 5参考代码.16 实验 使用ATTRIBUTE指令 .17 1. 相关知识点17 2实验目的.17 3实验要求.17 4JSP页面效果示例18 5参考代码.18 实验 3 使用VARIABLE指令 20 1. 相关知识点20 2实验目的.20 3实验要求.20 4JSP页面效果示例21 5参考代码.21 第章第章 JSP 内置对象(实验)内置对象(实验).25 实验 1 REQUEST对象.25 1. 相关知识点25 2实验目的.25 3实验要求.25 4JSP页面效果示例26 5参考代码.26 实验 RESPONSE对象28 1. 相关知识点28 2实验目的.28 3实验要求.28 4JSP页面效果示例28 5参考代码.29 实验 3 SESSION对象.30 1. 相关知识点30 2实验目的.30 3实验要求.30 4JSP页面效果示例31 5参考代码.32 III 第章第章 JSP 中的文件操作(实验)中的文件操作(实验).35 实验 使用文件字节流读写文件35 1. 相关知识点35 2实验目的.35 3实验要求.35 4JSP页面效果示例36 5参考代码.37 实验 使用文件字符流加密文件40 1. 相关知识点40 2实验目的.40 3实验要求.40 4JSP页面效果示例41 5参考代码.42 实验 使用数据流读写 JAVA数据.45 1. 相关知识点45 2实验目的.45 3实验要求.46 4JSP页面效果示例46 5参考代码.46 第章第章 JSP 中使用数据库(实验)中使用数据库(实验).49 实验 查询记录49 1. 相关知识点49 2实验目的.49 3实验要求.50 4JSP页面效果示例50 5参考代码.51 实验 更新记录55 1. 相关知识点55 2实验目的.56 3实验要求.56 4JSP页面效果示例56 5参考代码.57 实验 3 删除记录.59 1. 相关知识点59 2实验目的.59 3实验要求.59 4JSP页面效果示例60 5参考代码.60 IV 第章第章 JSP 与与 JAVABEAN(实验)(实验) 63 实验 有效范围为REQUEST的BEAN.63 1. 相关知识点63 2实验目的.63 3实验要求.63 4JSP页面效果示例64 5参考代码.64 实验 有效范围为SESSION的BEAN.66 1. 相关知识点66 2实验目的.66 3实验要求.66 4JSP页面效果示例67 5参考代码.67 实验 有效范围为APPLICATION的BEAN.68 1. 相关知识点68 2实验目的.69 3实验要求.69 4JSP页面效果示例69 5参考代码.70 第第 8 章章 JAVASERVLET 与与 MVC 模式(实验)模式(实验).74 实验 计算等差、等比数列的和.74 1. 相关知识点74 2实验目的.75 3实验要求.75 4视图效果.76 5参考代码.76 第第 9 9 章章 网络交友网络交友( (提高篇提高篇) )81 9.1系统模块构成.81 9.2数据库设计81 9.3系统管理82 1页面管理.82 2Javabean与servlet管理83 3配置文件.84 V 9.4会员注册86 1. 模型(Javabean).86 2视图(JSP页面)87 3控制器(servlet)88 9.5会员登录91 1. 模型(Javabean).91 2视图(JSP页面)92 3控制器(servlet)94 9.6上传照片97 1. 模型(Javabean).97 2视图(JSP页面)98 3控制器(servlet)99 9.7浏览会员信息.104 1. 模型(Javabean).104 2视图(JSP页面)107 3控制器(servlet)110 9.8修改密码114 1. 模型(Javabean).114 2视图(JSP页面)115 3控制器(servlet)116 9.9修改注册信息.118 1. 模型(Javabean).118 2视图(JSP页面)120 3控制器(servlet)122 9.10退出登录124 控制器(servlet)124 附录附录 A 习题解答习题解答.126 第一章习题.126 第二章习题.126 第三章习题.128 第四章习题.131 VI 第五章习题.135 第六章习题.136 第七章习题.142 第八章习题.144 第九章习题.144 VII 内容简介内容简介 本书是JSP 基础教程 (第二版) (清华大学出版社)的配套的实践提高和习题解答。 本书的第一部分为 8 次上机实践的内容,通过一系列实验练习使学生巩固所学的知识。 每个实验主要由相关知识点、实验目的、实验要求、效果示例和参考代码组成。在进行 实验之前,首先通过实验目的了解实验要完成的关键主题、通过实验要求知道本实验应 达到怎样的标准。本书的第二部分为提高篇,讲述如何用 JSP 技术建立一个简单的网络 交友网站,其目的是掌握一般 Web 应用中常用基本模块的开发方法。本书的第三部分为 主教材的习题参考解答。 VIII 导读导读 本本书书特色特色 本书的第一部分为 8 次上机实践的内容,目的是通过一系列实验练习使学生巩固所 学的知识。每个实验由五部分构成: 1相关知识点 这一部分给出和该实验相关的重点知识和难点知识。 2实验目的 让学生了解本实验需要练习掌握哪些知识,实验将以这些知识为中心。 3实验要求 给出了该实验需要达到的基本标准。 4效果示例 通过效果图,使得学生首先对本次实验有一个直观的认识。 5参考代码 给出的参考代码有一定的启发作用,学生可根据参考代码编写代码。 本书的第二部分为提高篇,讲述如何用 JSP 技术建立一个简单的网络交友网站, 其 目的是掌握一般 Web 应用中常用基本模块的开发方法 本书的第二部分为主教材的习题解答,仅供参考。欢迎读者提出批评意见,可发 email 至: 或 。 可以登录清华大学出版社的网站()下载实验模板的源程序。 读读者者对对象象 本书是JSP 基础教程 (第 2 版) (清华大学出版社)配套的实践提高和习题解答,本 书也也适合初学 JSP、使用其他教材的读者参考使用。 作者作者简简介介 张跃平,现任大连交通大学讲师。已编写和参编出版Visual FoxPro 课程设计 、 Java 2 实用教程 、 JSP 实用教程3 部教材。 1 第章第章JSP 简介(实验)简介(实验) 第章有一个实验,目的是熟悉 Tomcat 服务器安装与配置,为后续的实验作好准备 工作。 实验实验 Tomcat 服务器的安装与配置服务器的安装与配置 1 1相关知识点相关知识点 (1)安装的 Tomcat 版本为:tomcat-6.0.13。 (2)执行 Tomcat 安装根目录中 bin 文件夹中的 startup.bat 或 tomcat6.exe 来启动 Tomcat 服务器。 (3)JSP 页面文件保存到 Tomcat 服务器的某个 Web 服务目录中,以便远程的客户 使用浏览器访问该 Tomcat 服务器上的 JSP 页面。 2 2实验目的实验目的 本实验的目的是让学生掌握怎样设置 Web 服务目录、怎样访问 Web 服务目录下的 JSP 页面、怎样修改 Tomcat 服务器的端口号。 3 3实验要求实验要求 (1)将下载的 apache-tomcat-6.0.13.zip 解压到硬盘某个分区,比如 D。 (2)在硬盘分区 D 下新建一个目录,名字为:student,将 student 设置为 Web 服务 目录,并为该 Web 服务目录指定名字为 friend 的虚拟目录。打开 Tomcat 安装目录中 conf 文件夹里的 server.xml 文件,找到出现的部分(server.xml 文件尾部)。然后在 的前面加入: (3)修改端口号为 9999。在 server.xml 文件中找到修改端口号部分,将端口号修改 为 9999。 (4)启动 Tomcat 服务器(如果已经启动,必须关闭 Tomcat 服务器,并重新启动) 。 (5)用文本编辑器编写一个简单的 JSP 页面 yes.jsp,并保存到 Web 服务目录 student 中。 (6)用浏览器访问 Web 服务目录 student 中的 JSP 页面 yes.jsp。 2 4 4JSPJSP 页面效果页面效果示例示例 yes.jsp 运行效果运行效果 根据实验要求,您必须在浏览器的地址栏中输入:Tomcat 服务器的 IP 地址和端口号, 并通过虚拟目录 frirend 访问 Web 服务目录 student 下的 JSP 页面。如果浏览器和 Tomcat 服务器驻留在同一计算机上,IP 地址可以是 。如图 1-1 所示。 5 5参考代码参考代码 代码仅供参考,学生可按着实验要求,参考本代码编写代码。 JSP 页面参考代码页面参考代码 yes.jsp(效果如图(效果如图 1-1) 如果一个正整数刚好等于它的真因子之和,这样的正整数为完数, 例如,6=1+2+3,因此 6 就是一个完数。 1 到 1000 内的完数有: 4 第章第章 JSP 页面与页面与 JSP 标记(实验)标记(实验) 第章共有 3 个实验。要求将 Tomcat 服务器的端口号恢复默认设置,即端口号为 8080。 要求在 webapps 目录下新建一个 Web 服务目录:practice2。除特别要求外,实验中 涉及的 JSP 页面均保存在 practice2 中。 实验实验 1 JSP 页面的基本结构页面的基本结构 1 1相关知识点相关知识点 一个 JSP 页面可由普通的 HTML 标记、JSP 标记、成员变量和方法的声明、Java 程 序片和 Java 表达式组成。JSP 引擎把 JSP 页面中的 HTML 标记交给客户的浏览器执行显 示;JSP 引擎负责处理 JSP 标记、变量和方法声明;JSP 引擎负责运行 Java 程序片、计算 Java 表达式,并将需要显示的结果发送给客户的浏览器。 JSP 页面中的成员变量是被所有用户共享的变量。Java 程序片可以操作成员变量, 任何一个用户对 JSP 页面成员变量操作的结果,都会影响到其它用户。如果多个用户访 问一个 JSP 页面,那么该页面中的 Java 程序片就会被执行多次,分别运行在不同的线程 中,即运行在不同的时间片内。运行在不同线程中的 Java 程序片的局部变量互不干扰, 即一个用户改变 Java 程序片中的局部变量的值不会影响其他用户的 Java 程序片中的局部 变量。 2 2实验目的实验目的 本实验的目的是让学生掌握怎样在 JSP 页面中使用成员变量、怎样使用 Java 程序片、 Java 表达式。 3 3实验要求实验要求 编写两个 JSP 页面,名字分别为 inputName 和 people.jsp。 1.inputName.jsp 的具体要求的具体要求 该页面有一个表单,用户通过该表单输入自己的姓名并提交给 people.jsp 页面。 2people.jsp 的具体要求的具体要求 (1)JSP 页面有名字为 person、类型是 StringBuffer 以及名字是 count,类型为 int 的成员变量。 (2)JSP 有 public void judge ()方法。该方法负责创建 person 对象,当 count 的值 5 是 0 时,judge ()方法创建 person 对象。 (3)JSP 有 public void addPerson(String p)的方法,该方法将参数 p 指定的字符串 尾加到操作成员变量 person,同时将 count 作自增运算。 (4)JSP 页面在程序片中获取 inputName.jsp 页面提交的姓名,然后调用judge () 创建 person 对象、调用 addPerson 方法将用户的姓名尾加到成员变量 person。 (5)如果 inputName.jsp 页面没有提交姓名,或姓名含有的字符个数大于 10,就 使用标记将将用户转到 inputName.jsp 页 面。 (6)通过 Java 表达式输出 person 和 count 的值。 4 4JSPJSP 页面效果示例页面效果示例 inputName.jsp(效果如图 2-1) 图 2-1 输入姓名 people.jsp(效果如图 2-2) 图 2-1 显示姓名和人数 5 5参考代码参考代码 代码仅供参考,学生可按着实验要求,参考本代码编写代码。 JSP 页面参考代码页面参考代码 inputName.jsp 6 请输入姓名: people.jsp 10) % 7 目前共有人浏览了该页面,他们的名字是: 实验实验 2 JSP 指令标记指令标记 1 1相关知识点相关知识点 page 指令:用来定 义整个 JSP 页面的一些属性和这些属性的值。比较常用的两个属性是 contentType 和 import。page 指令只能为 contentType 指定一个值,但可以为 import 属性指定多个值。 include 指令标记:的作用是在 JSP 页面出现该 指令的位置处,静态插入一个文件。被插入的文件必须是可访问和可使用的,如果该文 件和当前 JSP 页面在同一 Web 服务目录中,那么“文件的 URL“就是文件的名字;如果该 文件在 JSP 页面所在的 Web 服务目录的一个子目录中,比如 fileDir 子目录中,那么“文 件的 URL“就是“fileDir/文件的名字“。include 指令标记是在编译阶段就处理所需要的文件, 被处理的文件在逻辑和语法上依赖于当前 JSP 页面,其优点是页面的执行速度快。 2 2实验目的实验目的 本实验的目的是让学生掌握怎样在 JSP 页面中使用 page 指令设置 contentType 的值; 使用 include 指令在 JSP 页面中静态插入一个文件的内容。 3 3实验要求实验要求 编写三个 JSP 页面:first.jsp 、second.jsp 和 third.jsp。另外,要求用“记事本”编写 一个 txt 文件 hello.txt。hello.txt 的每行有若干个英文单词,单词之间用空格分隔,每行之 间用“”分隔,如下所示: hello.txt package apple void back public private throw class hello welcome 8 1.first.jsp 的具体要求的具体要求 first.jsp 使用 page 指令设置 contentType 属性的值是“text/plain“,使用 include 指令静 态插入 hello.txt 文件。 2.second.jsp 的具体要求的具体要求 second.sp 使用 page 指令设置 contentType 属性的值是“application/vnd.ms- powerpoint“, 使用 include 指令静态插入 hello.txt 文件。 3.third.jsp 的具体要求的具体要求 third.jsp 使用 page 指令设置 contentType 属性的值是“application/msword“, 使用 include 指令静态插入 hello.txt 文件。 4 4JSPJSP 页面效果示例页面效果示例 first.jsp(效果如图 2-3) 图 2-3 contentType 的值是 text/plain second.jsp(效果如图 2-4) 图 2-4 contentType 的值是 vnd.ms-powerpoint people.jsp(效果如图 2-5) 图 2-5 contentType 的值是 application/msword 9 5 5参考代码参考代码 代码仅供参考,学生可按着实验要求,参考本代码编写代码。 JSP 页面参考代码页面参考代码 first.jsp second.jsp third.jsp 10 实验实验 3 JSP 动作标记动作标记 1 1相关知识点相关知识点 include 动作标记:是在 JSP 页面运行时才处理 加载的文件,被加载的文件在逻辑和语法上独立于当前 JSP 页面。include 动作标记可以 使用 param 子标记向被加载的 JSP 文件传传递信息。 frward 动作标记作用是:从该指令处停止当前页 面的继续执行,而转向执行 page 属性指定的 JSP 页面。forward 标记可以使用 param 动作 标记做为子标记,以便向要转向的 JSP 页面传送信息。 2 2实验目的实验目的 本实验的目的是让学生掌握怎样在 JSP 页面中使用 include 标记动态加载文件;使用 forward 实现页面的转向。 3 3实验要求实验要求 编写四个 JSP 页面:one.jsp 、two.jsp 和 three.jsp 和 error.jsp。one.jsp 、two.jsp 和 three.jsp 页面都含有一个一个导航条,以便让用户方便地单击超链接访问这三个页面,要 求这三个页面通过使用 include 动作标记动态加载导航条文件:head.txt。 导航条文件 head.txt 的内容如下所示: head.txt one.jsp 页面 two.jsp 页面 three.jsp 页面 1.one.jsp 的具体要求的具体要求 要求 one.jsp 页面有一个表单,用户使用该表单可以输入一个 1 至 100 之间的整数, 并提交给被页面;如果输入的整数在 50 至 100 之间(不包括 50)就转向 three.jsp,如果 在 1 至 50 之间就转向 two.jsp;如果输入不符合要求就转向 error.jsp。要求 forward 标记 在实现页面转向时,使用 param 子标记将整数传递到转向的 two.jsp 或 three.jsp 页面,将 有关输入错误传递到转向的 error.jsp 页面 11 2.two.jsp、three.jsp 和和 error.jsp 的具体要求的具体要求 要求 two.jsp 和 three.jsp 能输出 one.jsp 传递过来的值,并显示一幅图像,该图像的宽 和高刚好是 one.jsp 页面传递过来的值。error 页面能显示有关错误信息,和一幅图像。 4 4JSPJSP 页面效果示例页面效果示例 one.jsp(效果如图 2-6) 图 2-6 使用 include 动作标记加载导航条 two.jsp(效果如图 2-7) 图 2-7 得到 param 子标记传递来的值 three.jsp(效果如图 2-8) 图 2-8 得到 param 子标记传递来的值 error.jsp(效果如图 2-9) 图 2-9 显示错误信息 12 5 5参考代码参考代码 代码仅供参考,学生可按着实验要求,参考本代码编写代码。 JSP 页面参考代码页面参考代码 one.jsp 请输入 1 至 100 之间的整数: =1 % “ height=“ three.jsp 14 This is three.jsp. 传递过来的值是“+s); % “ height=“ error.jsp This is error.jsp. 传递过来的错误信息“+s); % 15 16 第章第章 Tag 文件与文件与 Tag 标记(实验)标记(实验) 要求在 webapps 目录下新建一个 Web 服务目录:practice3。除特别要求外,实践 中的实验所涉及的 JSP 页面均保存在 practice中;Tag 文件保存在 practice3WEB- INFtags 目录中。 实验实验 1 使用标记体使用标记体 1.1. 相关知识点相关知识点 Tag 文件是扩展名为 .tag 的文本文件,其结构几乎和 JSP 文件相同,一个 Tag 文件 中可以有普通的 HTML 标记符、某些特殊的指令标记(见 3.3) 、成员变量和方法、Java 程序片和 Java 表达式。JSP 页面使用 Tag 标记动态执行一个 Tag 文件。当 JSP 页面调用 一个 Tag 文件时可能希望动态地向该 Tag 文件传递信息,那么就可以使用带有标记体的 Tag 标记来执行一个 Tag 文件,Tag 标记中的“标记体”就会传递给相应的 Tag 文件。标 记体由 Tag 文件的标记负责处理,即标记被替换成处理“标 记体”后所得到的的结果。 2 2实验目的实验目的 本实验的目的是让学生灵活掌握在 Tag 标记中使用标记体。 3 3实验要求实验要求 编写一个 JSP 页面:putImage.jsp 和一个 Tag 文件 Image.tag。JSP 页面通过调用 Tag 文件来显示若干幅图像,通过使用标记体将显示图像的 HTML 标记传递给被调用的 Tag 文件。 1.putImage.jsp 的具体要求的具体要求 要求 one.jsp 页面使用带标记体 Tag 标记调用 Tag 文件来显示一幅图像,即标记体是 显示图像的 HTML 标记。如下所示意: 2.Image.tag 的具体要求的具体要求 Image.tag 使用处理标记体将图像显示在表格的单元中,要求表格每行 有三个单元,重复显示一幅图像。 17 4 4JSPJSP 页面效果示例页面效果示例 putImage.jsp(效果如图 3-1) 图 3-1 使用带标记体的 Tag 标记 5 5参考代码参考代码 代码仅供参考,学生可按着实验要求,参考本代码编写代码。 JSP 页面参考代码页面参考代码 putImage.jsp 表格每行重复显示一幅图像 18 Tag 文件参考代码文件参考代码 Image.Tag 实验实验 使用使用 attribute 指令指令 1.1. 相关知识点相关知识点 一个 Tag 文件中通过使用 attribute 指令: 使得 JSP 页面在该调用 Tag 文件时,可以向该 Tag 文件中的对象传递一个引用,方式如 下: 或 标记体 2 2实验目的实验目的 本实验的目的是让学生灵活掌握在 Tag 标记中使用 attribute 指令。 3 3实验要求实验要求 编写一个 Function.tag,该 Tag 文件负责计算、显示一元二次方程的实根。编写一个 JSP 页面 input.jsp,该 JSP 页面使用 Tag 标记调用 Function.tag 文件,并且向 Function.tag 文件传递一元二次方程的系数。 input.jsp 的具体要求的具体要求 input.jsp 提供表单,用户在表单中输入一元二次方程的系数,提交给当前页面。 input.jsp 通过 Tag 标记调用 Function.tag 文件,并向该 Tag 文件传递一元二次方程的系数。 2. Function.tag 的具体要求的具体要求 该 Tag 文件根据 JSP 页面传递过来一元二次方程的系数,计算显示一元二次方程的 实根。要求该 Tag 文件能对 JSP 页面传递过来的数据进行判断,比如,如果 JSP 页面传 19 递过来的数据如果不是数值型数据,Tag 文件负责显示错误信息。 4 4JSPJSP 页面效果示例页面效果示例 input.jsp(效果如图 3-2) 图 3-2 使用 attribute 指令 5 5参考代码参考代码 代码仅供参考,学生可按着实验要求,参考本代码编写代码。 JSP 页面参考代码页面参考代码 input.jsp 0 out.println(“一元二次方程的两个实数:“+root1+“,“+root2); 21 else out.println(“一元二次方程没有实根。“); else out.println(“不是一元二次方程。“); catch(Exception e) out.println(“请输入一元二次方程的系数。“); % 实验实验 3 使用使用 variable 指令指令 1.1. 相关知识点相关知识点 Tag 文件可以把一个对象返回给调用它的 JSP 页面。步骤如下: ()Tag 文件使用 variable 指令: 给出返回的对象的名字、类型和有效范围。 ()将返回的对象的引用和名字存储在内置对象jspContext 中: jspContext.setAttribute(“对象名字“,对象的引用); 2 2实验目的实验目的 本实验的目的是让学生灵活掌握在 Tag 标记中使用 variable 指令。 3 3实验要求实验要求 编写一个 Tag 文件 GetArea.tag,负责计算三角形或梯形的面积,并将计算结果返回 给调用该 Tag 文件的的 JSP 页面。编写一个 JSP 页面 inputAndShow.jsp,该页面负责向 Tag 文件提交三角形三边的长度或梯形的上底、下底和高,并负责显示 Tag 文件返回的相 应面积。 3.inputAndShow.jspinputAndShow.jsp 的具体要求的具体要求 inputAndShow.jsp 提供一个表单。用户可以在表单中分别输入三个数值、并选择这 22 三个数值代表三角形三边的长度或梯形的上底、下底和高,然后提交给当前页面。 inputAndShow.jsp 通过 Tag 标记调用 GetArea.tag 文件,并向该 Tag 文件 GetArea.tag 传递三角形三边的长度和梯形的上底、下底和高。inputAndShow.jsp 负责显示 Tag 文件 GetArea.tag 返回的面积以及相关信息。 4.GetArea.tag 的具体要求的具体要求 要求 Tag 文件 GetArea 使用 attibute 指令得到 JSP 页面传递过来三角形形三边的长 度或梯形的上底、下底和高,使用 variable 指令返回相应的面积,以及字符串信息:“三 角形的面积”或“梯形的面积” 。 4 4JSPJSP 页面效果示例页面效果示例 inputAndShow.jsp(效果如图 3-3) 图 3-3 使用 variable 指令 5 5参考代码参考代码 代码仅供参考,学生可按着实验要求,参考本代码编写代码。 JSP 页面参考代码页面参考代码 inputAndShow.jsp 输入的三个数值 a,b,c(代表三角形的三边或梯形的上底、下底和高): 输入数值 a: 输入数值 b: 23 输入数值 c: 代表三角形 代表梯形 0 double area=Math.sqrt(p*(p-a)*(p-b)*(p-c) ; return area; else return -1; public double getLaderArea(double above,double bottom,double h) double area=(above+bottom)*h/2.0 ; return area; % 25 26 第章第章 JSP 内置对象(实验)内置对象(实验) 要求在 webapps 目录下新建一个 Web 服务目录:practice4。除特别要求外,实践 4 中的实验所涉及的 JSP 页面均保存在 practice4 中;Tag 文件保存在 practice4WEB- INFtags 目录中。 实验实验 1 request 对象对象 1.1. 相关知识点相关知识点 HTTP 通信协议是客户与服务器之间一种提交(请求)信息与响应信息 (request/response)的通信协议。在 JSP 中,内置对象 request 封装了用户提交的信息, 那么该对象调用相应的方法可以获取封装的信息,即使用该对象可以获取用户提交的信 息。 2 2实验目的实验目的 本实验的目的是让学生掌握怎样在 JSP 中使用内置对象 request。 3 3实验要求实验要求 编写一个 JSP 页面 inputNumber.jsp 该页面提供一个表单,用户可以通过表单输入两 个数和四则运算符号提交给该页面。用户提交表单后,JSP 页面将计算任务交给一个 Tag 文件 Computer.tag 去完成。 1.inputNumber.jsp 的具体要求的具体要求 inputNumber.jsp 页面提供一个表单,要求表单中提供两个 text 输入框,供用户输入 数字;提供一个 select 下拉列表,该下拉列表有加、减、乘、除四个选项,供用户选择运 算符号。用户在表单中输入的数字、选择运算符号提交给 inputNumber.jsp 页面。 inputNumber.jsp 使用 Tag 标记调用 Tag 文件 Computer.tag,并将表单提交的数字和运算符 号传递给 Computer.tag。 2.Computer.tag 的具体要求的具体要求 要求 Computer.tag 使用 attribute 指令得到 JSP 页面传递过来的值,使用 variable 指令 将计算结果,并将计算结果返回给 JSP 页面。 27 4 4JSPJSP 页面效果示例页面效果示例 inputNumber.jsp(效果如图 4-1) 图 4-1 简单的计算器 5 5参考代码参考代码 代码仅供参考,学生可按着实验要求,参考本代码编写代码。 JSP 页面参考代码页面参考代码 inputNumber.jsp 输入运算数、选择运算符号: + - * / 0 n=n+1; session.setAttribute(“count“,new Integer(n); response.sendRedirect(“large.jsp“); else if(guessNumber small.jsp 猜小了,请再猜: large.jsp 35 猜大了,请再猜: success.jsp 恭喜你,猜对了 您共猜了次,这个数字就是。 单击超链接返回到 inputGuess.jsp 页面: inputGuess.jsp 36 第章第章 JSP 中的文件操作(实验)中的文件操作(实验) 要求在 webapps 目录下新建一个 Web 服务目录:practice5。除特别要求外,实践 5 中的实验所涉及的 JSP 页面均保存在 practice5 中;Tag 文件保存在 practice5WEB- INFtags 目录中。 实验 使用文件字节流读写文件 1.1. 相关知识点相关知识点 FileInputStream 流以字节(byte)为单位顺序地读取文件,只要不关闭流,每次调用 read 方法就顺序地读取源中其余的内容,直到源的末尾或流被关闭。 FileOutStream 流以字节(byte)为单位顺序地写文件,只要不关闭流,每次调用 writer 方法就顺序地向输出流写入内容。 2 2实验目的实验目的 本实验的目的是让学生掌握使用文件输入、输出字节流读写文件。 3 3实验要求实验要求 编写三个 JSP 页面 giveContent.jsp,writeContent.jsp、readContent.jsp 以及两个 Tag 文 件 WriteTag.tag 和 ReadTag.jsp。 content.jsp 的具体要求的具体要求 giveConten.jsp 页面提供一个表单,要求该表单提供一个 text 文本输入框、select 下拉 列表和一个 TextArea 文本区,用户可以在 text 输入框输入文件的名字、在 select 下拉列 表选择一个目录(下拉列表的选项必须是 Tomcat 服务器所驻留计算机上的目录) 、通过 TextArea 输入多行文本。单击表单的提交键将 text 中输入的文件名字、select 下拉列表中 选中的目录以及 TextArea 文本区中的内容提交给 writeContent.jsp 页面。 writeContent.jsp 的具体要求的具体要求 writeContent.jsp 页面首先获得 giveConten.jsp 页面提交的文件所在目录、名字以及 TextArea 文本区中的内容,然后使用 Tag 标记调用 Tag 文件 WriteTag.tag,并将文件所在 目录、名字以及 TextArea 文本区中的内容传递给 WriteTag.tag。 lookContent.jsp 的具体要求的具体要求 lookContent.jsp 页面提供一个表单,该表单提供两个 text 文本输入框,用户可以这两 个 text 文本输入框输入目录和文件名字。单击表单的提交键将 text 中输入的文件目录 37 以及文件名字提交给 readContent 页面。 readContent.jsp 的具体要求的具体要求 readContent.jsp 页面首先获得 lookConten.jsp 页面提交的文件目录、名字,然后使用 Tag 标记调用 Tag 文件 ReadTag.tag,并将文件所在目录、名字传递给 ReadTag.tag。 WriteTag.tag 的具体要求的具体要求 WriteTag.tag 文件使用 attribute 指令获得 writeContent.jsp 页面传递过来的文件目录、 文件名字和文件内容,然后使用文件字节输出流将文件内容写入到文件中,该文件所在 目录就是 writeContent.jsp 页面传递过来的文件目录,名字就是 writeContent.jsp 页面传递 过来的文件名字。 ReadTag.tag 的具体要求的具体要求 Read.tag 文件使用 attribute 指令获得 readContent.jsp 页面传递过来的文件目录和文件 名字,然后使用文件字节输入流读取文件,并负责显示所读取的内容。 4 4JSPJSP 页面效果示例页面效果示例 giveContent.jsp(效果如图 5-1) 图 5-1 输入与写文件有关的信息 writeContent.jsp(效果如图 5-2) 图 5-2 将有关内容写入到文件 lookContent.jsp(效果如图 5-3) 图 5-3 输入与读文件有关的信息 38 readContent.jsp(效果如图 5-4) 图 5-4 读取文件的内容 5 5参考代码参考代码 代码仅供参考,学生可按着实验要求,参考本代码编写代码。 JSP 页面参考代码页面参考代码 giveContent.jsp 我要写文件 我要读文件 请选择一个目录: C:/1000 D:/2000 D:/1000 输入保存文件的名字: 输入文件的内容: writeContent.jsp 39 “ fileName=“ fileContent=“ / lookContent.jsp 我要写文件 我要读文件 输入文件的路径(如:d:/1000): 输入文件的名字(如:Hello.java): readContent.jsp “ fileName=“/ Tag 文件参考代码文件参考代码 WriteTag.tag 文件所在目录:“+fileDir); out.println(“文件的名字:“+fileName); catch(IOException e) out.println(“文件写入失败“+e); % ReadTag.tag 实验实验 使用文件字符流加密文件使用文件字符流加密文件 1.1. 相关知识点相关知识点 FileInputStream 和 FileReader 流都顺序地读取文件,只要不关闭流,每次调用 read 方法就顺序地读取源中其余的内容,直到源的末尾或流被关闭;二者的区别是, FileInputStream 流以字节(byte)为单位读取文件;FileReader 流以字符(char)为单位读 取文件。 FileOutStream 流和 FileWtiter 顺序地写文件,只要不关闭流,每次调用 writer 方法就 顺序地向输出流写入内容,直到流被关闭。二者的区别是,FileOutStream 流以字节 (byte)为单位写文件;FileWriter 流以字符(char)为单位写文件。 2 2实验目的实验目的 本实验的目的是让学生掌握使用文件字符输入、输出流读写文件。 3 3实验要求实验要求 编写三个 JSP 页面 inputConten.jsp,write.jsp、read.jsp 以及两个 Tag 文件 Write.tag 和 Read.tag。具体要求如下。 inputContent.jsp 的具体要求的具体要求 inputConten.jsp 页面提供一个表单,要求该表单提供 TextArea 的输入界面,用户可 42 以在通过 TextArea 的输入界面输入多行文本提交给 write.jsp 页面。 write.jsp 的具体要求的具体要求 write.jsp 页面调用一个 Tag 文件 Write.tag 将 inputConten.jsp 页面提交的文本信息加 密后写入到文件 save.txt 中。 read.jsp 的具体要求的具体要求 read.jsp 页面提供一个表单,该表单提供两个单选按钮,名字分别是“读取加密的文 件”和“读取解密的文件” ,该页面选中的单选按钮的值提交给本页面。如果该页面提交 的值是单选按钮“读取加密的文件”的值,该页面就调用 Tag 文件 Read.tag 读取文件 save.txt;如果该页面提交的值是单选按钮“读取解密的文件”的值,该页面就调用 Tag 文件 Read.tag 读取文件 save.txt,并解密该文件。read.jsp 页面负责显示 Read.tag 文件返回 的有关信息。 Write.tag 的具体要求的具体要求 Write.tag 文件使用 attribute 指令获得 write.jsp 页面传递过来的文本信息,并使用文件 输出流将其写入到文件 save.txt。 Read.tag 的具体要求的具体要求 Read.tag 文件使用文件输入流读去文件 save.txt,并根据 read.jsp 的要求决定是否进行 解密处理,然后使用 variable 指令将有关信息返回给 read.jsp 页面。 4 4JSPJSP 页面效果示例页面效果示例 inputContent.jsp(效果如图 5-5) 图 5-5 输入要加密的信息 write.jsp(效果如图 5-6) 图 5-6 将信息加密后写入文件 43 read.jsp(效果如图 5-7) 图 5-7 读取文件 5 5参考代码参考代码 代码仅供参考,学生可按着实验要求,参考本代码编写代码。 JSP 页面参考代码页面参考代码 inputContent.jsp 输入文件的内容: 读取文件 write.jsp 0) 44 byte bb=str.getBytes(“iso-8859-1“); str=new String(bb); % “ / “+message); % 读取文件 read.jsp 读取文件:读取加密的文件 读取解密的文件 “/ 返回 inputContent.jsp 页面 Tag 文件参考代码文件参考代码 Write.tag 45 Read.tag 实验实验 使用数据流读写使用数据流读写 Java 数据数据 1.1. 相关知识点相关知识点 DataInputStream 类和 DataOutputStream 类创建的对象分别被称为数据输入流和数据 输出流。这两个流是很有用的两个流,它们允许程序按着与机器无关的风格读取 Java 原 始数据。也就是说,当我们读取一个数值时,不必再关心这个数值应当是多少个字节。 。 2 2实验目的实验目的 本实验的目的是让学生掌握使用数据流读写 Java 数据。 47 3 3实验要求实验要求 编写两个 JSP 页面 writeData.jsp 和 readData.jsp。 writeData.jsp 的具体要求的具体要求 writeData.jsp 页面使用 Java 程序片将一个 int 型数据、一个 long 型数据、一个 char 型数据、一个 String 型数据和一个 double 型数写入到名字为 javaData.data 的文件中。 readData.jsp 的具体要求的具体要求 4 4JSPJSP 页面效果示例页面效果示例 writeData.jsp(效果如图 5-8) 图 5-8 写 Java 数据到文件 readData.jsp(效果如图 5-9) 图 5-9 读取文件中的 Java 数据 5 5参考代码参考代码 代码仅供参考,学生可按着实验要求,参考本代码编写代码。 JSP 页面参考代码页面参考代码 writeData.jsp 将一些 Java 数据写入 javaData.data 文件中。 写入成功!“); out.println(“写入到文件中的数据是:“); out.print(“int:“+x); out.print(“long:“+y); out.print(“char:“+c); out.print(“String:“+str); out.print(“double:“+z); catch(IOException e) out.println(“写入失败!“+e); % readData.jsp 读取 javaData.

温馨提示

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

评论

0/150

提交评论