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抽奖系统内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • java基本教程之java线程等待与java唤醒线程 java多线程教程

    java基本教程之java线程等待与java唤醒线程 java多线程教程

    这篇文章主要介绍了对线程等待/唤醒方法,文中使用了多个示例,大家参考使用吧
    2014-01-01
  • Java8 Stream API 详细使用方法与操作技巧指南

    Java8 Stream API 详细使用方法与操作技巧指南

    这篇文章主要介绍了Java8 Stream API 详细使用方法与操作技巧,总结分析了Java8 Stream API 基本功能、使用方法与操作注意事项,需要的朋友可以参考下
    2020-05-05
  • Java web访问http://localhost:8080/xx/xx.jsp报404错误问题的解决方法

    Java web访问http://localhost:8080/xx/xx.jsp报404错误问题的解决方法

    这篇文章主要给大家介绍了关于Java web访问http://localhost:8080/xx/xx.jsp报404错误问题的解决方法,很多小伙伴在刚开始用Springboot整合jsp开发时都会遇到这个问题, 按照别人的教程一步一步搭建,但就是会报404,文中介绍的非常详细,需要的朋友可以参考下
    2023-04-04
  • Java入门教程--带包的类如何编译与运行

    Java入门教程--带包的类如何编译与运行

    我们一般都是通过IDE(如Eclipse、Intellij Idea,STS等)来开发,调试java项目。在不借助IDE的情况下,如何编译、运行Java程序。打包编译时,会自动创建包目录,不需要自己新建包名文件夹。
    2022-12-12
  • SpringBoot实现application配置信息加密

    SpringBoot实现application配置信息加密

    在配置文件中,我们有开发环境配置和生产环境配置,而生产环境的配置信息是需要做好防护的,避免外泄,所以本文为大家整理了application配置信息加密的方法,需要的可以参考下
    2023-07-07
  • Socket结合线程池使用实现客户端和服务端通信demo

    Socket结合线程池使用实现客户端和服务端通信demo

    这篇文章主要为大家介绍了Socket结合线程池的使用来实现客户端和服务端通信实战demo,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2022-03-03
  • SpringBoot后端接口的实现(看这一篇就够了)

    SpringBoot后端接口的实现(看这一篇就够了)

    这篇文章主要介绍了SpringBoot后端接口的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • 使用工具类-java精确到小数点后6位

    使用工具类-java精确到小数点后6位

    这篇文章主要介绍了使用工具类-java精确到小数点后6位,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-10-10
  • Java eclipse doc文档生成流程解析

    Java eclipse doc文档生成流程解析

    这篇文章主要介绍了Java eclipse doc文档生成流程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-12-12
  • Java 中引入内部类的意义?

    Java 中引入内部类的意义?

    这篇文章主要介绍了Java 中引入内部类的意义?文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,,需要的朋友可以参考下
    2019-06-06

最新评论