您正在使用 IPV4 [34.201.37.128] 访问本站,您本次已经查看了 1 页
用户名: 密 码: 验证码:     用QQ登录本站
首页 软件 编程 笑话 知识 公告 台风 日历 计算器
悟空收录网       [公益]保护绿色环境,构建和谐社会      

【腾讯云】 爆款2核2G3M云服务器首年 61元,叠加红包再享折上折      
[公益] 地球是我家,绿化靠大家      
2024年 清明节 006
2024年 劳动节 033
2025年 元 旦 278
2025年 春 节 306
 
您现在的位置:首页 >> JSP >> 内容
本类新增
本类热门
JSP实现百万富翁猜数字游戏
内容摘要: 设计一个webapp,每次产生一个30以内的数字,给5次机会让客户猜测这个数字:1)如果客户猜的数字比产生的数字值大,则提示“大了”。2)如果客户猜的数字比产生的数字值小,则提示“小点”猜对了就过关,猜错GameOver,给玩家重玩的机会。JSP代码:%@pagelanguage='java'contentType='text/html;charset=UT......
设计一个webapp,每次产生一个30以内的数字,给5次机会让客户猜测这个数字:

1)如果客户猜的数字比产生的数字值大,则提示“大了”。

2)如果客户猜的数字比产生的数字值小,则提示“小点”

猜对了就过关,猜错GameOver,给玩家重玩的机会。

JSP代码:

<%@pagelanguage="java"contentType="text/html;charset=UTF-8"

pageEncoding="UTF-8"%>

<!DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<metahttp-equiv="Content-Type"content="text/html;charset=UTF-8">

<title>Inserttitlehere</title>

</head>

<body>

<%

Stringresult=(String)request.getAttribute("result");

if(result!=null){

out.write("<fontcolor='red'>"+result+"'</font>");

}

%>

<%

Integertimes=(Integer)request.getAttribute("times");

if(times!=null){

out.write("你还有"+(5-times)+"次机会!");

}

%>

<br/>

<formaction="/zxz/zxz"method="POST">

请输入你的数(20以下):<inputtype="text"name="Lucy"/><br/>

<%

if(times!=null){

%>

<inputtype="hidden"name="times"value="<%=times%>"/>

<%

}

%>

<inputtype="submit"value="竞猜"/>

</form>

</body>

</html>

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<answer){

result="小了";

}elseif(lucyNb==answer){

result="中了";

times=null;

}

request.setAttribute("times",times);

request.setAttribute("result",result);

}else{

newGame();

response.getWriter().write("游戏结束<ahref='"+request.getContextPath()+"/One.jsp'>再来一把</a>");

return;

}

request.getRequestDispatcher("/One.jsp").forward(request,response);

}

protectedvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{

doGet(request,response);

}

}

总结:

a.使用标签hidden可以隐式传递数据而不被用户发现可以用来记录次数如:

<inputtype="hidden"name="times"value="<%=times%>"/>

b.Servlet是用来跳转和执行逻辑代码的,JSP是用来展示数据的

c.request.getParameter(“Lucy”);如果参数不存在则返回null的字符串值

d跳转有两种方式一个是页面跳转地址要写项目名+jsp或者servlet

另一个是转发共享了request的域对象,地址可以直接写jsp或者servlet不要项目名而且项目名和jsp或者servlet前都要加“/”不然就是相对位置了

如:

<formaction="/zxz/zxz"method="POST">

//转发

request.getRequestDispatcher("/One.jsp").

forward(request,response);

版权声明:本内容来源于互联网,如有侵犯您的版权,请联系站长,本站收到您的信息后将及时处理。
上一篇:JSP虚拟主机中通过程序实现301重定向

 

下一篇:JSP使用过滤器防止Xss漏洞

发布日期:2022/3/8
手机扫二维码直达本页
发布时间:9:55:53
点  击:3
录  入:齐天大圣
相关文章
Baidu
YiJiaCMS 7.3.8 build231228(MSSQL) 闽ICP备05000814号-1
本空间由腾讯云(轻量应用服务器)提供,Cloudflare提供加速防护
运行时间载入中.....