彩票选号与中奖模拟Web系统【eclipse】

目录

步骤 1: 设置开发环境

步骤 2: 创建HTML页面

步骤 3: 创建Servlet类。

步骤 4: 部署和运行

步骤 5: 打包项目


基于HTML+Servlet设计实现一个小型的彩票选号和公布中奖的Web系统,功能包括:

1)服务器端随机生成7个1-30之间的数字,作为本次彩票的中奖号码;

2)客户端提供一个含有7个文本框的界面,用户可以在每个文本框选择一个1-30之间的整数,选择完毕后提交;提交后服务器端判断用户选择的数字中了几个号码。如果中了7个号,界面为用户显示中了一等奖;如果中了6个号,界面为用户显示中了二等奖;如果中了5个号,界面为用户显示中了三等奖;少于5个号,界面为用户显示未中奖。

说明:用Eclipse开发系统,完成后将整个项目文件打包后,以zip文件的上传。

步骤 1: 设置开发环境

  1. 安装Java和Eclipse
  2. IDE 在Eclipse中创建一个新的Dynamic Web Project。

步骤 2: 创建HTML页面

在webapp目录下创建一个名为index.html的HTML页面,用于用户输入彩票号码。

<!DOCTYPE html>  
<html>  
<head>  
    <title>Lottery number picking</title>  <!-- 彩票选号 -->
</head>  
<body>  
    <h1>Lottery number picking</h1>  <!-- 彩票选号 -->
    <form action="CheckLotteryServlet" method="post">  
        <table>  
            <tr>  
                <th>number</th> <!-- 号码 --> 
                <th>choose</th> <!-- 选择 -->
            </tr>  
            <tr>  
                <td>1</td>  
                <td><input type="number" min="1" max="30" name="number1" required></td>  
            </tr>  
            <tr>  
                <td>2</td>  
                <td><input type="number" min="1" max="30" name="number2" required></td>  
            </tr>  
            <tr>  
                <td>3</td>  
                <td><input type="number" min="1" max="30" name="number3" required></td>  
            </tr>  
            <tr>  
                <td>4</td>  
                <td><input type="number" min="1" max="30" name="number4" required></td>  
            </tr>  
            <tr>  
                <td>5</td>  
                <td><input type="number" min="1" max="30" name="number5" required></td>  
            </tr>  
            <tr>  
                <td>6</td>  
                <td><input type="number" min="1" max="30" name="number6" required></td>  
            </tr>  
            <tr>  
                <td>7</td>  
                <td><input type="number" min="1" max="30" name="number7" required></td>  
            </tr>  
            <tr>  
                <td colspan="2" align="center"><input type="submit" value="sub"></td>  <!-- 提交 -->
            </tr>  
        </table>  
    </form>  
</body>  
</html>

步骤 3: 创建Servlet类。

 
package servlet;

import java.io.IOException;  
import java.io.PrintWriter;  
import java.util.Arrays;  
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;  
  
@WebServlet("/CheckLotteryServlet")  
public class CheckLotteryServlet extends HttpServlet {  
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {  
        response.setContentType("text/html;charset=UTF-8");  
        PrintWriter out = response.getWriter();  
  
        // 生成随机中奖号码  
        int[] winningNumbers = generateWinningNumbers();  
  
        // 从请求中获取用户选择的号码  
        int[] userNumbers = new int[7];  
        for (int i = 0; i < 7; i++) {  
            userNumbers[i] = Integer.parseInt(request.getParameter("number" + (i + 1)));  
        }  
  
        // 检查中奖情况  
        String result = checkLottery(winningNumbers, userNumbers);  
  
        // 输出结果  
        out.println("<html><body>");  
        out.println("<h2>Winning Results:</h2>");  // 中奖结果
        out.println("<p>" + result + "</p>");  
        out.println("</body></html>");  
        out.close(); // 确保关闭输出流  
    }  
  
    private int[] generateWinningNumbers() {  
        int[] numbers = new int[7];  
        Random rand = new Random();  
        boolean[] used = new boolean[30];  
        for (int i = 0; i < 7; i++) {  
            int num;  
            do {  
                num = rand.nextInt(30) + 1;  
            } while (used[num - 1]);  
            numbers[i] = num;  
            used[num - 1] = true;  
        }  
        Arrays.sort(numbers);  
        return numbers;  
    }  
    
    private String checkLottery(int[] winningNumbers, int[] userNumbers) {  
        int matchCount = 0;  
        for (int i = 0; i < 7; i++) {  
            for (int j = 0; j < 7; j++) {  
                if (winningNumbers[i] == userNumbers[j]) {  
                    matchCount++;  
                    break; // 找到匹配项后继续查找下一个中奖号码  
                }  
            }  
        }  
      
        String result;  
        if (matchCount == 7) {  
            result = "Congratulations on winning the first prize!";  // 恭喜您中了一等奖!
        } else if (matchCount == 6) {  
            result = "Congratulations on winning the second prize!";  // 恭喜您中了二等奖!
        } else if (matchCount == 5) {  
            result = "Congratulations on winning the third prize!";  // 恭喜您中了三等奖!
        } else {  
            result = "Unfortunately, you didn't win.";  // 很遗憾,您未中奖。
        }  
      
        return result;  
    }    
}

步骤 4: 部署和运行

确保你的项目已经配置好了Tomcat服务器或其他Servlet容器。将项目部署到Tomcat服务器上。启动Tomcat服务器。在浏览器中访问http://localhost:8080/你的项目名/lottery.html(端口号8080和项目名可能因你的配置而异)。在页面上选择号码并提交,查看中奖结果。

步骤 5: 打包项目

右键点击你的项目 -> Export。选择WAR file,然后按照向导完成打包过程。打包完成后,你会得到一个.war文件,这就是你的Web应用的压缩包。

  • 6
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值