JSP实现百万富翁猜数字游戏
本文实例为大家分享了JSP实现百万富翁猜数字游戏的具体代码,供大家参考,具体内容如下
设计一个webapp,每次产生一个30以内的数字,给5次机会让客户猜测这个数字:
1)如果客户猜的数字比产生的数字值大,则提示“大了”。
2)如果客户猜的数字比产生的数字值小,则提示“小点”
猜对了就过关,猜错GameOver,给玩家重玩的机会。
JSP代码:
<%@pagelanguage="java"contentType="text/html;charset=UTF-8" pageEncoding="UTF-8"%>Inserttitlehere <% Stringresult=(String)request.getAttribute("result"); if(result!=null){ out.write(""+result+"'"); } %> <% Integertimes=(Integer)request.getAttribute("times"); if(times!=null){ out.write("你还有"+(5-times)+"次机会!"); } %>
请输入你的数(20以下):
<% if(times!=null){ %>"/> <% } %>
Servlet代码:
packagehah; importjava.io.IOException; importjava.util.Random; importjavax.servlet.ServletException; importjavax.servlet.annotation.WebServlet; importjavax.servlet.http.HttpServlet; importjavax.servlet.http.HttpServletRequest; importjavax.servlet.http.HttpServletResponse; /** *Servletimplementationclasszxz */ @WebServlet("/zxz") publicclasszxzextendsHttpServlet{ privatestaticfinallongserialVersionUID=1L; intanswer; publicvoidnewGame(){ Randomrandom=newRandom(); answer=random.nextInt(20); } publiczxz(){ newGame(); } protectedvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{ response.setContentType("text/html;charset=utf-8"); StringlucyStr=request.getParameter("Lucy"); IntegerlucyNb=null; System.out.println("答案:"+answer); if(!lucyStr.equals("")){ lucyNb=Integer.parseInt(lucyStr); } Integertimes=1; StringtimeStr=request.getParameter("times"); if(timeStr!=null&&!timeStr.equals("")){ times=Integer.parseInt(timeStr)+1; } if(times<5){ Stringresult=""; if(lucyNb>answer){ result="大了"; }elseif(lucyNb再来一把"); return; } request.getRequestDispatcher("/One.jsp").forward(request,response); } protectedvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{ doGet(request,response); } }
总结:
a.使用标签hidden可以隐式传递数据而不被用户发现可以用来记录次数如:
"/>
b.Servlet是用来跳转和执行逻辑代码的,JSP是用来展示数据的
c.request.getParameter(“Lucy”);如果参数不存在则返回null的字符串值
d跳转有两种方式一个是页面跳转地址要写项目名+jsp或者servlet
另一个是转发共享了request的域对象,地址可以直接写jsp或者servlet不要项目名而且项目名和jsp或者servlet前都要加“/”不然就是相对位置了
如:
//转发 request.getRequestDispatcher("/One.jsp"). forward(request,response);
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。