中南民族大学管理学院学生实验报告
课程名称:JSP程序设计_________
年级:2010级 _________________
专业:信息管理与信息系统
姓名: ________________
学号: _____________
指导教师: ________________
实验地点:管理学院综合实验室
20 学年至20 学年度第2学期
第一章JSP 简介
实验Tomcat 服务器的安装与配置
一、 实验目的
本实验的目的是让学生掌握怎样设置 Web 服务目录、怎样访问 Web 服务目录下的 页面、怎样修改Tomcat 服务器的端口号。 二、 实验要求
1、将下载的apache-tomcat-6013.zip 解压到D 盘中,并进行调试。
2 、用文本编辑器编写一个简单的 JSP 页面biao.jsp ,并保存到 Web 服务目录中。
三、 实验结果 所运行的代码如下; biao.jsp
<%@ page co nten tType="text/html;charset=GB2312"%>
for(i nt j=1;j<=9;j++) {
for(int i=1;i<=j;i++) { int n=i*j;
out.print(i+" x "+j+"="+n+"");
}
out.pri nt("
"); } %>
四、实验结果分析
JSP
biao.jsp 页面
1默认的端口号为8080,若修改,在conf目录下的server.xml文件中修改端口号。
2、设置虚拟目录。在conf目录下的server.xml 中前加入:
第二章JSP页面与JSP标记
实验1 JSP页面的基本结构
一、实验目的
本实验的目的是让学生掌握怎样在JSP页面中使用成员变量,怎样使用Java程序
片、Java表达式。
二、实验要求
本实验将用户输入的单词按字典顺序排序。需要编写两个JSP页面,名字分别为
inputWord.jsp 禾口showDictionary.jsp 。
三、实验内容
1) in putWord.jsp 页面有一个表单,用户通过该表单输入若干个单词,并提交给
showDicti on ary.jsp 页面。
2) showDictionary.jsp 负责排序单词,并将排序的全部单词显示给用户。
四、实验结果
实验所用代码如下:
in putWord.jsp
<%@ page co nten tType="text/html;charset=GB2312"%>
in putWord.jsp 页面
请输△单词〔用空格分隔)I |my name is chenfant
showDict ion ary.jsp 页面
chenfang is my name
五、实验结果分析
1、jsp页面由html标记、jsp标记、成员变了和方法的声明、java程序片和java表达式组成。
2、jsp页面中的成员变量是被所有用户共享的变量。Java程序片可以操作成员变了,任何一个用户对jsp页面成员变量操作的结果,都会影响到其他用户。
实验2 JSP指令标记
一、实验目的
本实验的目的是让学生掌握怎样在JSP页面中使用include指令标记在JSP页面中静态
插入一个文件内容。
二、实验要求
该实验要求使用include指令标记使得每个页面都包含导航条。在进行试验之前,将名字是leader.txt 的文件保存到本实验所使用的web服务目录中。
三、实验内容
四、实验结果
所运行代码如下:leader.txt <%@ page co nten tType="text/html;charset=GB2312"%> on d.jsp"> "firsst.jsp"> BGCOLOR=YELLOW> 这是页面1 <%@ in clude file="leader.txt" %> <%@ page co nten tType="text/html;charset=GB2312"%> 这是页面2 <%@ in clude file="leader.txt" %> <%@ page co nten tType="text/html;charset=GB2312"%> 这是页面3 <%@ in clude file="leader.txt" %>
frist.jsp 页面
这是贝面]链接到氏面1链接到氏面2链接到氏面3
sec on d.jsp 页面
这是ME2链接到页面1链接到贝面2链接到页面M
third.jsp 页面
五、实验结果分析 1 、in elude
指令标记是在jsp 页面出现该指令的位置处,静态的插入一个
文
件。被插入的文件必须是可访问和可使用的。
In elude 指令标记是在编译阶段就处理所需要
的文件,被处理的文件在逻辑和语法上依赖与当前 jsp 页面,优点是执行速度快。
leader.txt 1) 2) 3) 编写3个JSP 页面。 指令静态插入 指令静态插入
指令静态插入 frist.jsp
使用 include
sec on d.jsp 使用 in clude third.jsp 使用 include leader.txt 文本文
件。
leader.txt 文件。 leader.txt 。 链接到页面1 链接到页面2 链接到页面 3
□ http: 〃1W D. 0 J :eO0O/shiy anZ/secorid, jsp
实验3 JSP动作标记
一、实验目的
本实验的目的是让学生掌握怎样在JSP页面中使用in elude 标记动态加载文件,使用forward 实现页面的转向。
二、实验要求
编写三个JSP 页面:giveFileName.jsp 、readFile.jsp 禾口error.jsp 。
三、实验内容
1) giveFileName.jsp 页面使用include 动作标记动态加载readFtle.jsp 页面,并将一个文件的名字ok.txt传递给被加载的readFtle.jsp 页面。
2) readFile.jsp 页面负责根据giveFileName.jsp 页面传递过来的文件名字进行文件
的读取操作,如果该文件不存在就使用forward动作标记将用户转向error.jsp 。
3) error.jsp 负责显示错误信息。
四、实验结果实验所用代码如下:giveFileName.jsp
<%@ page co nten tType="text/html;charset=GB2312"%>
读取名字是ok.txt的文件:
readFile.jsp
<%@ page co nten tType="text/html;charset=GB2312"%>
<%@ page import="java.io.*"%>
This is readFile.jsp.
<%
String s= request.getParameter("file");
File f=new File(s);
if(f.exists())
{
out.println(”
文件"+s+"的内容:”);
FileReader in=new FileReader(f);
BufferedReader bln=new BufferedReader(i n);
String line=n ull;
while((li ne=b In .readLi ne())!=n ull)
{
out.pri ntl n( "
"+li ne);
}
}
else
{
%>
<%
}
%>
error.jsp
<%@ page co nten tType="text/html;charset=GB2312"%>
This is error.jsp.
<%
String s= request.getParameter("mess");
out.pri ntln ("
本页面得到的信息:"+s);
%>
giveFileName.jsp 页面
读取名宇是ok. txt的文件i
This 13 reauLF 订已Rp
/apache-tomcat知伽罚曲曰应毗临① 30/webapps/RClOT/okH txt 的内容; 南丰世界杯的冠军昱西班牙
error.jsp 页面
This is error t j sp 本页面得到的信息* null
五、实验结果分析
1、in elude动作标记是在jsp页面运行时才处理加载的文件,被加载的文件在逻辑和语法上独立与
当前jsp页面,in elude指令标记可以使用param子标记向被加载的jsp
文件传递信息。
第三章Tag文件与Tag标记
实验1 JSP页面的基本结构
一、实验目的
本实验的目的是让学生灵活掌握在Tag标记中使用标记体。
二、实验要求
编写一个JSP页面giveMess.jsp 和一个Tag文件handleMess.tag。JSP页面通过调用Tag文件在表格中的单元格显示文本,该JSP页面通过使用标记体将要显示的文件传递给被
调用的Tag文件。
三、实验内容
1) giveMess.jsp 页面使用带标记体的tag标记来调用tag文件。
2) handleMess.tag 使用
四、实验结果
实验所用代码如下:
实验1
giveMess.jsp
<%@ page co nten tType="text/html;charset=GB2312"%> <%@ taglib tagdir="/WEB-INF/tags" prefix="ok"%>
表格每行重复显示信息
han dleMess.tag
giveMess.jsp 页面
表宿毎行重复显示信息
五、实验结果分析
1、tag文件中可以有html标记符、特殊的指令标记、成员变了和方法、java程序片禾口java表达式。
2、jsp页面使用tag标记动态执行一个tag文件。
3、当jsp页面调用一个tag文件时可能希望动态地向该tag文件传递信息,那么就可以使用带有标记体的tag标记来执行一个tag文件。
实验2 使用attribute 指令
一、实验目的
本实验的目的是让学生灵活掌握在Tag标记中使用attribute 指令。
二、实验要求
编写一个Tag文件ShowCalendar.tag,该Tag文件负责显示日历。编写一个JSP页面giveYearMonth.jsp ,该JSP页面使用Tag标记调用ShowCalendar.tag 文件,并且向ShowCale ndar.tag 文件传递年份和月份。
三、实验内容
1) giveYearMonth.jsp 通过tag 标记调用ShowCalendar.tag 文件,并且向ShowCale ndar.tag 文件传递年份和月份。
2)
ShowCalendar.tag文件根据jsp页面传递过来的年份和月份显示日历。该文件能对jsp页面传递过来的数据进行判断,比如,如果jsp页面传递过来的数据不是数值型数据,
tag文件负责显示错误信息。
四、实验结果
实验所用代码如下:
实验2
giveYearM on th.jsp
<%@ page co nten tType="text/html;charset=GB2312"%>
<%@ taglib tagdir="/WEB-INF/tags" prefix="rili"%>
调用Tag文件来显示日历.
ShowCale ndar.tag
<%@ tag pageE ncodi ng="GB2312" %> <%@ tag import="java.util. *" %>
<%@ attribute n ame="year" required="true" %>
<%@ attribute n ame=" mon th" required="true" %>
<%
int y=1999,m=1;
String [] day=new Stri ng[42];
try
{
y=ln teger.parse In t(year);
m=ln teger.parse In t(m on th);
Cale ndar rili=Cale ndar.getl nsta nce();
rili.set(y,m-1,1);〃将日历翻到year年mon th月1日,注意0表示一月”11表示十二月
int 星期几=rili.get(Cale ndar.DAY_OF_WEEK)-1;
int dayAm oun t=0;
if(m==1||m==5||m==7||m==8||m==10||m==12)
dayAm oun t=31;
if(m==4||m==6||m==9||m==11)
dayAm oun t=30;
if(m==2)
if(((y%4==0) &&(y%100!=0))||(y%400==0))
dayAm oun t=29;
else
dayAmou nt=28;
for(int i=0;i< 星期几;i++)
day[i]="--";
for(int i= 星期几,n=1;i< 星期几+dayAmount;i++)
{
day[i]=Stri ng.valueOf( n);
n++;
}
for(i nt i= 星期几+dayAmou nt;i<42;i++)
day[i]="--";
}
catch(Excepti on exp)
{
out.pri nt(" 年份或月份不合理");
}
%>
星期日 | 星期一 | 星期二 | 星期三 | 星期四 | 星期五 | 星期六 |
---|---|---|---|---|---|---|
<%=day[i] %> |
giveYearM on th.jsp 页面
[xl http127.0.0.1 ;aEQ/Ql?VMfMcrith.|5p
调用抵文件采並示日历.
20吃年12月的日历:
五、实验结果分析
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 指令返回全部的单词。
四、实验结果
实验所用代码如下:
giveStri ng.jsp
<%@ page con te ntType="text/html;charset=GB2312"%>
<%@ taglib tagdir="/WEB-INF/tags" prefix="words"%>
<% String s="South Africa World Cup(Espa na is champio n)";
%>
字符串:
<%
for(i nt i=0;i< wordList.size();i++)
{
out.pri nt("
"+wordList.get(i));
}
%>
GetWord.tag
<%@ tag import="java.util. *" %>
<%@ attribute name="str" required="true" %>
<%@ variable n ame-give n="wordList" variable-class="java.util.ArrayList"
scope="AT_END" %>
<%
ArrayList
Stri ng regex="[\\s\\d\\p{Pu nct}]+";
String words[]=str.split(regex);
for(i nt i=0;i list.add(words[i]); } jspCo ntext.setAttribute("wordList",list); %> giveSori ng.jsp 页面 p~| .0.1:608C^g(ve5tmq. tsp ?j 字符串; South Africa World Cup(Espana is championJ 口的全部单词: South Africa World Cup Espana is chaippitm 五、实验结果分析 1、Tag文件可以使用variable 指令把一个对象返回给调用它的jsp页面 Tag文件使用variable 指令给出返回的对象的名字、类型和有效范围: <%@variable name-given="对象名字” variable-class= "对象的类型” scope="有效范围” %> 第4章JSP内置对象 实验1 request 对象 一、实验目的 本实验的目的是让学生掌握怎样在JSP中使用内置对象request o 二、实验要求 通过JSP页面和Tag文件实现数字的四则运算,要求编写两个JSP页面inputNumber.jsp 禾口receiveNumber.jsp 及——个Tag 文件Computer.tag 。receiveNumber.jsp 使用内置对象接受in putNumber.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 页面。 四、实验结果 实验所用代码如下: in putNumber.jsp <%@ page con te ntType="text/html;charset=GB2312"%>
Computer.tag
<%@ tag pageE ncodi ng="GB2312" %>
<%@ attribute n ame="nu mberA" required="true" %>
<%@ attribute n ame="nu mberB" required="true" %>
<%@ attribute n ame="operator" required="true" %>
<%@ variable name-give n="result" scope="AT_END" %>
<% try
{
double a=Double.parseDouble( nu mberA);
double b=Double.parseDouble( nu mberB);
double r=0;
if(operator.equals("+"))
{
r=a+b;
}
else if(operator.equals("-"))
{
r=a-b;
}
else if(operator.equals("*"))
{
r=a*b;
}
else if(operator.equals("/"))
{
r=a/b;
}
jspCo ntext.setAttribute("result",Stri ng.valueOf(r));
catch(Excepti on e){
jspC on text.setAttribute("result"," } %>
计算结果:100-21二旳.0
返回输入数据界面
五:实验结果分析
1、 内置对象request 的作用就是用来接收客户端提交的请求
2、 request 对象用的比较多的方法是 getParameter 方法。
request 对象的getParameter 方法根据指定的参数,获取客户端提交的信息。 其语
法规则如下:
<% String name=request.getParameter (
“txtName ”)%> 其中,name 是一个字符串变量。txtName 是客户端提交信息中的一个字段 名。
3、 下面的就是在实验里面 request 的使用 <%
String a=request.getParameter(" nu mberO ne"); String b=request.getParameter(" nu mberTwo"); String operator=request.getParameter("operator")
实验2 responese 对象
一、 实验目的
本实验的目的是掌握怎样使用 response 对象动态响应用户的请求。
二、 实验要求
编写两个 JSP 页面 inputRadius.jsp
和 drawCircle.jsp 页面,drawCircle.jsp
面使用response 对象做出动态响应。
三、 实验内容
1)inputRadius.jsp 提供表单,用户在表单中输入一个代表圆的半径的数字,提交给 drawCircle.jsp 页面。
发生异常:"+e);
in putNumber.jsp 页面
receiveNumber.jsp
页面
http://127.0,0r l :8080/recei7eNumber, jsp
《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"%>