JSP程序设计实验指导书
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《JSP编程》教学及实验大纲
《JSP编程》课程实验指导书说明与约定
一、编写原则
编写本指导书的指导原则是:以适应市场经济对计算机专业人才的需要和学生就业需求为宗旨,以学生的实践动手能力培养为重点,突出学生学习的主体地位,给定题目及要求,以学生为主,独立或小组协作完成;鼓励学生创新;实验过程中和课余的其他时间,教师应以辅导、指导、引导为主要教学手段;加强考核,以实践能力考核为指挥棒,促使学生重视程序设计能力的提高。
二、总体要求
实验课之前要写出实验预习报告(重点:实验名称、源代码)。体现Java编程风格(源代码缩进Tab4,块花括号在类、方法名同行,等等),每个类、每个方法都要有功能说明,其说明用文档注释方式表示/*……*/。
实验一JSP页面与JSP标记(4学时)
一、实验目的
1.掌握JDK的安装配置
2.熟悉Tomcat的配置
3.测试JSP的运行环境
4.掌握JSP的页面的基本结构
5.掌握JSP的指令标记和动作标记
二、实验要求
1.实验课之前,下载最新版本的JDK和Tomcat,并在自备微机上安装配置。
2.实践内容:根据实验任务1~任务3要求,编写程序,调试运行。
3.该实验共有3个任务。要求在webapps目录下新建一个Web服务目录:test1。除特别要求外,本章实验中涉及的JSP页面均保存在test1中。
任务1JSP页面的基本结构
1.相关知识点
一个JSP页面可由普通的HTML标记、JSP标记、成员变量和方法的声明、Java 程序片以及Java表达式组成。JSP引擎把JSP页面中的HTML标记交给用户的浏览器执行显示;JSP引擎负责处理JSP标记、变量和方法声明;JSP引擎负责运行Java程序片、计算Java 表达式,并将需要显示的结果发送给用户的浏览器。
JSP页面中的成员变量是被所有用户共享的变量。Java 程序片可以操作成员变量,任何一个用户对JSP页面成员变量操作的结果,都会影响到其他用户。如果多个用户访问一个JSP页面,那么该页面中的Java程序片就会被执行多次,分别运行在不同的线程中,即运行在不同的时间片内。运行在不同线程中的Java程序片的局部变量互不干扰,即一个用户改变Java程序片中的局部变量的值不会影响其他用户的Java程序片中的局部变量。
2.实验目的
本实验的目的是让学生掌握怎样在JSP页面中使用成员变量,怎样使用Java程序片、Java表达式。
3.实验要求
编写两个JSP页面,分别为inputName.jsp和people.jsp。
(1)inputName.jsp的具体要求
该页面有一个表单,用户通过该表单输入自己的姓名并提交给people.jsp页面。
(2)people.jsp的具体要求
该页面有名字为person、类型是StringBuffer以及名字是count、类型为int的成员
变量。
该页面有public void judge ()方法。该方法负责创建person对象,当count的值是0
时,judge ()方法创建person对象。
该页面有public void addPerson(String p)方法,该方法将参数p指定的字符串添加到
成员变量person末尾,同时将count作自增运算。
该页面在程序片中获取inputName.jsp页面提交的姓名,然后调用judge()创建person
对象、调用addPerson方法将用户的姓名添加到成员变量person末尾。
如果inputName.jsp页面没有提交姓名,或姓名含有的字符个数大于10,就使用
通过Java表达式输出person和count的值。
4.JSP页面效果示例
inputName.jsp(效果如图1-1所示)
图1-1 输入姓名
people.jsp(效果如图1-2所示)
图1-2 显示姓名和人数
5.参考代码
代码仅供参考,学生可按照实验要求,参考本代码编写代码。
JSP页面参考代码
inputName.jsp
<%@ page contentType="text/html;charset=GB2312" %>
people.jsp
<%@ page contentType="text/html;charset=GB2312" %>
<%!
int count;
StringBuffer person;
public void judge()
{
if(count==0)
person=new StringBuffer();
}
public void addPerson(String p)
{
if(count==0)
{
person.append(p);
}
else
{
person.append(","+p);
}
count++;
}
%>
<%
String name=request.getParameter("name");
byte bb[]=name.getBytes("iso-8859-1");
name=new String(bb);
if(name.length()==0||name.length()>10)
{
%>
<% }
judge();
addPerson(name);
%>
目前共有<%=count%>人浏览了该页面,他们的名字是:
<%=person%>
任务2JSP指令标记
1.相关知识点
page 指令<%@ page 属性1="属性1的值" 属性2= "属性2的值" …%>用来定义整个JSP页面的一些属性和这些属性的值。比较常用的两个属性是contentType和import。page