中南民族大学管理学院学生实验报告
课程名称: JSP程序设计
年级: 2010
专业:
姓名:
学号:
指导教师:
实验地点:管理学院综合实验室
学年至学年度第学期
第一章 JSP简介
实验 Tomcat服务器的安装与配置
一、实验目的
本实验的目的是让学生掌握怎样设置Web服务目录、怎样访问Web服务目录下的JSP 页面、怎样修改Tomcat服务器的端口号。
二、实验要求
1、将下载的apache-tomcat-6.0.13.zip解压到硬盘某个分区,比如D。
2、在硬盘分区D下新建一个目录,名字为student,见stuent设置为Web服务目录,并为该Web服务目录指定名字为good的虚拟目录。
3、修改端口号为5678.在server.xml文件中找到修改端口号的部分,将端口号修改为
5678.
4、启动Tomcat服务器。
5、用文本编辑器编写一个简单的JSP页面biao.jsp,并保存到Web服务目录student
中。
6、用浏览器访问Web服务目录student中的jsp页面biao.jsp。
三、实验内容
1、Tomcat安装成功并运行
2、编码实现乘法表
3.代码
四、实验结果
biao.jsp页面
五、实验结果分析
1、默认的端口号为8080,若修改,在conf目录下的server.xml文件中修改端口号。
2、设置虚拟目录。在conf目录下的server.xml中前加入:
3、Tomcat服务器必须保持启动。
第二章 JSP页面与JSP标记
实验1 JSP页面的基本结构
一、实验目的
本实验的目的是让学生掌握怎样在JSP页面中使用成员变量,怎样使用Java程序片、Java表达式。
二、实验要求
本实验将用户输入的单词按字典顺序。需要编写两个JSP页面,名字分别为inputWord.jsp和showDictionary.jsp。
1、inputWord.jsp的具体要求
该页面有一个表单,用户通过将该表单输入若干个单词,并提交给showDictionary.jsp 页面。
2、showDictionary.jsp的具体要求
该页面负责排序单词,并将排序的全部单词显示给用户。
(1)该JSP页面有个名字为dictionary、类型是TreeSet成员变量。
(2)该JSP页面有public void addWord (String s)方法,该方法将参数s指定的字符串添加到成员变量dictionary中。
(3)该JSP页面在程序片中操作dictionary,即显示全部的单词。
三、实验内容
1)inputWord.jsp页面有一个表单,用户通过该表单输入若干个单词,并提交给showDictionary.jsp页面。
2)showDictionary.jsp负责排序单词,并将排序的全部单词显示给用户。
3)代码
四、实验结果
inputWord.jsp页面
showDictionary.jsp页面
五、实验结果分析
1、jsp页面由html标记、jsp标记、成员变了和方法的声明、java程序片和java表达式组成。
2、jsp页面中的成员变量是被所有用户共享的变量。Java程序片可以操作成员变了,任何一个用户对jsp页面成员变量操作的结果,都会影响到其他用户。
实验2 JSP指令标记
一、实验目的
本实验的目的是让学生掌握怎样在JSP页面中使用include指令标记在JSP页面中静态插入一个文件内容。
二、实验要求
该实验要求使用include指令标记使得每个页面都包含有导航条。在进行实验之前将名字是leader.txt的文件保存到本实验所使用的web服务目录中。
实验要求编写3个JSP页面,具体要求如下。
first.jsp的具体要求
first.jsp使用include指令静态插入leader.txt.
second.jsp的具体要求
second.jsp使用include指令静态插入leader.txt.
third.jsp的具体要求
third.jsp使用include指令静态插入leader.txt.
三、实验内容
leader.txt编写3个JSP页面。
1)frist.jsp使用include指令静态插入leader.txt文本文件。
2)second.jsp使用include指令静态插入leader.txt文件。
3)third.jsp使用include指令静态插入leader.txt。
3)代码
1
2.
3.
4.
4)
四、实验结果
frist.jsp页面
second.jsp页面
third.jsp页面
五、实验结果分析
1、include指令标记是在jsp页面出现该指令的位置处,静态的插入一个文件。被插入的文件必须是可访问和可使用的。Include指令标记是在编译阶段就处理所需要的文件,被处理的文件在逻辑和语法上依赖与当前jsp 页面,优点是执行速度快。
实验3 JSP动作标记
一、实验目的
本实验的目的是让学生掌握怎样在JSP页面中使用include标记动态加载文件,使用forward实现页面的转向。
二、实验要求
编写3个JSP页面:giveFileName.jsp、readFile.jsp和error.jsp。
1、giveFileName.jsp的具体要求
要求giveFileName.jsp页面使用include动作标记动态加载readFile.jsp页面,并将一个文件的名字比如ok.txt传递给被加载的readFile.jsp页面。
2、readFile.jsp的具体要求
要求readFile.jsp负责根据giveFileName.jsp页面传递过来的文件名字进行文件
的读取操作,如果该文件不存在就使用
Forward动作标记将用户转向error.jsp页面。
3、error.jsp的具体要求
负责显示错误信息。
三、实验内容
1)giveFileName.jsp页面使用include动作标记动态加载readFtle.jsp页面,并将一个文件的名字ok.txt传递给被加载的readFtle.jsp页面。
2)readFile.jsp页面负责根据giveFileName.jsp页面传递过来的文件名字进行文件的读取操作,如果该文件不存在就使用forward动作标记将用户转向error.jsp。
3)error.jsp负责显示错误信息。
4)代码
四、实验结果
giveFileName.jsp页面
error.jsp页面
五、实验结果分析
1、include动作标记是在jsp页面运行时才处理加载的文件,被加载的文件在逻辑和语
法上独立与当前jsp页面,include指令标记可以使用param子标记向被加载的jsp 文件传递信息。
第三章 Tag文件与Tag标记
实验1 JSP页面的基本结构
一、实验目的
本实验的目的是让学生灵活掌握在Tag标记中使用标记体。
二、实验要求
编写一个JSP页面giveMess.jsp和一个Tag文件handleMess.tag。JSP页面通过调用Tag文件在表格中的单元格显示文本,该JSP页面通过使用标记体将要显示的文件传递给被调用的Tag文件。
三、实验内容
1、giveMess.jsp页面使用带标记体的Tag标记来调用Tag文件,其中标记体是一行文本,如下所示:
南非世界杯
2、handelMess.tag使用
3、分别写出giveMess.jsp和handelMess.tag的代码。
4.代码
四、实验结果
giveMess.jsp页面
五、实验结果分析
1、tag文件中可以有html标记符、特殊的指令标记、成员变了和方法、java程序片和java表达式。
2、jsp页面使用tag标记动态执行一个tag文件。
3、当jsp页面调用一个tag文件时可能希望动态地向该tag文件传递信息,那么就可以使用带有标记体的tag标记来执行一个tag文件。
实验2 使用attribute指令
一、实验目的
本实验的目的是让学生灵活掌握在Tag标记中使用attribute指令。
二、实验要求
编写一个ShowCalendar.tag文件,该Tag文件负责显示日历。编写一个JSP页面giveYearMonth.jsp,该JSP页面使用Tag标记调用ShowCalendar.tag文件,并且向ShowCalendar.tag文件传递年份和月份。
三、实验内容
1、giveYearMonth.jsp通过tag标记调用ShowCalendar.tag文件,并且向
ShowCalendar.tag文件传递年份和月份。
2、ShowCalendar.tag文件根据jsp页面传递过来的年份和月份显示日历。该文件能对
jsp页面传递过来的数据进行判断,比如,如果jsp页面传递过来的数据不是数值型数据,tag文件负责显示错误信息。
4.代码
四、实验结果
giveYearMonth.jsp页面
五、实验结果分析
1、一个tag文件中通过使用attribute指令,使得jsp 页面在调用tag文件时,可以向该tag文件中的对象传递一个引用。
tag文件中使用attribute指令:
<%@ attribute name="对象名字" required="true"|"false" type="对象的类型"%>
实验3 使用variable指令
一、实验目的
本实验的目的是让学生灵活掌握在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
指令返回全部的单词。
3.代码
四、实验结果
giveSoring.jsp页面
五、实验结果分析
1、Tag文件可以使用variable指令把一个对象返回给调用它的jsp页面
Tag文件使用variable指令给出返回的对象的名字、类型和有效范围:
<%@ variable name-given=“对象名字”variable-class=“对象的类型”
scope=“有效范围”%>
第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页面提交的数据,然后将计算任务交给Tag文件Computer.tag去完成。
3)要求Computer.tag使用attribute指令得到receiveNumber.jsp页面传递过来的书和运算符号,使用variable指令将运算结果返回给receiveNumber.jsp页面。
4)代码
四、实验结果
inputNumber.jsp页面
receiveNumber.jsp页面
五:实验结果分析
1、内置对象request的作用就是用来接收客户端提交的请求
2、request对象用的比较多的方法是getParameter方法。
request对象的getParameter方法根据指定的参数,获取客户端提交的信息。其语法规则如下:
<% String name=request.getParameter (“txtName”)%>
其中,name是一个字符串变量。txtName是客户端提交信息中的一个字段名。
3、下面的就是在实验里面request的使用
<%
String a=request.getParameter("numberOne");
String b=request.getParameter("numberTwo");
String operator=request.getParameter("operator")
实验2 responese对象
一、实验目的
本实验的目的是掌握怎样使用response对象动态响应用户的请求。
二、实验要求
编写两个JSP页面inputRadius.jsp和drawCircle.jsp页面,drawCircle.jsp页面使用response对象做出动态响应。
三、实验内容
1)inputRadius.jsp提供表单,用户在表单中输入一个代表圆的半径的数字,提交给drawCircle.jsp页面。
2)drawCircle.jsp页面首先使用request对象获得inputRadius.jsp提交的数字,然后根据数字的大小做出不同的响应。如果数字小于等于0或者大于100,response对象调用setCountType(String s)方法将contentType属性的值设置为text/plain,同时输出“半径不合理”;如果数字大于0并且小于等于100,response对象调用setContentType(String s)方法将contentType属性的值设置为image/jpeg,并绘制一个圆;如果用户在inputRadius.jsp页面输入了非数字,response对象调用sendRedirect(URL url)方法将用户重定向到inputRadius.jsp。
3)代码
四、实验结果
1、在输入要求的范围以内:
inputRadius.jsp页面
drawCircle.jsp页面
2、当输入的数据不符合要求的结果显示:
inputRadius.jsp页面
drawCircle.jsp页面
五、实验结果分析:
1、response的作用就是把服务器端的数据以HTTP的格式发送到客户
端浏览器
2、与request相比,它的功能和request对象的功能相反。request
对象用于得到用户提交的信息而response对象是向用户发送信息,两者结合起来完成动态页面的交互功能。
3、response对象的主要方法:
sendRedirect():页面重定向方法
setStatus():设置状态行方法
setContentType():设置文本类型方法
实验3 session对象
一、实验目的
本实验的目的是让学生掌握怎样使用session对象存储和用户有关的数据。
二、实验要求
使用session对象模拟购物车。编写两个JSP页面choiceBook.jsp和orderForm.jsp。
三、实验内容
1)用户在choiceBook.jsp页面通过超链接将自己要购买的图书信息传递到orderForm.jsp页面。
2)orderForm页面将用户购买的图书信息存储到session对象中,然后生成一个图书订单并显示给用户。
3)代码
《jsp程序设计》 Jsp课程设计实验报告 题目学生成绩管理系统 专业 班级 姓名 指导教师 2011年6月28日
目录 一、绪论----------------------------------------------------------------------------------------------------------------- 3 1、系统开发背景 ----------------------------------------------------------------------------------------------- 3 2、项目开发的目标-------------------------------------------------------------------------------------------- 3 3、系统开发所用的技术设备------------------------------------------------------------------------------- 3 二、需求分析 ---------------------------------------------------------------------------------------------------------- 3 1、系统需求分析 ----------------------------------------------------------------------------------------------- 3 2、用户需求 ----------------------------------------------------------------------------------------------------- 4 3、系统框架图如下: ---------------------------------------------------------------------------------------- 5 4、系统设计思想 ----------------------------------------------------------------------------------------------- 5 5、系统设计分析 ----------------------------------------------------------------------------------------------- 5 三、数据库的设计---------------------------------------------------------------------------------------------------- 6 1、本系统将数据存储在七个表中,这七个表分别是 ---------------------------------------------- 6 2、建立数据库的命令如下:------------------------------------------------------------------------------- 8 3、建立数据表的命令如下:------------------------------------------------------------------------------- 8 四、关键技术及代码------------------------------------------------------------------------------------------------- 9 1、管理员登录代码-------------------------------------------------------------------------------------------- 9 2、从数据库中获取用户名和密码的代码。 --------------------------------------------------------- 10 3、留言板的相关代码。 ----------------------------------------------------------------------------------- 12 五、测试--------------------------------------------------------------------------------------------------------------- 16 1、登录界面的测试: -------------------------------------------------------------------------------------- 16 2、查询页面: ------------------------------------------------------------------------------------------------ 18 3、添加页面: ------------------------------------------------------------------------------------------------ 18 4、删除页面: ------------------------------------------------------------------------------------------------ 19 5、修改页面 --------------------------------------------------------------------------------------------------- 20 六、总结--------------------------------------------------------------------------------------------------------------- 20 七、参考文献 -------------------------------------------------------------------------------------------------------- 20
实验1 网页程序设计-JavaScript 一、实验目的 1. 掌握JavaScript技术,基本掌握JavaScript的开发技巧; 2. 利用文本编辑器建立JavaScript脚本语言进行简单编程。 二、实验要求: 1. 根据以下实验内容书写实验准备报告。 2. 独立完成实验。 三、实验内容 1.显示一个动态的时钟 在文本编辑器“记事本”中输入如下代码程序,请仔细阅读下列程序语句,理解每条语句的作用。源程序清单如下:
运行结果:Jsp实验报告 课程设计名称:兼职网站 系:交通运输管理学院学生姓名: 班级: 学号: 成绩: 指导教师: 开课时间:2013学年第2 学期
一.设计题目 兼职网站 二.主要内容 本网站涉及兼职信息、用户信息的数据管理。从管理的角度可将信息分为两类:兼职信息管理、用户数据管理。用户数据管理为用户的登录判定,兼职信息管理包括兼职信息显示及兼职信息的录入、查询和删除。 (1)用户的登录判定 (2)录入兼职的信息,并保存到数据库中 (3)根据用户的需求选择查询方式,查询相关兼职信息 (4)将信息从数据库中删除 三.具体要求 (1)建立数据库表格存储用户数据(用户名及密码)。 (2)建立数据库表格存储兼职信息,主要包括ID、兼职名称、地点、工资和联系方式。 (3)编写jsp 语句连接数据库 (4)利用request函数提交表单,获取输入信息 (5)以SQL语句对数据库进行操作,完成信息的添加,查询及删除等功能。四.进度安排 五.成绩评定 正文 1、系统的需求分析和功能设计 随着电子信息在人们生活中的的使用比重不断增加,人们越来越习惯在网站上查找自己所需
要的信息不仅仅只是因其快捷,更因其接触的面更加广泛,信息的基础量足够大,足以满足人们更加细化的需求。在寻找兼职体验工作生活或赚取生活费用时,可以减少时间的浪费及其他不必要的消耗。 本网站涉及兼职信息、用户信息的数据管理。从管理的角度可将信息分为两类:兼职信息管理、用户数据管理。用户数据管理为用户的登录判定,兼职信息管理包括兼职信息显示及兼职信息的录入、查询和删除。用户登录后可以根据自己的需要对信息进行添加、查询和删除的操作 2、源程序及注释 主页:<%@page language="java"contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>