题目描述:
6、猜数字游戏。本题包括4个JSP程序,inputGuess.jsp、resultGuess.jsp、small.jsp、large.jsp和success.jsp。
inputGuess.jsp的具体要求如下:
用户请求inputGuess.jsp时,随机分配给该用户一个1到100之间的数。该页面同时负责将这个数字存在用户的session对象中。该页面提供表单,用户可以使用该表单输入自己的猜测,并提交给resultGuess.jsp页面。
resultGuess.jsp的具体要求如下:
resultGuess.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对象中的数据。
JSP页面效果示例如下所示:

图E2-7 输入猜测数据inputGuess.jsp运行效果

图E2-8 猜大了large.jsp运行效果,此次猜25

图E2-9 猜小了small.jsp运行效果

图E2-10 猜成功了success.jsp运行效果

我做的:
代码:
6_inputGuess:

<%@ page contentType="text/html;charset=GB2312" %>
<SCRIPT LANGUAGE="JavaScript">
function validate( )
{
var  f=document.form;
if(f.boy.value==""||isNaN(f.boy.value))
{
alert("请输入一个数字");
f.boy.focus();
return false;
}
}
</SCRIPT>
<HTML>
<BODY bgcolor=goldenrod><FONT Size=2>
<P><h1>随机分给了你一个1到100之间的数,请猜~</h1><% int number=(int)(Math.random()*100)+1;session.setAttribute("count",new Integer(0));session.setAttribute("save",new Integer(number));%><FORM action="result.jsp" method="post" name=form><h2>请输入你的猜测:</h2><INPUT type="text" name="boy" > <INPUT TYPE="submit" value="提交试试" name="submit" onClick="validate()"></FORM>
</FONT>
<h7>偷偷告诉你这是数字是:
<cite><%=number%></cite></h7>
<br>
<h12><i>这个是方便调试的提醒!</h12>
</BODY>
</HTML>

6_large:

<%@ page contentType="text/html;charset=GB2312" %>
<HTML>
<BODY bgcolor=DarkOrange><FONT Size=2><FORM action="result.jsp" method="get" name=form ><h1>猜大了,请猜少一点:</h1><br><INPUT type="text" name="boy" > <INPUT TYPE="submit" value="再次猜测" name="submit"></FORM>
</FONT>
</BODY>
</HTML>

6_result:

<% String str=request.getParameter("boy");if(str==null) {
response.sendRedirect("inputGuess.jsp");}int guessNumber=-1;try{guessNumber=Integer.parseInt(str);Integer integer=(Integer)session.getAttribute("save");int realnumber=integer.intValue();if(guessNumber==realnumber){ int n=((Integer)session.getAttribute("count")).intValue();n=n+1;session.setAttribute("count",new Integer(n));response.sendRedirect("success.jsp");} else if(guessNumber>realnumber){ int n=((Integer)session.getAttribute("count")).intValue();n=n+1;session.setAttribute("count",new Integer(n));response.sendRedirect("large.jsp");}else if(guessNumber<realnumber){int n=((Integer)session.getAttribute("count")).intValue();n=n+1;session.setAttribute("count",new Integer(n));response.sendRedirect("small.jsp");}}catch(Exception e){
response.sendRedirect("inputGuess.jsp");}
%>

6_small:

<%@ page contentType="text/html;charset=GB2312" %>
<HTML>
<BODY bgcolor=SandyBrown><FONT Size=2><FORM action="result.jsp" method="get" name=form ><h2>猜小了,请再试试看:</h2><br><INPUT type="text" name="boy" > <INPUT TYPE="submit" value="再次猜测" name="submit"></FORM>
</FONT>
</BODY>
</HTML>

6_success:

<%@ page contentType="text/html;charset=GB2312" %>
<HTML>
<BODY bgcolor=LimeGreen>
<FONT Size=5>
<% int count=((Integer)session.getAttribute("count")).intValue();int num=((Integer)session.getAttribute("save")).intValue();
%>
<h3>
<P><font color="red">恭喜你,猜对了!</font>
<BR>您猜了<%=count%>次,这个数字就是:<cite><%=num%></cite>
</h3>
<BR></h6>点击下面超链接返回到猜数页面!</h6>
<%session.invalidate(); %>
<BR><A href="inputGuess.jsp">点击我,继续回去猜数字!</A>
</FONT>
</BODY>
</HTML> 

结果示例:
生成随机数:

所猜小于生成的随机数:

所猜大于生成的随机数:

最后的成功:

