软 件 工 程 系
《JSP应用技术》
实验指导书
专业班级: 软件11-1、2 指导教师: 朱亚玲
1
实验一 JSP开发环境的搭建
一、 实验目的
1. 熟练掌握Tomcat服务器的安装与配置,为后续实验做好准备工作; 2. 掌握Web服务目录的设置;
3. 熟练掌握Web服务目录下JSP页面的访问; 4. 掌握Tomcat服务器端口号的修改。
二、 实验环境与地点
PC机一台:JDK6.0+Tomcat6.0+编辑器
三、 实验内容与步骤
1.Tomcat服务器的安装与配置;
(1) 下载jdk6.0进行安装,同时配置系统变量PATH与CLASSPATH。 (2) 下载Tomcat6.0,将其安装到硬盘的某个分区,如D:\\。
2.Web服务目录的设置;
(1) 在D:\\下新建一个目录,名称为student,将student目录设置为Web服务目录,并为该Web
服务目录指定名字为friend的虚拟目录。打开Tomcat目录中conf文件夹里的 文件,找到出现的部分。然后在的前面加入:
3.JSP页面的访问; (1) 使用“记事本”编写一个简单的JSP页面,文件名用自己的姓名拼音命名(如张三: zhangSan.jsp),文件名是 ,并保存到Web服务目录student中。 (2) 打开上一步建立的JSP页面进行编辑,使其页面运行起来时显示你的专业、班级、学号,姓 名。 (3) 在浏览器的地址栏中输入Tomcat服务器的IP地址和端口号,并通过虚拟目录friend访问 Web服务目录student中第2步编辑后的JSP页面,访问路径是: 。 (4) 画出第3步JSP页面的运行效果图。 四、 实验总结与分析 1. 2. 3. 2 实验二 JSP语法的练习 一、 实验目的 1. 2. 3. 4. 初步了解JSP的运行; 掌握JSP的语法规则; 能编写简单的JSP应用程序; 熟练掌握成员变量、Java程序片和表达式在JSP中的应用; 二、 实验环境与地点: PC机一台:JDK6.0+Tomcat6.0+编辑器 三、 实验内容与步骤: 在webapps目录下新建一个Web服务目录:chapter2。将以下编写的JSP页面保存到chapter2中。 1. 编写JSP程序sum.jsp,该页面输出1到100的连续和。写出sum.jsp页面中输出1到100的连续和的程序片段 <% int sum=0; for(int i=1;i<=100;i++){ sum=sum+i; } out.println(\ %> 2. 完成课本23页习题2的第5题。 (1) 写出a.jsp文件的代码。 (2) 画出运行结果。 (3) <%@ page contentType=\%> (4) size=3> (5) (9)
3
3. 将给定的DispDate.java源文件“改造”成jsp文件,在IE浏览器中运行,要求输出结果如右图所示。写出改造的jsp文件的代码。
四、 实验总结与分析
4
回答课本23页习题2的第1题,第2题。
1.“<%!”和“%>”之间声明的变量与“<%”和“%>”之间声明的变量有何不同? 答:“<%!”和“%>”之间声明的变量在整个JSP页面内都有效,称为JSP页面的成员变量,成员变量的有效范围与标记符号<%!、%>所在的位置无关。所有用户共享JSP页面的成员变量,因此任何一个用户对JSP页面成员变量操作的结果,都会影响到其他用户。
“<%”和“%>”之间声明的变量称为局部变量,局部变量在JSP页面后继的所有程序片以及表达式部分内都有效。运行在不同线程中的Java程序片的局部变量互不干扰,即一个用户改变Java程序片中的局部变量的值不会影响其他用户的Java程序片中的局部变量。当一个线程将Java程序片执行完毕,运行在该线程中的Java程序片的局部变量释放所占的内存。
2.如果有两个用户访问一个JSP页面,该页面中的Java程序片将被执行几次? 答:两次。
DispDate.java import java.util.*;
public class DispDate { public String getTime(String str) { StringTokenizer cat = new StringTokenizer(str, \ String temp = null; int num = 0; while (cat.hasMoreTokens() && num++ < 4) { temp = cat.nextToken(); } return temp; } public static void main(String[] args) { DispDate ob = new DispDate(); Date dt = new Date(); String str = dt.toString(); System.out.println(); System.out.println(\对象对应的日期为:\ System.out.println(); String thisTime = ob.getTime(str); System.out.println(\当前时间为:\ } }
5