【使用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. C# 获取随机可用端口号

    TCP与UDP段结构中端口地址都是16比特,可以有在0---65535范围内的端口号.对于这65536个端口号有以下的使用规定: (1)端口号小于256的定义为常用端口,服务器一般都是通过常用端口号来 ...

  2. List<>.Contains<>的用法

    List<Plan> Plans = new List<Plan>();//存放服务器中的当前用户所接受的项目计划列表. //Plan 类包含PlanID等属性. if (Pl ...

  3. c++读文件-对try-throw-catch的应用

    #include<iostream> #include<fstream> #include<stdlib.h> #include<stdio.h> us ...

  4. 【转】成为Java顶尖程序员 ,看这11本书就够了

    成为Java顶尖程序员 ,看这11本书就够了 转自:http://developer.51cto.com/art/201512/503095.htm 以下是我推荐给Java开发者们的一些值得一看的好书 ...

  5. bootstrap table 服务器端分页例子分享

    这篇文章主要介绍了bootstrap table 服务器端分页例子分享,需要的朋友可以参考下 1,前台引入所需的js 可以从官网上下载 复制代码代码如下: function getTab(){var ...

  6. uva 1335 - Beijing Guards

    竟然用二分,真是想不到: 偶数的情况很容易想到:不过奇数的就难了: 奇数的情况下,一个从后向前拿,一个从前向后拿的分配方法实在太妙了! 注: 白书上的代码有一点点错误 代码: #include< ...

  7. POJ 2528 Mayor's posters(线段树)

    点我看题目 题意 :建一堵墙粘贴海报,每个候选人只能贴一张海报,海报的高度与墙一样高,一张海报的宽度是整数个单位,墙被划分为若干个部分,每个部分的宽度为一个单位,每张海报完全的覆盖一段连续的墙体,墙体 ...

  8. 【Xamarin开发 Android 系列 5】 Xamarin 的破解

    原文:[Xamarin开发 Android 系列 5] Xamarin 的破解 有关这个话题,十分敏感,公司开发还是支持下商业版权吧,毕竟一帮猴子辛辛苦苦没日没夜的干活,不说开宝马奔驰,吃饭还是必须的 ...

  9. hadoop2.2编程: Interation

    继承关系: 1.java.lang.Object |_ org.apache.hadoop.io.BinaryComparable |_ org.apache.hadoop.io.Text //des ...

  10. oracle 大表删除数据后,回收空间的问题。

    在oracle中由于表结构设计不合理或者需要清楚老数据的时候,经常需要对大表数据进行清理. 一般有一下几种方法: 1. 删除大部分数据,留下小部分数据.我们可以把需要保留的数据转移到别的表,然后再把大 ...