使用JSP技术实现百万富翁猜数字游戏

简介:

设计一个web app,每次产生一个30以内的数字,给5次机会让客户猜测这个数字:

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

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

JSP代码:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<% 
    String result=(String)request.getAttribute("result");
        if(result!=null){
            out.write("<font color='red'>"+result+"'</font>");
        }
%>

<% 
    Integer times=(Integer)request.getAttribute("times");
        if(times!=null){
            out.write("你还有"+(5-times)+"次机会!");
        }
%>
<br/>
<form action="/zxz/zxz" method="POST">
    请输入你的数(20以下):<input type="text" name="Lucy" /><br/>
    <%
        if(times!=null){
    %>
            <input type="hidden" name="times" value="<%=times %>"/>
    <%        
        }
    %>
    <input type="submit" value="竞猜" />
</form>
</body>
</html>

Servlet代码:

package hah;

import java.io.IOException;
import java.util.Random;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


/**
 * Servlet implementation class zxz
 */
@WebServlet("/zxz")
public class zxz extends HttpServlet {
    private static final long serialVersionUID = 1L;

    int answer;
    public void newGame() {
        Random random=new Random();
        answer=random.nextInt(20);
    }
    public zxz() {
        newGame();
    }
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType("text/html;charset=utf-8");
        String lucyStr=request.getParameter("Lucy");
        Integer lucyNb=null;
        System.out.println("答案:"+answer);
        if(!lucyStr.equals("")) {
            lucyNb=Integer.parseInt(lucyStr);
        }
        Integer times=1;
        
        String timeStr=request.getParameter("times");
        if(timeStr!=null&&!timeStr.equals("")) {
            times=Integer.parseInt(timeStr)+1;
        }
        if(times<5) {
            String result="";
            if(lucyNb>answer) {
                result="大了";            
            }else if(lucyNb<answer) {
                result="小了";
            }else if(lucyNb==answer) {
                result="中了";
                times=null;
            }
            request.setAttribute("times", times);
            request.setAttribute("result", result);
        }else {
            newGame();
            response.getWriter().write("游戏结束<a href='"+request.getContextPath()+"/One.jsp'>再来一把</a>");
            return;
        }
        request.getRequestDispatcher("/One.jsp").forward(request, response);
    }


    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doGet(request, response);
    }

}

总结:

  1. 使用标签hidden可以隐式传递数据而不被用户发现 可以用来记录次数 如:
<input type="hidden" name="times" value="<%=times %>"/>
  1. Servlet是用来跳转和执行逻辑代码的,JSP是用来展示数据的
  2. request.getParameter("Lucy");如果参数不存在则返回null的字符串值
  3. 跳转有两种方式 一个是页面跳转 地址要写项目名+jsp或者servlet

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

<form action="/zxz/zxz" method="POST">
//转发
request.getRequestDispatcher("/One.jsp").  
forward(request, response);
目录
相关文章
|
7月前
|
存储 XML SQL
【JavaWeb】渲染技术Jsp
JSP 全称是 Java Server Pages,Java 的服务器页面 JSP 这门技术的最大的特点在于,写 JSP 就像在写 HTML 相比 html 而言,html 只能为用户提供静态数据,而 JSP 技术允许在页面中嵌套 java 代码, 为用户提供动态数据 相比 Servlet 而言,Servlet 很难对数据进行排版,而 jsp 除了可以用 java 代码产生动态数据的同时,也很容易对数据进行排版。
|
3月前
|
SQL 前端开发 Java
JSP技术详解及其在Web开发中的应用
【1月更文挑战第2天】本文将对JSP(Java Server Pages)技术进行详细的介绍和分析。JSP是一种基于Java的服务器端编程技术,它允许开发者在HTML或XML等文档中直接嵌入Java代码片段,从而动态地生成Web页面内容。本文将首先阐述JSP的基本原理和工作机制,然后讨论其在Web开发中的各种应用场景,包括表单处理、数据库访问、会话管理等,并通过实例代码展示JSP的实际应用。最后,本文将对JSP的优缺点进行评述,并对未来的发展趋势进行展望。
105 10
|
3月前
|
Java 数据库连接 数据库
通过JSP、JavaBean、JDBC、Servlet技术,实现用户登录功能
通过JSP、JavaBean、JDBC、Servlet技术,实现用户登录功能
|
8月前
|
存储 前端开发 Java
|
4月前
|
开发框架 前端开发 JavaScript
毕业设计论文--外文翻译:JSP技术简介
毕业设计论文--外文翻译:JSP技术简介
|
6月前
|
SQL 前端开发 Java
JSP个人信息管理系统myeclipse开发sql数据库BS模式java编程struts2技术mvc框架
JSP 个人信息管理系统是一套完善的web设计系统,对理解JSP java编程开发语言有帮助struts2技术mvc框架,系统具有完整的源代码和数据库,开发环境为TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql5.0,使用java语言开发,系统主要采用B/S模式开发。
56 0
|
6月前
|
SQL 前端开发 Java
JSP网上订餐管理系统myeclipse开发sql数据库BS模式java编程servlet技术mvc框架
JSP 网上订餐管理系统是一套完善的web设计系统,对理解JSP java编程开发语言有帮助servlet技术mvc框架,系统具有完整的源代码和数据库,开发环境为TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql5.0,使用java语言开发,系统主要采用B/S模式开发。
37 0
|
6月前
|
前端开发 Cloud Native Java
JSP 技术从问世到淘汰,它到底经历了什么?
JSP 技术从问世到淘汰,它到底经历了什么?
146 0
|
7月前
|
Java 应用服务中间件
jsp技术
jsp技术
114 0
|
8月前
|
SQL XML 前端开发
JavaWeb开发 JSP技术详解(一)
JavaWeb开发 JSP技术详解(一)

相关课程

更多