Java实战之晚会抽奖系统的实现

 更新时间:2022年03月14日 16:11:25   作者:qq_1334611189  
这篇文章主要介绍了如何利用Java语言编写一个晚会抽奖系统,文中采用到的技术有Jdbc、Servlert、JavaScript、JQuery、Ajax等,感兴趣的可以学习一下

一、项目运行

环境配置:

Jdk1.8 + Tomcat8.5 + mysql + Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)

项目技术:

Jdbc+ Servlert + html+ css + JavaScript + JQuery + Ajax +等等

二、效果图

三、核心代码

管理员登陆控制层

public class adminAction implements ModelDriven{
	admin admin = null;
	public String login() {
		DBManager dbManager = new DBManager();
		String sql= "select * from admin where username = '"+admin.getUsername()+"' and password = '"+admin.getPassword()+"'";
		ResultSet resultSet = dbManager.executeQuery(sql);
		try {
			if (resultSet.next()) {
			System.out.println("登陆成功");
			ActionContext.getContext().getSession().put("admin", admin);
			return "success";
		}else {
			ActionContext.getContext().getSession().put("message", "登录失败");
			return "failed";
		}
		} catch (Exception e) {
			e.printStackTrace();
			ActionContext.getContext().getSession().put("message", "登录失败");
			// TODO: handle exception
		}finally{
			dbManager.closeConnection();
		}
		
		return "failed";
	}
 
	@Override
	public Object getModel() {
		// TODO Auto-generated method stub
		if (admin == null) {
			admin = new admin();
		}
		return admin;
	}
}

抽奖控制层一二三等奖设置

public class choujiangAction implements ModelDriven {
	private luck_dog luck_dog = null;
 
	@Override
	public Object getModel() {
		// TODO Auto-generated method stub
		if (luck_dog == null) {
			luck_dog = new luck_dog();
		}
		return luck_dog;
	}
 
	public void choujiang() {
		System.out.println(luck_dog.getLuck_num());
		DBManager dbManager = new DBManager();
		String sql = "select * from lucky_dog where luck_num = "
				+ luck_dog.getLuck_num();
		ResultSet resultSet = dbManager.executeQuery(sql);
		try {
			if (resultSet.next()) {
				System.out.println("这个号码已经中过奖!!!");
				String s = "{\"name\":\"提示\",\"age\":\"alreadyexisterror\"}";
				ServletActionContext.getResponse()
						.setCharacterEncoding("UTF-8");
				ServletActionContext.getResponse().getWriter().print(s);
				return;
			} else {
				int total = 0;
				int luck_group = 0;
				sql = "select count(*)as totalCount from lucky_dog";
				resultSet = dbManager.executeQuery(sql);
				if (resultSet.next()) {
					total = resultSet.getInt("totalCount");
				}// 得到抽奖表中的记录数
				if (total < 8) {
					luck_group = 3;// 三等奖8个
				} else if (total < 13) {
					luck_group = 2;// 二等奖5个
				} else if (total < 16) {
					luck_group = 1;// 一等奖3个
				} else {
					System.out.println("抽奖总数已满!!!");
					String s = "{\"name\":\"提示\",\"age\":\"totaloverflowerror\"}";
					ServletActionContext.getResponse().setCharacterEncoding(
							"UTF-8");
					ServletActionContext.getResponse().getWriter().print(s);
					return;
				}
				sql = "insert into lucky_dog (luck_num,luck_group)values("
						+ luck_dog.getLuck_num() + "," + luck_group + ")";
				boolean result = dbManager.insertSQL(sql);
				if (result) {
					String s = "{\"name\":\"提示\",\"age\":\"success\"}";
					ServletActionContext.getResponse().setCharacterEncoding(
							"UTF-8");
					ServletActionContext.getResponse().getWriter().print(s);
					System.out.println("抽奖数据已经写入数据库");
				} else {
					System.out.println("抽奖数据写入失败");
				}
			}
		} catch (Exception e) {
			// TODO: handle exception
		} finally {
			dbManager.closeConnection();
 
		}
 
	}
 
