【使用JSP技术实现猜数字游戏】

设计一个web app,有一个随机数字,给5次机会让客户猜测这个数字:

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

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

猜对了给出相对应的提示


对于应的代码

首先是jsp页面(主要是处理逻辑)

<%@page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>猜数字游戏</title> </head>
<body>
<%
String value=(String)request.getAttribute("answer");
Integer times = (Integer)request.getAttribute("times"); %>
<i><h1>请猜猜这个数字</h1>
<hr>
<form action="<%=request.getContextPath()%>/GuessServlet" method="post"> <input type="text" name="number"> <input type="submit"
value="确定">
<%
if(times!=null){
%>
<input type="hidden" name="times" value="<%=times %>" />
<%
if(value.equals("=")){
out.print("<p style='color:green'>啦啦啦,恭喜你答对啦,");
}else{
out.print("<p style='color:red'>你还有"+(5-times)+"次机会!同时你猜的有点"+value);
} %></p>
<%
}
%>
</form> </i>
</body>
</html>

  然后就是servlet的代码:

package com.gqx.work;

import java.io.IOException;
import java.io.PrintWriter; import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; public class GuessServlet extends HttpServlet { /**
* 产生一个随机的数字(666),给5次机会让客户猜测这个数字
*/
private static final long serialVersionUID = 1L; public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
String num=request.getParameter("number");
Integer time=1;
String times=request.getParameter("times");
String value="";
int key;
System.out.println(times);
if (times !=null && !times.equals("")) {
time=Integer.parseInt(times)+1;
}
if (num=="" || num==null) {
value="请填入数字";
}else {
key=Integer.parseInt(num);
if (key==666) {
value="=";
}else if (key>666) {
value="大";
}else {
value="小";
}
request.setAttribute("answer", value);
} if (time>4) {
response.getWriter().write("游戏结束,<a href='"+request.getContextPath()+"/work1/guess.jsp'>再来一局</a>");
return;
}
request.setAttribute("times", time);
request.getRequestDispatcher("work1/guess.jsp").forward(request, response); }
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.doGet(request, response);
} }

  运行的截图;

JSP和servlet结合案例的更多相关文章

  1. JSP、servlet、SQL三者之间的数据传递

    JSP.servlet.SQL三者之间的数据传递 博客分类: web开发 JSPservletSQL数据库连接池web开发  前言: 最近一直在做WEB开发,现总结一下这一段时间的体会和感触. 切记, ...

  2. JSP是Servlet详解

    前言:前一段时间写了好多Servlet和JSP相关的博客,自以为理解的差不多了,岂不知人外有人,天外有天,代码外还有源码,受高人点拨,看了一下Servlet源码,感触颇深,再也不敢说懂了,不明白生活的 ...

  3. 【转】(超详细)jsp与servlet之间页面跳转及参数传递实例

    初步学习JavaEE,对其中jsp与Servlet之间的传值没弄清楚,查看网上资料,发现一篇超详细的文章,收获大大,特此记录下来.具体链接:http://blog.csdn.net/ssy_shand ...

  4. JSP和Servlet的中文乱码处理

    JSP和Servlet的中文乱码处理 前几天学习了JSP和Servlet中有关中文乱码的一些问题,写成了博客,今天进行更新一下.应该是可以解决日常的乱码问题了.现在作以下总结希望对需要的人有所帮助.我 ...

  5. 一、JSP、servlet、SQL三者之间的数据传递(前台与后台数据交互)

    背景: 目前业界很流行的MVC(model-view-control)开发模式,理解为 模型是Bean, 视图是 Html/Jsp, 控制是Servlet, 关联数据库的Dao web的运行机制: 数 ...

  6. jsp和servlet中文乱码

    jsp和servlet之间出现中文乱码的集中原因和解决方法详解:http://blog.csdn.net/longyuhome/article/details/7856270

  7. Jsp与servlet本质上的区别

    1.jsp经编译后就变成了Servlet.(JSP的本质就是Servlet,JVM只能识别java的类,不能识别JSP的代码,Web容器将JSP的代码编译成JVM能够识别的java类)2.jsp更擅长 ...

  8. Jsp与servlet的区别 1

     Jsp与servlet的区别 2011-12-09 16:27:47 分类: Java 1.jsp经编译后就变成了Servlet.(JSP的本质就是Servlet,JVM只能识别java的类,不能识 ...

  9. Jsp与servlet的区别

     Jsp与servlet的区别 2011-12-09 16:27:47 分类: Java 1.jsp经编译后就变成了Servlet.(JSP的本质就是Servlet,JVM只能识别java的类,不能识 ...

随机推荐

  1. AppDomain(1)-AppDomainSetup

  2. Swift lazy 修饰符和方法

    LAZY 修饰符和 LAZY 方法 由 王巍 (@ONEVCAT) 发布于 2015/10/07 延时加载或者说延时初始化是很常用的优化方法,在构建和生成新的对象的时候,内存分配会在运行时耗费不少时间 ...

  3. Dev表格导出工具类 z

    using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace xSof ...

  4. iOS --- 取整数

    Objective-C拓展了C,自然很多用法是和C一致的.比如浮点数转化成整数,就有以下四种情况. 1.简单粗暴,直接转化 float f = 1.5; int a; a = (int)f; NSLo ...

  5. html 5 中的 6位 十六进制颜色码 代表的意思

    人的眼睛看到的颜色有两种: ⒈ 一种是发光体发出的颜色,比如计算机显示器屏幕显示的颜色: ⒉ 另一种是物体本身不发光,而是反射的光产生 十六进制颜色码 的颜色,比如看报纸和杂志上的颜色. 我们又知道任 ...

  6. iOS 常用基础框架

    框架名称 功能 Foundation 提供OC的基础类(像NSObject).基本数据类型等 UIKit 创建和管理应用程序的用户界面 QuartzCore 提供动画特效以及通过硬件进行渲染的能力 C ...

  7. Android学习之Image操作及时间日期选择器

    一.基础学习 1.ImageView是图片容器,就相当于RadioGroup是RadioButton的容器一样,是View的直接子类. 1: <ImageView 2: android:id=& ...

  8. BZOJ 1690: [Usaco2007 Dec]奶牛的旅行

    Description 作为对奶牛们辛勤工作的回报,Farmer John决定带她们去附近的大城市玩一天.旅行的前夜,奶牛们在兴奋地讨论如何最好地享受这难得的闲暇. 很幸运地,奶牛们找到了一张详细的城 ...

  9. VS2010皮肤控件介绍

    在我们平时使用的各种工具中,如QQ,迅雷,以及各种空间等,都提供了一些换肤功能,可以让我们选择各种我们喜欢的界面.本文就对VS中常用的窗口程序做一个简单的换肤,利用一个dll文件来进行实现. 首先我们 ...

  10. hdu 4762 && 2013 ACM/ICPC 长春网络赛解题报告

    这次的答案是猜出来的,如果做得话应该是应该是一个几何概型的数学题: 答案就是:n/(m^(n-1)); 具体的证明过程: 1.首先枚举这M个点中的的两个端点,概率是:n*(n-1); 2.假设这个蛋糕 ...