




已阅读5页,还剩88页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
安徽农业大学web开发技术jsp版课程配套教材web开发技术实验指导书(jsp版)刘 波 编写安徽农业大学信息与计算机学院通信工程2008年2月目 录实验一 搭建jsp运行的实验环境1实验二 jsp页面2实验三 显示不同大小的“你好jsp”6实验四 jsp指令和动作8实验五 tag文件的代码复用11实验六 中文显示服务器端日期13实验七 jsp内置对象18实验八 session对象22实验九 简易留言板27实验十 jsp中使用java bean30实验十一 jsp中的文件操作40实验十二 jsp中使用数据库47实验十三 java servlet64实验十四 网上书店69实验报告.7691实验一 搭建jsp运行的实验环境一、实验目的(1)掌握jsp运行环境的安装与配置(2)理解jsp与servlet的关系(3)运行简单的jsp页面,理解jsp的运行原理二、实验工具(1)jdk1.4、jdk1.5或jdk1.6,可以从sun公司的网站免费下载(2)编辑工具记事本(3)tomcat服务器,也可以从网上免费下载三、实验步骤(1)按教材中演示安装jdk(2)按教材中演示安装tomcat(3)启动tomcat服务器,在浏览器中输入:http:/localhost:8080,观察主页内容(4)观察tomcat安装目录下的各个子目录的内容(5)打开记事本,输入下列源代码并保存为exer1.jsp。将此文件复制到tomcat安装目录下的webappsroot目录下,运行该页面,观察其对应的servlet源代码。exer1.jsp的代码: 程序片创建date对象: % date date=new date(); /java程序片 out.println(+date); sum=add(12,34); % 在下一行输出和: (6)将exer1.jsp文件复制到tomcat安装目录下的webappsexamples目录下,运行该页面,观察其对应的servlet源代码。(7)将exer1.jsp文件复制到tomcat安装目录下的webappswebdav目录下,运行该页面,观察其对应的servlet源代码。四、实验思考题(1)jdk安装完毕后,需要添加哪些环境变量?(2)在tomcat安装目录下的webapps文件夹中,新建一文件夹myapp,将exer1.jsp文件复制到tomcat安装目录下的webappsmyapp目录下,运行该页面(http:/localhost:8080/myapp/exer1.jsp ),结果如何?若在d:盘根目录建立一个文件夹myweb,将exer1.jsp文件复制到d:myweb目录下, 运行该页面(http:/localhost:8080/myweb/exer1.jsp ),结果如何?若要正确显示该页面,还应做如何处理?提示:修改conf目录下的server.xml文件。(3)tomcat默认端口号为8080,如何更改端口号?(4)编写一个jsp页面,用于显示1100的整数和。五、实验报告要求(1)分析jsp的工作原理,说明jsp文件和servlet的关系(2)根据实验运行情况,对实验步骤和运行结果进行阐述(3)完成实验思考题的解答实验二 jsp页面一、实验目的(1)熟悉典型jsp页面的组成元素,掌握html标记和jsp标记的不同(2)掌握在html页面中插入jsp脚本(java代码)的方法(2)编写简单的jsp页面,初步掌握jsp网页的设计原理二、实验工具(1)jdk1.4、jdk1.5或jdk1.6,可以从sun公司的网站免费下载(2)编辑工具:记事本或dreamweaver mx 2004、frontpage 2003(3)tomcat服务器,也可以从网上免费下载三、实验步骤(1)打开记事本,输入以下代码,保存为exer2_1.jsp,观察其运行结果exer2_1.jsp: (2)jsp中声明类(比较教材p15p16页的声明变量和声明方法)是jsp页面对应的servlet类的内部类,页面上所有脚本元素都可以创建该类的对象。下面的实例定义一个square类,当客户访问该页面时,服务器创建该类的对象,只要客户给出正方形的边长,就可以求出该正方形的周长和面积,创建并运行exer2_2.jsp,观察运行结果exer2_2.jsp:请输入正方形边长 方的面积是:方的周长是:(3)编写exer2_3.jsp,熟悉在“”之间插入表达式,用于输出表达式计算结果的方法exer2_3.jsp: sin(0.9)除以3等于 3的平方是: 12345679乘72等于 5的平方根等于 99大于100吗?回答: 100%(4)在dreamweaver或frontpage中利用可视化方法,编写input.jsp和receive.jsp。input.jsp: 请输入下列信息: 输入您的姓名: 选择性别:男 女 选择您喜欢的歌手: 张歌手 李歌手 刘歌手 王歌手 receive.jsp: % string yourname=request.getparameter(name); / 获取text提交的值 string yoursex=request.getparameter(r); /获取radio提交的值 string secretmess=request.getparameter(secret); /获取hidden提交的值 string personname=request.getparametervalues(superstar); /获取checkbox提交的值 out.println( 您的姓名:+yourname+); out.println( 您的性别:+yoursex+); out.println( 您喜欢的歌手:); if(personname=null) out.print(一个都不喜欢); else for(int k=0;kpersonname.length;k+) out.println( +personnamek); out.println( hidden提交的值:+secretmess); % 四、设计性实验环节(1)编写一个jiecheng类,当客户在浏览器中给出指定的正整数n,能计算n的阶乘。创建能实现此功能的jsp文件res1.jsp,观察运行结果(参考exer2_2.jsp)(2)编写程序newclass2.jsp,学会在声明中定义类student,初始化该类(学号、姓名、成绩),用表格形式输出“班号(学号的前4位)、学号、姓名、成绩”。(选做)五、实验报告要求(1)分析jsp的脚本元素,说明jsp标记和html标记的不同(2)根据实验运行情况,对实验步骤和运行结果进行阐述(3)完成实验设计题的解答实验三 显示不同大小的“你好jsp”(选做)一、实验目的(1)掌握控制字体显示大小的方法(2)掌握for语句,显示变量值二、实验工具(1)jdk1.4、jdk1.5或jdk1.6,可以从sun公司的网站免费下载(2)编辑工具:记事本或dreamweaver mx 2004、frontpage 2003(3)tomcat服务器,也可以从网上免费下载三、实验原理和内容本程序运行后,在浏览器页面上显示不同字体大小的“你好jsp”,如图31所示,程序的流程图如图32所示。1、 程序知识点l 显示变量值在jsp中,获取变量值可使用“”来实现,valname可以是一个整型字符型的变量。图31 浏览器显示不同字体大小l for语句for语句的格式如下for (initialization statement; conditional expression; increment statement) loopbody为了执行for语句,首先执行初始化语句,然后再对条件表达式求值,如果值为true,则执行循环体,随后执行递增语句。表达式的求值和循环体与递增语句的执行不断重复,直到条件表达式的值变为false。多个初始化和增量语句可以用逗号隔开。 for循环的初始化部分可以声明局部循环变量,循环变量的范围在循环体内部。这些循环变量遵循在块内有效的一般规则,即用大括号作为程序块,变量在块内声明,不能与范围外边的变量同名,也不能在循环外引用。图32 程序流程图l 控制字体大小在html语言中,控制文字大小可使用“”(n从16),因此,可以使用循环语句来控制n的变化。然后,使用h,来显示字体大小渐变的“你好jsp”2、程序代码(exer3.jsp)显示不同大小字体%/利用for循环控制字体由大到小for(int i=1;ih你好 jsp/hh你好 jsp/h3、观察运行结果四、综合设计实验环节综合思考:结合实验二和实验三,编写input2.jsp和receieve2.jsp,根据变量和for循环生成表格的行和列,结果如下图33和图34所示: 图33 input2.jsp执行结果 图34执行“确定”后结果五、实验报告要求(1)根据实验运行情况,对实验步骤和运行结果进行阐述(2)完成综合设计环节的解答实验四 jsp指令和动作一、实验目的(1)综合掌握在jsp中使用指令标记(2)综合掌握在jsp中使用动作标记二、实验工具(1)jdk1.4、jdk1.5或jdk1.6,可以从sun公司的网站免费下载(2)编辑工具:记事本或dreamweaver mx 2004、frontpage 2003(3)tomcat服务器,也可以从网上免费下载三、实验步骤1、page指令的使用(1)打开记事本,输入以下文档,并保存为pagederictive.jsp。donethis program example how to use page directive(2)将pagederictive.jsp复制到tomcate安装目录下的webappsroot。(3)在ie地址栏输入http:/localhost:8080/pagederictive.jsp2、page指令import属性的使用(1)打开记事本,输入以下文档,并保存为pageimport.jsp。currentyear=(2)将pageimport.jsp复制到tomcate安装目录下的webappsroot。(3)在ie地址栏输入http:/localhost:8080/pageimport.jsp3、include指令的使用(1)打开记事本,输入以下文档,并保存为copyright.jsp。©2002 any unauthorized use of these materials will be prosecuted to the fullest extent of the law(2)打开记事本,输入以下文档,并保存为inc1.jsp。this page is unde contructionlast updated:march 2008(3)将copyright.jsp和inc1.jsp复制到tomcate安装目录下的webappsroot(4)在ie地址栏输入http:/localhost:8080/inc1.jsp四、设计性实验环节(1)、编写jsp页面,用“*”显示一个77方阵的边框和对角线,结果如图41所示。* * * * * * * * * * * * * * * * * * * * * * * * * * *图41 练习1运行结果(2)、编写jsp页面,判断字符串是否为回文,并用表格显示出来,结果如图42所示。提示:使用stringbuffer类的reverse()颠倒某字符串的顺序,若字符串与颠倒后的字符串相等,则该串为回文。(选做)图42 练习2的运行结果(3)、张三手头分别有800美元和1860美元,编写一个jsp页面,把他的美元换成人民币,并用表格显示出来。假设当前美元兑换人民币的汇率是7.82。(选做)(4)、编写jsp页面分别显示110之间的各数字的阶乘。实验五 tag文件的代码复用一、实验目的(1)tag文件的编写、保存以及tag标记的使用(2)编写jsp页面,使用tag标记实现代码的复用二、实验工具(1)jdk1.4、jdk1.5或jdk1.6,可以从sun公司的网站免费下载(2)编辑工具:记事本或dreamweaver mx 2004、frontpage 2003(3)tomcat服务器,也可以从网上免费下载三、实验步骤(1)tag文件是扩展名为.tag的文本文件,其结构几乎和jsp文件相同,只是扩展名不同而已。也就是说,一个tag文件中可以有普通的html标记符、某些特殊的指令标记、成员变量和方法、java程序片和java表达式等。在记事本中编写如下一个tag文件trangle.tag:这是一个tag文件,负责计算三角形的面积: c&a+cb&c+ba) double p=(a+b+c)/2.0; double area=math.sqrt(p*(p-a)*(p-b)*(p-c) ; return 三角形的面积:+area; else return(+a+,+b+,+c+不能构成一个三角形,无法计算面积); % % out.println(jsp页面传递过来的三边:+sidea+,+sideb+,+sidec); double a=double.parsedouble(sidea); double b=double.parsedouble(sideb); double c=double.parsedouble(sidec); out.println(getarea(a,b,c); %(2)将trangle.tag保存在.rootweb-inf目录下(3)在root目录下编写exer5_1.jsp文件,代码如下: 请选择三角形的三条边side a: 3 4 5 side b: 3 4 5 side b: 3 4 5 以下是调用tag文件的效果: computer:trangle sidea= sideb= sidec= /(4)在ie地址栏输入http:/localhost:8080/exer5_1.jsp四、综合设计实验环节编写两个tag文件rect.tag和circle.tag。rect.tag负责计算矩形的面积,circle.tag负责计算圆的面积。编写一个jsp页面,该jsp页面使用tag标记调用rect.tag和circle.tag。调用rect.tag时,向其传递矩形的两个边的长度;调用circle.tag时,向其传递圆的半径。实验六 中文显示服务器端日期(选做)一、实验目的(1)掌握在jsp中switch语句的使用(2)掌握date类使用。(3)熟悉int和string的区别(4)通过实例编程,综合掌握实用网页编程技巧二、实验工具(1)jdk1.4、jdk1.5或jdk1.6,可以从sun公司的网站免费下载(2)编辑工具:记事本或dreamweaver mx 2004、frontpage 2003(3)tomcat服务器,也可以从网上免费下载三、实验原理和内容本实例运行后将在浏览器上用中文显示当前服务端的日期,如图61所示。图61 服务器端的日期1、程序知识点l date类及其引用date是在jdk中java。util这个包下的一个类,它支持日历和时间,并且包含了getyear()、getmonth()、getdate()、getday()几个方法,分别为获取系统年份、系统月份、系统日期、系统星期,并且返回的都是整型。其标准用法为:java.util.date dt=new java.util.date();int year=dt.getyear();当然也可先用import语句使包中定义的类和接口,可以只用类名而不用全名来引用用法为(import语句一定要放在程序开头):import java.util.*;date dt=new date();int year=dt.getyear();以上例句date dt=new date()中用new语句生成一个新对象dt对date类进行引用,而date()是类date的构造函数。然后可以对date类中的getyear()方法进行调用。但得到的返回值要加1900才是现在年份。同样用getmonth()得到的返回值也要加1才是现在的月份。l int和string的区别在java中它们是两个完全不同的概念。int是一个类型,而string是一个类。所以在转换上是不能进行简单的强制型转换(int num=(int)string)。在此需要采用string类中的一个方法,一般用法如下:string str_year=string.valueof(year)l switch语句switch语句能够根据表达式的值决定执行多个操作中的一个或者几个。switch的一般格式为:switch (expression)case value1:statement1;break;case valuen:statemendn;break;default:default_statement;expression可以返回任一简单类型的值,case子句中的值valuei必须是常量,而且所有case子句中的值应是不同的。多分支语句把表达式返回的值与每个case 子句中的值相比,如果匹配成功,则执行该case子句后的语句序列,否则执行default中的语句;如果没有default,则不进行任何操作。而case字句中的break用于跳出switch,如果没有break,则switch会顺序执行下个case中的语句,直至遇到break语句或者执行完所有的case或者default语句。 switch语句中使用的表达式必须为整型表达式或不丢失便可显式地转换为整型的表达式。不丢失便可显式地转换为整型的数据类型包括字节、字符和短型数。对于长型数、浮点数和双精度数等数据类型,需明确地转换。case值必须能够求值或编译时能隐含地转换为整型的常量表达式。图62 程序流程图l 程序实现过程可以先获取系统的日期,然后将月份和日期统一成二位整型的格式,再将获取的系统时间拼成字符串,最后利用for循环和swtich语句获取中文时间信息并显示。图62显示程序流程图2、部分程序关键源码(exer6.jsp)% date dtt=new date();int year=dtt.getyear();year+=1900;/获取月份int month=dtt.getmonth();month+=1;/获取日期int date=dtt.getdate();/获取星期int day=dtt.getday();/将int型转换为stringstring str_year=string.valueof(year);string str_month=string.valueof(month);string str_date=string.valueof(date);string str_day=string.valueof(day);/将月份和日期统一成二位整型if(str_month.length()=1)str_month=0+str_month;if(str_date.length()=1)str_date=0+str_date;/将获取的系统时间拼成字符串string str_i=str_year+str_month+str_date+str_day;string chi_num=;string chi_num_total=;char cha_i= ;string chi_year=null;string chi_month=null;string chi_date=null;string chi_day=null;/用for循环和switch语句获取中文时间信息for(int j=0;j四、实验思考l 上述exer6.jsp中,for循环体中有这样一段语句:if(j=4|j=6) if(cha_i=1)|(cha_i=0) chi_num_total=; if(cha_i!=0) chi_num_total+=十;试问:如果将语句改成:if(j=4|j=6) if(cha_i=0) chi_num_total=; else chi_num_total+=十;这样修改能不能正确显示,为什么?五、综合实验l 判断服务端时间并显示中文问候编写jsp程序,运行后,程序将根据服务端的不同时间段,在浏览器上显示“早上好”、“中午好”、“下午好”和“晚上好”,如图63所示。图63 显示结果提示:利用date类的gethours()函数可得到24小时制的服务器端时间,并根据当前时间来判断是何段时间:511点:早上;1114点:中午1418点:下午;18点5点:晚上实验七 jsp内置对象(4课时)一、实验目的(1)掌握jsp中内置request对象的使用(2)掌握response对象的使用,并熟悉setcontenttype方法(3)掌握out对象的使用二、实验工具(1)jdk1.4、jdk1.5或jdk1.6,可以从sun公司的网站免费下载(2)编辑工具:记事本或dreamweaver mx 2004、frontpage 2003(3)tomcat服务器,也可以从网上免费下载三、实验内容与步骤1、request对象的使用(获取表单中提交的信息)在jsp中,当用户通过浏览器请求一个页面时,浏览器将请求发送给服务器。按照http协议,浏览器发送的请求具有一定的结构,请求包括一个请求行、头域和表单提交的信息体。使用request对象,可以获取用户浏览器提交的请求信息。request对象常用的方法是getparameter(string s),该方法获取表单提交的信息。1)在root目录下编
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 路基技术员试题及答案
- 社区护理-学自学考试分章节复习试题(含答案1-4章)
- 2025年药店药品采购协议范本
- 2025设计师标准劳动合同书
- 2025公司终止合同证明样本
- 2025年春季部编版初中数学教学设计八年级下册第2课时 正比例函数的图像与性质
- 2025企业购房合同协议书范本
- 公司餐厅安全知识培训课件
- 公司财务知识培训的意义
- 公司财务报税知识培训课件
- 重庆市沙坪坝区人民医院消防安全整改工程施工方案
- 实验中学初一新生分班考试数学试卷附答案
- 施工组织设计施工总体部署完整版
- 天津电网规划设计技术原则
- YY 0054-2010血液透析设备
- LY/T 2383-2014结构用木材强度等级
- GB/T 8017-2012石油产品蒸气压的测定雷德法
- GB/T 528-2009硫化橡胶或热塑性橡胶拉伸应力应变性能的测定
- 中日关系历史
- 2023年江苏省中学生生物学竞赛(奥赛)初赛试题和答案
- DB32-T 3129-2016适合机械化作业的单体钢架塑料大棚 技术规范-(高清现行)
评论
0/150
提交评论