	public void view_result() {
		System.out.println("view_resultview_resultview_result");
		DBManager dbManager = new DBManager();
		String sql = "select * from lucky_dog";
		luck_dog luck_dog = null;
		ResultSet resultSet = dbManager.executeQuery(sql);
		List<luck_dog> luck_dogList = new ArrayList<luck_dog>();
		try {
			while (resultSet.next()) {
				luck_dog = new luck_dog();
				luck_dog.setId(resultSet.getInt("id"));
				luck_dog.setLuck_group(resultSet.getInt("luck_group"));
				luck_dog.setLuck_num(resultSet.getInt("luck_num"));
				luck_dogList.add(luck_dog);
			}
			JSONArray jsonArray = JSONArray.fromObject(luck_dogList);
			System.out.println(jsonArray);
			// String s = "{\"name\":\"提示\",\"age\":\"已提交抢答申请,请静候抢答结果!!!\"}";
			ServletActionContext.getResponse().setCharacterEncoding("UTF-8");
			ServletActionContext.getResponse().getWriter().print(jsonArray);
		} catch (Exception e) {
			// TODO: handle exception
			e.printStackTrace();
		} finally {
			dbManager.closeConnection();
 
		}
 
	}
 
}

抢答控制层

public class choujiangAction implements ModelDriven {
	private luck_dog luck_dog = null;
 
	@Override
	public Object getModel() {
		// TODO Auto-generated method stub
		if (luck_dog == null) {
			luck_dog = new luck_dog();
		}
		return luck_dog;
	}
 
	public void choujiang() {
		System.out.println(luck_dog.getLuck_num());
		DBManager dbManager = new DBManager();
		String sql = "select * from lucky_dog where luck_num = "
				+ luck_dog.getLuck_num();
		ResultSet resultSet = dbManager.executeQuery(sql);
		try {
			if (resultSet.next()) {
				System.out.println("这个号码已经中过奖!!!");
				String s = "{\"name\":\"提示\",\"age\":\"alreadyexisterror\"}";
				ServletActionContext.getResponse()
						.setCharacterEncoding("UTF-8");
				ServletActionContext.getResponse().getWriter().print(s);
				return;
			} else {
				int total = 0;
				int luck_group = 0;
				sql = "select count(*)as totalCount from lucky_dog";
				resultSet = dbManager.executeQuery(sql);
				if (resultSet.next()) {
					total = resultSet.getInt("totalCount");
				}// 得到抽奖表中的记录数
				if (total < 8) {
					luck_group = 3;// 三等奖8个
				} else if (total < 13) {
					luck_group = 2;// 二等奖5个
				} else if (total < 16) {
					luck_group = 1;// 一等奖3个
				} else {
					System.out.println("抽奖总数已满!!!");
					String s = "{\"name\":\"提示\",\"age\":\"totaloverflowerror\"}";
					ServletActionContext.getResponse().setCharacterEncoding(
							"UTF-8");
					ServletActionContext.getResponse().getWriter().print(s);
					return;
				}
				sql = "insert into lucky_dog (luck_num,luck_group)values("
						+ luck_dog.getLuck_num() + "," + luck_group + ")";
				boolean result = dbManager.insertSQL(sql);
				if (result) {
					String s = "{\"name\":\"提示\",\"age\":\"success\"}";
					ServletActionContext.getResponse().setCharacterEncoding(
							"UTF-8");
					ServletActionContext.getResponse().getWriter().print(s);
					System.out.println("抽奖数据已经写入数据库");
				} else {
					System.out.println("抽奖数据写入失败");
				}
			}
		} catch (Exception e) {
			// TODO: handle exception
		} finally {
			dbManager.closeConnection();
 
		}
 
	}
 
