实验二JSP内置对像的使用Word格式.docx
《实验二JSP内置对像的使用Word格式.docx》由会员分享,可在线阅读,更多相关《实验二JSP内置对像的使用Word格式.docx(12页珍藏版)》请在冰豆网上搜索。
HTTP通信协议是客户与服务器之间一种提交(请求)信息与响应信息(request/response)的通信协议。
在JSP中,内置对象request封装了用户提交的信息,那么该对象调用相应的方法可以获取封装的信息,即使用该对象可以获取用户提交的信息。
2.实验目的
本实验的目的是让学生掌握怎样在JSP中使用内置对象request。
3.实验要求
学会看懂前调试Testcode2文件夹中的文件。
二、session对象
HTTP协议是一种无状态协议。
一个客户向服务器发出请求(request),然后服务器返回响应(response),连接就被关闭了。
所以,Tomcat服务器必须使用内置session对象(会话)记录有关连接的信息。
同一个客户在某个Web服务目录中的session是相同的;
同一个客户在不同的Web服务目录中的session是互不相同的;
不同用户的session是互不相同的。
一个用户在某个web服务目录的session对象的生存期限依赖于客户是否关闭浏览器、依赖于session对象是否调用invalidate()方法使得session无效或session对象达到了设置的最长的“发呆”时间。
本实验的目的是让学生掌握怎样使用session对象存储和用户有关的数据。
3.实验要求
编写四个JSP页面inputGuess.jsp、result.jsp、small.jsp、large.jsp和success.jsp,实现猜数字游戏。
具体要求如下
1.inputGuess.jsp的具体要求
用户请求inputGuess.jsp时,随机分配给该用户一个1到100之间的数。
该页面同时负责将这个数字存在用户的session对象中。
该页面提供表单,用户可以使用该表单输入自己的猜测,并提交给result.jsp页面。
1.result.jsp的具体要求
result.jsp页面负责判断inputGuess.jsp提交的猜测是否和用户的session对象中存放的那个数字相同,如果相同就将用户重定向到success.jsp;
如果不相同就将用户重定向到large.jsp或small.jsp。
3.small.jsp和large.jsp的具体要求
small.jsp和large.jsp页面提供表单,用户可以使用该表单继续输入自己的猜测,并提交给result.jsp页面。
4.success.jsp的具体要求
success.jsp页面负责负责显示用户成功的消息,并负责输出用户session对象中的数据。
4.JSP页面效果示例
inputGuess.jsp(效果如图4-4)
图4-4输入猜测
large.jsp(效果如图4-5)
图4-5猜大了
small.jsp(效果如图4-6)
图4-6猜小了
large.jsp(效果如图4-7)
图4-7猜成功了
5.参考代码
代码仅供参考,学生可按着实验要求,参考本代码编写代码。
JSP页面参考代码
inputGuess.jsp
<
%@pagecontentType="
text/html;
charset=GB2312"
%>
HTML>
BODYbgcolor=cyan>
FONTSize=2>
P>
随机分给了你一个1到100之间的数,请猜!
<
%
intnumber=(int)(Math.random()*100)+1;
session.setAttribute("
count"
newInteger(0));
save"
newInteger(number));
FORMaction="
result.jsp"
method="
post"
name=form>
输入你的猜测:
INPUTtype="
text"
name="
boy"
>
INPUTTYPE="
submit"
value="
送出"
>
/FORM>
/FONT>
/BODY>
/HTML>
result.jsp
%Stringstr=request.getParameter("
);
if(str.length()==0)
{
response.sendRedirect("
inputGuess.jsp"
}
intguessNumber=-1;
try
{
guessNumber=Integer.parseInt(str);
Integerinteger=(Integer)session.getAttribute("
intrealnumber=integer.intValue();
if(guessNumber==realnumber)
intn=((Integer)session.getAttribute("
)).intValue();
n=n+1;
newInteger(n));
response.sendRedirect("
success.jsp"
}
elseif(guessNumber>
realnumber)
large.jsp"
elseif(guessNumber<
small.jsp"
catch(Exceptione)
%>
small.jsp
get"
name=form>
猜小了,请再猜:
large.jsp
猜大了,请再猜:
success.jsp
intcount=((Integer)session.getAttribute("
intnum=((Integer)session.getAttribute("
恭喜你,猜对了
BR>
您共猜了<
%=count%>
次,这个数字就是<
%=num%>
。
单击超链接返回到inputGuess.jsp页面:
Ahref="
inputGuess.jsp<
/A>
有效范围为application的bean(选读)
JSP页面使用useBean标记调用一个有效范围是application的bean:
jsp:
useBeanid="
bean起的名字"
class="
创建bean的类"
scope="
application"
/jsp:
useBean>
或
/>
JSP引擎为Web服务目录下所有的JSP页面分配一个共享的bean,不同用户的scope取值是application的bean也都是相同的的一个,也就是说,当多个用户同时访问一个JSP页面时,任何一个用户对自己bean的属性的改变,都会影响到其他的用户。
本实验的目的是让学生掌握使用有效范围是application的bean制作一个简单的留言板。
要求编写两个JSP页面:
inputMess.jsp和show.jsp。
编写一个名字为board的Javabean,其中board由MessBoard.class类负责创建。
1.inputMess.jsp的具体要求
input.jsp页面提供一个表单。
其中表单允许用户输入留言者的姓名、留言标题和留言内容期,该表单将用户输入的信息提交给当前页面,当前页面调用名字为board的bean,并使用表单提交的数据设置board的有关属性的值。
要求在inputMess.jsp提供一个超链接,以便用户单击这个超链接访问show.jsp页面。
2.show.jsp的具体要求
show.jsp调用名字为board的bean,并显示该bean的allMessage属性的值。
3.MessBoard.java的具体要求
编写的Car.java应当有刻画留言者的姓名、留言标题和留言内容属性,并且有刻画全部留言信息的属性:
allMessage。
将MessBoard.java编译后的字节码文件MessBoard.class保存到practice7\WEB-INF\classes\tom\jiafei目录中。
inputMess.jsp(效果如图7-4)
图7-4设置有效范围是application的bean
show.jsp(效果如图7-5)
图7-5显示有效范围是application的bean
代码仅供参考,学生可按着实验要求,参考本代