JSP指令标记与JSP动作标记JSP内置对象.docx
《JSP指令标记与JSP动作标记JSP内置对象.docx》由会员分享,可在线阅读,更多相关《JSP指令标记与JSP动作标记JSP内置对象.docx(13页珍藏版)》请在冰豆网上搜索。
![JSP指令标记与JSP动作标记JSP内置对象.docx](https://file1.bdocx.com/fileroot1/2023-2/6/aa8470b3-b62d-4377-9795-8e8cffc34463/aa8470b3-b62d-4377-9795-8e8cffc344631.gif)
JSP指令标记与JSP动作标记JSP内置对象
甘肃政法学院
本科生实验报告
(一)
姓名:
樊丽娜
学院:
信息工程学院
专业:
计算机科学与技术
班级:
13级计本班
实验课程名称:
JAVAEE程序设计
实验日期:
2015年9月29日
开课时间:
2015-2016学年第一学期
甘肃政法学院实验管理中心印制
实验题目
JSP指令标记与JSP动作标记JSP内置对象
小组合作
无
姓名
樊丽娜
班级
13计本班
学号
201281110107
一、实验目的
1.熟练掌握怎样在JSP页面中使用page指令设置contentType的值、怎样
2.使用include指令在JSP页面中静态插入一个文件的内容。
3.掌握怎样在JSP页面中使用include标记动态加载文件。
4.使用forward实现页面的转向。
5.熟练掌握怎样在JSP页面中使用request内置对象。
6.熟练掌握怎样在JSP页面中使用response对象动态响应用户的请求。
7.熟练掌握怎样在JSP页面中使用session对象存储和用户有关的数据。
8.进一步熟悉其它JSP内置对象的用法。
二.实验环境
Myeclipse
三、实验内容与步骤
1.编写三个JSP页面:
first.jsp、second.jsp和third.jsp。
另外,要求用“记事本”编写一个txt文件hello.txt。
hello.txt的每行有若干个英文单词,单词之间用空格分隔,每行之间用“
”分隔,如下所示:
hello.txt
packageapplevoidbackpublic
privatethrowclasshellowelcome
first.jsp的具体要求
first.jsp使用page指令设置contentType属性的值是"text/plain",使用include指令静态插入hello.txt文件。
third.jsp的具体要求
third.jsp使用page指令设置contentType属性的值是"application/msword",
使用include指令静态插入hello.txt文件。
first.jsp(效果如图2-1)
图2-1contentType的值是text/plain
second.jsp(效果如图2-2)
图2-2contentType的值是vnd.ms-powerpoint
second.jsp的具体要求
second.sp使用page指令设置contentType属性的值是"application/vnd.ms-powerpoint",
使用include指令静态插入hello.txt文件。
people.jsp(效果如图2-3)
图2-3contentType的值是application/msword
2.编写四个JSP页面:
one.jsp、two.jsp和three.jsp和error.jsp。
one.jsp、two.jsp和three.jsp页面都含有一个一个导航条,以便让用户方便地单击超链接访问这三个页面,要求这三个页面通过使用include动作标记动态加载导航条文件:
head.txt。
导航条文件head.txt的内容如下所示:
head.txt
<%@pagecontentType="text/html;charset=GB2312"%>
one.jsp页面 | two.jsp页面 | three.jsp页面 | 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页面
two.jsp、three.jsp和error.jsp的具体要求
要求two.jsp和three.jsp能输出one.jsp传递过来的值,并显示一幅图像,该图像的宽和高刚好是one.jsp页面传递过来的值。
error页面能显示有关错误信息,和一幅图像。
one.jsp(效果如图2-4)
图2-4使用include动作标记加载导航条
two.jsp(效果如图2-5)
图2-5得到param子标记传递来的值
three.jsp(效果如图2-6)
图2-6得到param子标记传递来的值
error.jsp(效果如图2-7)
图2-7显示错误信息
3.编写一个JSP页面inputNumber.jsp该页面提供一个表单,用户可以通过表单输入两个数和四则运算符号提交给该页面。
用户提交表单后,JSP页面将计算任务交给一个Tag文件Computer.tag去完成。
inputNumber.jsp的具体要求
inputNumber.jsp页面提供一个表单,要求表单中提供两个text输入框,供用户输入数字;提供一个select下拉列表,该下拉列表有加、减、乘、除四个选项,供用户选择运算符号。
用户在表单中输入的数字、选择运算符号提交给inputNumber.jsp页面。
inputNumber.jsp使用Tag标记调用Tag文件Computer.tag,并将表单提交的数字和运算符号传递给Computer.tag。
Computer.tag的具体要求
要求Computer.tag使用attribute指令得到JSP页面传递过来的值,使用variable指令将计算结果,并将计算结果返回给JSP页面。
inputNumber.jsp效果图
4.编写两个JSP页面input.jsp和result.jsp。
input.jsp页面提交一个数字给result.jsp页面,result.jsp页面使用response对象做出动态响应。
input.jsp的具体要求
input.jsp提供表单,用户在表单中输入一个数字,提交给result.jsp页面。
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页面。
input.jsp效果图
result.jsp效果图
5.编写四个JSP页面inputGuess.jsp、result.jsp、small.jsp、large.jsp和success.jsp,实现猜数字游戏。
具体要求如下
inputGuess.jsp的具体要求
用户请求inputGuess.jsp时,随机分配给该用户一个1到100之间的数。
该页面同时负责将这个数字存在用户的session对象中。
该页面提供表单,用户可以使用该表单输入自己的猜测,并提交给result.jsp页面。
result.jsp的具体要求
result.jsp页面负责判断inputGuess.jsp提交的猜测是否和用户的session对象中存放的那个数字相同,如果相同就将用户重定向到success.jsp;如果不相同就将用户重定向到large.jsp或small.jsp。
small.jsp和large.jsp的具体要求
small.jsp和large.jsp页面提供表单,用户可以使用该表单继续输入自己的猜测,并提交给result.jsp页面。
success.jsp的具体要求
success.jsp页面负责负责显示用户成功的消息,并负责输出用户session对象中的数据。
inputGuess.jsp效果图
large.jsp效果图
small.jsp效果图
large.jsp效果图
6.完成教材P90例题applicationTest.jsp,利用application内置对象统计网站访问人数。
7.查阅资料,利用session内置对象模拟实现“简单购物车”应用。
四、实验过程与分析
1.结果展示
JSP指令告诉JSP引擎对JSP页面如何编译,不包含控制逻辑,不会产生任何可见的输出。
JSP包含3个指令:
page、include和taglib。
通常情况下,JSP程序都是以page指令开头。
Page指令用来设定页面的属性和相关的功能,可以利用其来进行倒入需要类、指明JSP输出内容的类型、指定处理异常的错误页面等操作。
2.结果展示
JSP动作指使用XML语法格式的标记来控制服务器的行为。
常见的JSP动作有两个:
a.jsp:
include。
当页面被请求时引入一个文件。
b.jsp:
forward。
将请求转到另一个页面。
3.结果展示
4.结果展示
Request与Response是一组相对应的内置对象,Request对象负责得到客户端的请求信息。
Response对象负责向客户端发出响应。
5.结果展示
Session对象负责保存同一客户端一次会话过程中的一些信息。
用户请求inputGuess.jsp时,随机分配给该用户一个1到100之间的数。
该页面同时负责将这个数字存在用户的session对象中。
该页面提供表单,用户可以使用该表单输入自己的猜测,并提交给result.jsp页面。
6.结果展示
7.结果展示
在session中,有一个函数:
voidsession.setAttribute(Stringname,Objectobj);,通过该函数,可以将一个对象放入购物车。
如果两次调用setAttribute(Stringname,Objectobj);并且name相同,那么后面放进去的内容将会覆盖以前放进去的内容。
读取购物车的内容,通过session中的一个函数:
Objectsession.getAttribute(Stringname);。
在该函数里面,name就是被取出的内容所对应的标记;返回值就是内容本身。
五、实验总结
本次实验主要是安装了tomcat,虽然在安装过程中出现了很多问题,但在同学的帮助下都解决了。
试验中我也遇到了很多问题,但最终还是解决了,通过本次实验,我掌握怎样在JSP页面中使用page指令设置contentType的值;使用include指令在JSP页面中静态插入一个文件的内容;掌握了怎样在JSP页面中使用session对象存储和用户有关的数据,进一步熟悉其它JSP内置对象的用法。