JSP程序设计实验指导书Word格式文档下载.docx
《JSP程序设计实验指导书Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《JSP程序设计实验指导书Word格式文档下载.docx(27页珍藏版)》请在冰豆网上搜索。
=1000;
i++)
{
sum=0;
for(j=1;
j<
i;
j++)
{
if(i%j==0)
sum=sum+j;
}
if(i==sum)
out.print(i+"
"
);
}
%>
/body>
/html>
2.输出乘法口诀表。
(multi.jsp)
fontsize=4>
%!
inta,b,i;
%>
%
for(i=1;
=9;
for(a=1;
a<
=i;
a++)
b=a*i;
out.print(a+"
*"
+i+"
="
+b+"
out.print("
br>
"
/font>
3.编写两个JSP页面,名字分别为inputName.jsp和people.jsp。
inputName.jsp
Charset=GB2312"
formmethod="
post"
action="
people.jsp"
name="
form"
>
<
请输入姓名:
inputtype="
text"
name"
size=20>
/br>
submit"
value="
送出"
/form>
Charset=GB2312"
intcount;
StringBufferperson;
publicvoidjudge()
{
if(count==0)
person=newStringBuffer();
}
publicvoidaddPerson(Stringp)
person.append("
+p);
count++;
%Stringname=request.getParameter("
if(name.length()==0||name.length()>
10){
jsp:
forwardpage="
inputName.jsp"
/>
%}
judge();
addPerson(name);
目前共有<
%=count%>
人浏览了该页,他们是:
%=person%>
3.实验要求
1)在硬盘分区D下新建一个目录,名字为:
student,将student设置为Web服务目录,并为该Web服务目录指定名字为practice的虚拟目录。
在tomcat的安装目录中的\conf\Catalina\localhost下新建一个xml文件,通过文件来设置新的web服务目录。
必须在浏览器的地址栏中输入:
Tomcat服务器的IP地址和端口号,并通过虚拟目录practice访问Web服务目录student下的JSP页面。
2)启动Tomcat服务器(如果已经启动,必须关闭Tomcat服务器,并重新启动)。
3)用文本编辑器ultraedit编写JSP页,并保存到Web服务目录student中。
4)用浏览器访问Web服务目录student中的JSP页面。
5)inputName.jsp的具体要求
该页面有一个表单,用户通过该表单输入自己的姓名并提交给people.jsp页面。
6)people.jsp的具体要求
(1)JSP页面有名字为person、类型是StringBuffer以及名字是count,类型为int的成员变量。
(2)JSP有publicvoidjudge()方法。
该方法负责创建person对象,当count的值是0时,judge()方法创建person对象。
(3)JSP有publicvoidaddPerson(Stringp)的方法,该方法将参数p指定的字符串尾加到操作成员变量person,同时将count作自增运算。
(4)JSP页面在程序片中获取inputName.jsp页面提交的姓名,然后调用judge()创建person对象、调用addPerson方法将用户的姓名尾加到成员变量person。
(5)如果inputName.jsp页面没有提交姓名,或姓名含有的字符个数大于10,就使用<
要转向的页面"
标记将将用户转到inputName.jsp页面。
(6)通过Java表达式输出person和count的值。
7)写出xml文件的代码以及jsp文件的源代码、运行结果(截图)。
inputName.jsp(效果如图1所示)
图1输入姓名
people.jsp(效果如图2所示)
图2显示姓名和人数
实验二
(1)掌握怎样在JSP页面中使用page指令设置contentType的值;
使用include指令在JSP页面中静态插入一个文件的内容。
(2)掌握怎样在JSP页面中使用include标记动态加载文件;
使用forward实现页面的转向。
(1)编写三个JSP页面:
first.jsp、second.jsp和third.jsp。
另外,要求用“记事本”编写一个txt文件hello.txt。
hello.txt的每行有若干个英文单词,单词之间用空格分隔,每行之间用“<
BR>
”分隔,如下所示:
hello.txt
packageapplevoidbackpublic<
privatethrowclasshellowelcome
(2)编写四个JSP页面:
one.jsp、two.jsp、three.jsp和error.jsp。
one.jsp、two.jsp和three.jsp页面都含有一个一个导航条,以便让用户方便地单击超链接访问这三个页面,要求这三个页面通过使用include动作标记动态加载导航条文件:
head.txt。
导航条文件head.txt的内容如下所示:
head.txt
tablecellSpacing="
1"
cellPadding="
width="
60%"
align="
center"
border="
0"
>
trvalign="
bottom"
td>
Ahref="
one.jsp"
fontsize=3>
one.jsp页面<
/A>
/td>
two.jsp"
two.jsp页面<
three.jsp"
three.jsp页面<
/tr>
/Font>
/table>
3.
实验要求
(1)first.jsp的具体要求
first.jsp使用page指令设置contentType属性的值是text/plain,使用include指令静态插入hello.txt文件。
(2)second.jsp的具体要求
second.jsp使用page指令设置contentType属性的值是application/vnd.ms-powerpoint,使用include指令静态插入hello.txt文件。
(3)third.jsp的具体要求
third.jsp使用page指令设置contentType属性的值是application/msword,使用include指令静态插入hello.txt文件。
(4)one.jsp的具体要求
要求one.jsp页面有一个表单,用户使用该表单可以输入一个1至100之间的整数,并提交给被页面;
如果输入的整数在50至100之间(不包括50)就转向three.jsp,如果在1至50之间就转向two.jsp;
如果输入不符合要求就转向error.jsp。
要求forward标记在实现页面转向时,使用param子标记将整数传递到转向的two.jsp或three.jsp页面,将有关输入错误传递到转向的error.jsp页面
(5)two.jsp、three.jsp和error.jsp的具体要求
要求two.jsp和three.jsp能输出one.jsp传递过来的值,并显示一幅图像,该图像的宽和高刚好是one.jsp页面传递过来的值。
error页面能显示有关错误信息,和一幅图像。
(6)写出jsp文件的源代码、运行结果(截图)。
4.JSP页面效果示例
first.jsp(效果如图3所示)<
text/plain"
%@includefile="
hello.txt"
bodybgcolor=cyan>
图3contentType的值是text/plain
second.jsp(效果如图4所示)<
application/vnd.ms-powerpoint;
HTML>
BODYbgcolor=cyan>
P>
我是second.jsp页面
/BODY>
/HTML>
图4contentType的值是application/vnd.ms-powerpoint
third.jsp(效果如图5所示)<
charset=GB2312"
head>
title>
/title>
includepage="
head.txt"
/head>
thisisthree.jsp
%Strings=request.getParameter("
number"
out.println("
传递过来的值是:
+s);
imgsrc="
b.jpg"
%=300%>
height="
/img>
图5contentType的值是application/msword
one.jsp(效果如图6所示)
BODY>
FORMaction="
method=getname=form>
请输入1到100数字:
INPUT
type="
name="
INPUTTYPE="
value="
number=submit>
%Stringnum=request.getParameter("
if(num==null)
num="
;
try
{inti=Integer.parseInt(num);
if(i>
50&
&
=100){
paramname="
%=i%>
/jsp:
forward>
elseif(i<
=50&
i>
0){
elseif(i>
100)
{
error.jsp"
}
catch(Exceptione){
%=e.toString()%>
%}%>
图6使用include动作标记加载导航条
two.jsp(效果如图7所示)
董大伟的页面<
thisistwo.jsp
a.jpg"
%=100%>
图7得到param子标记传递来的值
three.jsp(效果如图8所示)
图8得到param子标记传递来的值
error.jsp(效果如图9所示)
我的的页面<
p>
thisiserror.jsp
xiaoquan.jpg"
%=200%>
图9显示错误信息
实验三
1.实验目的
(1)掌握怎样在JSP中使用内置对象request,以及使用response对象动态响应用户的请求。
(2)掌握怎样使用session对象存储和用户有关的数据。
(1)编写两个JSP页面input.jsp和result.jsp。
input.jsp页面提交一个数字给result.jsp页面,result.jsp页面使用response对象做出动态响应。
(2)编写四个JSP页面letter.jsp、guess.jsp、small.jsp、large.jsp,实现猜字母游戏。
(1)input.jsp的具体要求
input.jsp提供表单,用户在表单中输入一个数字,提交给result.jsp页面。
(2)result.jsp的具体要求
result.jsp页面首先使用request对象获得input.jsp页面提交的数字,然后根据数字的大小作出不同的响应。
如果数字小与0,response对象的调用setContentType(Strings)方法将contentType属性的值设置为text/plain,同时输出数字的平方;
如果数字大于等于0并且小于100,response对象的调用setContentType(Strings)方法将contentType属性的值设置为application/msword,同时输出数字的立方;
如果数字大于等于100,response对象调用setStatus(intn)方法将状态行的内容设置为404;
如果用户在input.jsp页面输入了非数字,response对象调用sendRedirect(URLurl)方法将用户的重定向到input.jsp页面。
(3)letter.jsp的具体要求
将要猜测的a到z之间的字母放到一个数组中,随机分配给用户。
该页面同时负责将这个字母存在用户的session对象中。
该页面提供表单,用户可以使用该表单输入自己的猜测,并提交给guess.jsp页面。
(4)guess.jsp的具体要求
判断letter.jsp提交的猜测是否和用户的session对象中存放的那个字母相同,如果相同就输出用户session对象中的数据(猜测的次数及猜测的字母);
如果不相同就将用户重定向到large.jsp或small.jsp。
guess.jsp
Stringstr=request.getParameter("
zimu"
if(str==null||str.length()==0||str.length()>
1)
response.sendRedirect("
letter.jsp"
else
charzm[]=str.toCharArray();
charguesszm=zm[0];
Charactercharacter=(Character)session.getAttribute("
save"
charrealzm=character.charValue();
if(guesszm==realzm)
intn=((Integer)session.getAttribute("
count"
)).intValue();
n=n+1;
session.setAttribute("
newInteger(n));
%>
恭喜您猜对了!
您共猜了<
%=n%>
次
这个字母就是<
%=realzm%>
elseif(guesszm>
realzm)
response.sendRedirect("
large.jsp"
elseif(guesszm<
small.jsp"
large.jsp
所猜的字母比实际的大,请再猜:
formaction="
guess.jsp"
method="
<
提交"
small.jsp
所猜的字母比实际的小,请再猜:
(5)写出jsp文件的源代码、运行结果(截图)。
input.jsp(效果如图10所示)
图10输入数字
result.js