JSP第二次作业_6小题相关推荐

  1. JSP第二次作业_5小题

    题目描述: 5.编写两个JSP页面input.jsp和result.jsp.input.jsp页面提交一个数字给result.jsp页面,result.jsp页面使用response对象做出动态响应. ...

  2. JSP第二次作业_4小题

    本题包括4个JSP程序,one.jsp.two.jsp.three.jsp.error.jsp. one.jsp具体要求如下: 要求one.jsp页面有一个表单,用户使用该表单可以输入一个1至100之 ...

  3. JSP第二次作业_2小题

    题目: 在JSP页面中静态包含文件.要求程序包含两个文件,主文件静态包含一个能够计算1到1000内的完数的页面.(如果一个正整数刚好等于它的真因子之和,这样的正整数为完数, 例如,6=1+2+3,因此 ...

  4. JSP第二次作业_3小题

    题目: 动态包含页面并传递数据.要求程序包含两个文件,主文件加载次文件,并将随机产生的50~100之间的数据传递给它,并且在页面上显示两个信息:该数据和这个数据的平方根. 进阶要求,把动态包含改为动态 ...

  5. JSP第二次作业_1小题

    题目: 编写一个JSP程序,计算1!+2!+3!+4!+5!,并显示出结果.要求先声明计算阶乘的方法,再调用该方法,最后在页面上输出结果. 进阶要求,通过表单提交一个正整数,然后计算它的阶乘和.例如: ...

  6. JSP第二次作业_8小题

    8.实现简单聊天室.要求以B/S方式实现多人聊天,可以保留聊天者的昵称和聊天内容. I DO: 8,实现简单聊天室.要求以B/S方式实现多人聊天,可以保留聊天者的昵称和聊天内容. login.jsp: ...

  7. JSP第二次作业_7小题

    7.使用Cookie记录用户名和密码.本题包括4个JSP程序,login.jsp.check.jsp.succ.jsp.failure.jsp.(选做) login.jsp运行效果如图E2-11所示. ...

  8. 《算法设计与分析(第4版)》课后习题第二章第2小题

    <算法设计与分析(第4版)>课后习题第二章第2小题 下面的7个算法与本章中的二分搜索算法binarySearch略有不同.请判断这7个算法的正确性,并说明原因和证明. 第二章二分搜索算法b ...

  9. 第二章作业-第3题-万世想

    第3题是:完成小组的"四则运算"项目的需求文档(使用Markdown写文档),尝试同组成员在各自PC上修改同一文档后,如何使用Git命令完成GitHub上的文档的更新,而不产生冲突 ...

最新文章

  1. 比特币耶稣Roger Ver赠送中国著名经济学家巴曙松1枚比特币现金BCH
  2. WindowManager如何被Android深度解析(3)
  3. python实现流媒体传输_基于OpenCV的网络实时视频流传输的实现
  4. Netty之粘包分包
  5. linux网络编程之用一张图片说明函数inet_ntop、inet_pton、inet_addr、inet_ntoa 、inet_aton函数之间的关系
  6. 计算机桌面设置定时,如何设置可以每月自动变化的日历桌面?
  7. 泰坦尼克号数据集_机器学习入门—泰坦尼克号生存率预测
  8. OpenCV学习(22) opencv中使用kmeans算法
  9. 手机配置网络代理服务器_两张图简说代理服务器和反向代理服务器
  10. selenium 自动化web测试
  11. 浅谈集群、分布式、微服务的异同
  12. oracle结果集排序,oracle数据库菜鸟教程——结果集排序
  13. Android实现手机和电脑屏幕共享
  14. Opencv下双线性插值法进行图像放缩
  15. 【web编程技术学习笔记】因特网与万维网简介
  16. 漫画绘制技法大放送(上)
  17. python导入上级目录_Python导入上一级/下一级/任一级目录下的.py文件问题
  18. Spring入门示例
  19. 跨平台开发解决方案浅谈
  20. java 如何给游戏加音效,修改添加游戏中各种音效的步骤

热门文章

  1. 2020应届生:今年秋招也太太太太太难了吧!
  2. 赌5毛钱,你解不出这道Google面试题
  3. 链式比较、奇怪的字母、有趣的import...Python冷知识(六)
  4. Python程序员Debug利器,和Print说再见 | 技术头条
  5. 代码测试意味着完全消灭了Bug?
  6. 小冰负责人李笛:微软不缺钱,缺对未来的把握
  7. 绝密 | 机器学习老手不会轻易告诉你的12件事儿
  8. 程序员被公司辞退12天,领导要求回公司讲代码
  9. 你真的会写单例模式吗?
  10. 从源码到实战:BERT模型训练营