JSP程序设计实验指导书

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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,就使用标记将用户转到inputName.jsp页面。

通过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