	public void view_result() {
		System.out.println("view_resultview_resultview_result");
		DBManager dbManager = new DBManager();
		String sql = "select * from lucky_dog";
		luck_dog luck_dog = null;
		ResultSet resultSet = dbManager.executeQuery(sql);
		List<luck_dog> luck_dogList = new ArrayList<luck_dog>();
		try {
			while (resultSet.next()) {
				luck_dog = new luck_dog();
				luck_dog.setId(resultSet.getInt("id"));
				luck_dog.setLuck_group(resultSet.getInt("luck_group"));
				luck_dog.setLuck_num(resultSet.getInt("luck_num"));
				luck_dogList.add(luck_dog);
			}
			JSONArray jsonArray = JSONArray.fromObject(luck_dogList);
			System.out.println(jsonArray);
			// String s = "{\"name\":\"提示\",\"age\":\"已提交抢答申请,请静候抢答结果!!!\"}";
			ServletActionContext.getResponse().setCharacterEncoding("UTF-8");
			ServletActionContext.getResponse().getWriter().print(jsonArray);
		} catch (Exception e) {
			// TODO: handle exception
			e.printStackTrace();
		} finally {
			dbManager.closeConnection();
 
		}
 
	}
 
}

到此这篇关于Java实战之晚会抽奖系统的实现的文章就介绍到这了,更多相关Java抽奖系统内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • springboot使用maven实现多环境运行和打包问题

    springboot使用maven实现多环境运行和打包问题

    这篇文章主要介绍了springboot使用maven实现多环境运行和打包问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • 解决java-jar报错:xxx.jar 中没有主清单属性的方法

    解决java-jar报错:xxx.jar 中没有主清单属性的方法

    在使用 java -jar xxx.jar 命令运行 Java 应用程序时,遇到了以下错误:xxx.jar 中没有主清单属性,这个错误表示 JAR 文件缺少必要的启动信息,本文将介绍该错误的原因以及如何通过修改 pom.xml 文件来解决,需要的朋友可以参考下
    2024-11-11
  • java使用筛选法求n以内的素数示例(java求素数)

    java使用筛选法求n以内的素数示例(java求素数)

    这篇文章主要介绍了java使用筛选法求n以内的素数示例(java求素数),需要的朋友可以参考下
    2014-04-04
  • Java针对封装数组的简单复杂度分析方法

    Java针对封装数组的简单复杂度分析方法

    这篇文章主要介绍了Java针对封装数组的简单复杂度分析方法,简单讲述了java封装数组时间复杂度分析的原理、实现方法与操作注意事项,需要的朋友可以参考下
    2020-03-03
  • Java连接各种数据库的方法

    Java连接各种数据库的方法

    这篇文章主要介绍了Java连接各种数据库的方法,实例分析了java连接MySQL、SQL Server、Sysbase、Oracle、PostgreSQL及DB2等数据库的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-02-02
  • Java并发编程之浅谈ReentrantLock

    Java并发编程之浅谈ReentrantLock

    今天带大家学习Java并发编程的相关知识,文中对Java ReentrantLock作了非常详细的图文示例,对正在学习java的小伙伴们有很好地帮助,需要的朋友可以参考下
    2021-05-05
  • Java并发编程之LockSupport类详解

    Java并发编程之LockSupport类详解

    LockSupport是一种线程阻塞工具,它可以在线程内任意位置让线程阻塞.接下来就带着大家详细了解一下LockSupport类,,需要的朋友可以参考下
    2021-05-05
  • springboot接口参数为List的问题

    springboot接口参数为List的问题

    这篇文章主要介绍了springboot接口参数为List的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11
  • springboot本地调试没问题,打包运行报错原因及分析

    springboot本地调试没问题,打包运行报错原因及分析

    这篇文章主要介绍了springboot本地调试没问题,打包运行报错原因及分析,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • java集合中的迭代器Iterator和数组内置方法及常见的报错解决方案

    java集合中的迭代器Iterator和数组内置方法及常见的报错解决方案

    文章介绍了Java集合框架中迭代器(Iterator)的使用,以及数组和集合的内置方法,重点解释了在遍历集合时删除元素时可能出现的`ConcurrentModificationException`异常,并说明了如何正确地使用迭代器来删除集合中的元素,感兴趣的朋友跟随小编一起看看吧
    2025-02-02

最新评论