1、理学jsp实验报告理学jsp实验报告课程名称: JSP程序设计 年 级: 2010级 专 业:信息管理与信息系统 姓 名: 学 号: 指导教师: 实验地点:管理学院综合实验室 20 学年至 20 学年度第 2 学期 第一章 JSP简介 实验 Tomcat服务器的安装与配置 一、实验目的 本实验的目的是让学生掌握怎样设置Web服务目录、怎样访问Web服务目录下的JSP页面、怎样修改Tomcat服务器的端口号。 二、实验要求 1、将下载的apache-tomcat-6.0.13.zip解压到D盘中,并进行调试。 2、用文本编辑器编写一个简单的JSP页面biao.jsp,并保存到Web服务目录中。
2、三、实验结果 所运行的代码如下; biao.jsp 乘法表 % for(int j=1;j=9;j+) for(int i=1;i=j;i+) int n=i*j; out.print(i+j+=+n+ ); out.print(); % biao.jsp页面 四、实验结果分析 1、默认的端口号为8080,若修改,在conf目录下的server.xml文件中修改端口号。 2、设置虚拟目录。在conf目录下的server.xml中前加入: 3、Tomcat服务器必须保持启动。 第二章 JSP页面与JSP标记 实验1 JSP页面的基本结构 一、实验目的 本实验的目的是让学生掌握怎样在JSP页面中使
3、用成员变量,怎样使用Java程序Java表达式。 片、二、实验要求 本实验将用户输入的单词按字典顺序排序。需要编写两个JSP页面,名字分别为inputWord.jsp和showDictionary.jsp。 三、实验内容 1) inputWord.jsp页面有一个表单,用户通过该表单输入若干个单词,并提交给showDictionary.jsp页面。 2) showDictionary.jsp负责排序单词,并将排序的全部单词显示给用户。 四、实验结果 实验所用代码如下: inputWord.jsp 请输入单词(用空格分隔): showDictionary.jsp %! TreeSetdictio
4、nary=new TreeSet(); public void addWord(String s) String word = s.split( ); for(int i=0;i % String str = request.getParameter(word); addWord(str); Iteratorte=dictionary.iterator(); while(te.hasNext() String word = te.next(); out.print( +word); % inputWord.jsp页面 showDictionary.jsp页面 五、实验结果分析 1、jsp页面由
5、html标记、jsp标记、成员变了和方法的声明、java程序片和java表达式组成。 2、jsp页面中的成员变量是被所有用户共享的变量。Java程序片可以操作成员变了,任何一个用户对jsp页面成员变量操作的结果,都会影响到其他用户。 实验2 JSP指令标记 一、实验目的 本实验的目的是让学生掌握怎样在JSP页面中使用include指令标记在JSP页面中静态插入一个文件内容。 二、实验要求 该实验要求使用include指令标记使得每个页面都包含导航条。在进行试验之前,将名字是leader.txt的文件保存到本实验所使用的web服务目录中。 三、实验内容 leader.txt编写3个JSP页面。
6、1) frist.jsp使用include指令静态插入leader.txt文本文件。 2) second.jsp使用include指令静态插入leader.txt文件。 3) third.jsp使用include指令静态插入leader.txt。 四、实验结果 所运行代码如下:leader.txt 链接到页面1 链接到页面2 链接到页面3 first.jsp 这是页面1 second.jsp 这是页面2 third.jsp 这是页面3 frist.jsp页面 second.jsp页面 third.jsp页面 五、实验结果分析 1、include指令标记是在jsp页面出现该指令的位置处,静态的插
7、入一个文 件。被插入的文件必须是可访问和可使用的。Include指令标记是在编译阶段就处理所需要的文件,被处理的文件在逻辑和语法上依赖与当前jsp页面,优点是执行速度快。 实验3 JSP动作标记 一、实验目的 本实验的目的是让学生掌握怎样在JSP页面中使用include标记动态加载文件,使用forward实现页面的转向。 二、实验要求 编写三个JSP页面:giveFileName.jsp、readFile.jsp和error.jsp。 三、实验内容 1)giveFileName.jsp页面使用include动作标记动态加载readFtle.jsp页面,并将一个文件的名字ok.txt传递给被加载
8、的readFtle.jsp页面。 2)readFile.jsp页面负责根据giveFileName.jsp页面传递过来的文件名字进行文件的读取操作,如果该文件不存在就使用forward动作标记将用户转向error.jsp。 3)error.jsp负责显示错误信息。 四、实验结果 实验所用代码如下: giveFileName.jsp 读取名字是ok.txt的文件: readFile.jsp This is readFile.jsp. % String s= request.getParameter(file); File f=new File(s); if(f.exists() out.prin
9、tln(文件+s+的内容:); FileReader in=new FileReader(f); BufferedReader bIn=new BufferedReader(in); String line=null; while(line=bIn.readLine()!=null) out.println(+line); else % error.jsp This is error.jsp. % String s= request.getParameter(mess); out.println(本页面得到的信息:+s); % giveFileName.jsp页面 error.jsp页面 五、
10、实验结果分析 1、include动作标记是在jsp页面运行时才处理加载的文件,被加载的文件在逻辑和语 法上独立与当前jsp页面,include指令标记可以使用param子标记向被加载的jsp 文件传递信息。第三章 Tag文件与Tag标记 实验1 JSP页面的基本结构 一、实验目的 本实验的目的是让学生灵活掌握在Tag标记中使用标记体。 二、实验要求 编写一个JSP页面giveMess.jsp和一个Tag文件handleMess.tag。JSP页面通过调用Tag文件在表格中的单元格显示文本,该JSP页面通过使用标记体将要显示的文件传递给被调用的Tag文件。 三、实验内容 1)giveMess.j
11、sp页面使用带标记体的tag标记来调用tag文件。 2)handleMess.tag使用处理标记体,将标记体给出的文本显示在表格的单元格中。 四、实验结果 实验所用代码如下: 实验1 giveMess.jsp 表格每行重复显示信息 南非世界杯 冠军是西班牙 亚军是荷兰 handleMess.tag giveMess.jsp页面 五、实验结果分析 1、tag文件中可以有html标记符、特殊的指令标记、成员变了和方法、java程序片和java表达式。 2、jsp页面使用tag标记动态执行一个tag文件。 3、当jsp页面调用一个tag文件时可能希望动态地向该tag文件传递信息,那么就可以使用带有标
12、记体的tag标记来执行一个tag文件。 实验2 使用attribute指令 一、实验目的 本实验的目的是让学生灵活掌握在Tag标记中使用attribute指令。 二、实验要求 编写一个Tag文件ShowCalendar.tag,该Tag文件负责显示日历。编写一个JSP页面giveYearMonth.jsp,该JSP页面使用Tag标记调用ShowCalendar.tag文件,并且向ShowCalendar.tag文件传递年份和月份。 三、实验内容 1)giveYearMonth.jsp通过tag标记调用ShowCalendar.tag文件,并且向ShowCalendar.tag文件传递年份和月份
13、。 2)ShowCalendar.tag文件根据jsp页面传递过来的年份和月份显示日历。该文件能对jsp页面传递过来的数据进行判断,比如,如果jsp页面传递过来的数据不是数值型数据,tag文件负责显示错误信息。 四、实验结果 实验所用代码如下: 实验2 giveYearMonth.jsp 调用Tag文件来显示日历. ShowCalendar.tag % int y=1999,m=1; String day=new String42; try y=Integer.parseInt(year); m=Integer.parseInt(month); Calendar rili=Calendar.g
14、etInstance(); rili.set(y,m-1,1);/将日历翻到year年month月1日,注意0表示一月11表示十二月 int 星期几=rili.get(Calendar.DAY_OF_WEEK)-1; int dayAmount=0; if(m=1|m=5|m=7|m=8|m=10|m=12) dayAmount=31; if(m=4|m=6|m=9|m=11) dayAmount=30; if(m=2) if(y%4=0)&(y%100!=0)|(y%400=0) dayAmount=29; else dayAmount=28; for(int i=0;i星期几;i+) da
15、yi=-; for(int i=星期几,n=1;i星期几+dayAmount;i+) dayi=String.valueOf(n); n+; for(int i=星期几+dayAmount;i 年月的日历: 星期日星期一星期二星期三星期四星期五星期六 % for(int n=0;n % for(int i=n;i giveYearMonth.jsp页面五、实验结果分析 1、一个tag文件中通过使用attribute指令,使得jsp页面在调用tag文件时,可以 向该tag文件中的对象传递一个引用。 tag文件中使用attribute指令: 实验3 使用variable指令 一、实验目的 本实验的
16、目的是让学生灵活掌握在Tag标记中使用variable指令。 二、实验要求 编写一个Tag文件GetWord.tag,负责分解出字符串中的全部单词,并将分解出的全部单词返还给调用该Tag文件的JSP页面。编写一个JSP页面giveSoring.jsp,该页面负责向Tag文件传递一个由英文单词构成的字符串,并负责显示Tag文件返回的全部单词。 三、实验内容 1)giveSoring.jsp通过tag标记调用GetWord.tag,并传递一个由英文单词构成的字符串,显示tag文件返回的全部单词。 2)GetWord.tag使用attibute指令得到jsp页面传递过来的字符串,并用vatiable
17、指令返回全部的单词。 四、实验结果 实验所用代码如下: giveString.jsp words:GetWord str=/ 字符串:中的全部单词: % for(int i=0;i wordList.size();i+) out.print(+wordList.get(i); % GetWord.tag % ArrayListlist=new ArrayList(); String regex=sdpPunct+; String words=str.split(regex); for(int i=0;i giveSoring.jsp页面 五、实验结果分析 1、Tag文件可以使用variable
18、指令把一个对象返回给调用它的jsp页面 Tag文件使用variable指令给出返回的对象的名字、类型和有效范围: 第4章 JSP内置对象 实验1 request对象 一、实验目的 本实验的目的是让学生掌握怎样在JSP中使用内置对象request。 二、实验要求 通过JSP页面和Tag文件实现数字的四则运算,要求编写两个JSP页面inputNumber.jsp和receiveNumber.jsp及一个Tag文件Computer.tag。receiveNumber.jsp使用内置对象接受inputNumber.jsp提交的数据,然后将计数任务交给Tag文件Computer.tag去完成。 三、实验内容 1)inputNumber.jsp页面提供一个表单,用户可以通过表单输入两个数、选择四则运算符号,并将输入的两个数和所选择的运算符号提交给receiveNumber.jsp页面。 2)receiveNumber.jsp使用内置对象inputNumber.jsp页面提交的数据,然后将计算任
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2