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垃圾收集器与内存分配策略,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2015-07-07
  • java-jsp springmvc-controller 传值到页面的方法

    java-jsp springmvc-controller 传值到页面的方法

    下面小编就为大家分享一篇java-jsp springmvc-controller 传值到页面的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-03-03
  • Java获取用户IP属地模拟抖音详解

    Java获取用户IP属地模拟抖音详解

    细心的小伙伴可能会发现,抖音新上线了 IP 属地的功能,小伙伴在发表动态、发表评论以及聊天的时候,都会显示自己的 IP 属地信息,本篇文章我们来模拟实现这一功能
    2022-07-07
  • java双色球机选法程序解析

    java双色球机选法程序解析

    这篇文章主要为大家详细解析了java双色球机选法程序,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-01-01
  • Spring Boot 利用 XML 方式整合 MyBatis

    Spring Boot 利用 XML 方式整合 MyBatis

    这篇文章主要介绍了Spring Boot 利用 XML 方式整合 MyBatis,文章围绕主题的相关资料展开详细的内容介绍,具有一定的参考价值,组要的小伙伴可以参考一下
    2022-05-05
  • Java实现AWT四大事件的详细过程

    Java实现AWT四大事件的详细过程

    AWT的事件处理是一种委派式事件处理方式:普通组件(事件源)将整个事件处理委托给特定的对象(事件监听器);当该事件源发生指定的事件时,就通知所委托的事件监听器,由事件监听器来处理这个事件
    2022-04-04
  • Log4j日志记录框架配置及用法解析

    Log4j日志记录框架配置及用法解析

    这篇文章主要介绍了Log4j日志记录框架配置及用法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07
  • 详解Java利用实现对称加密(DES、3DES、AES)

    详解Java利用实现对称加密(DES、3DES、AES)

    本篇文章主要介绍了Java利用实现对称加密(DES、3DES、AES),具有一定的参考价值,有兴趣的可以了解一下。
    2017-01-01
  • Java超详细教你写一个银行存款系统案例

    Java超详细教你写一个银行存款系统案例

    这篇文章主要介绍了怎么用Java来写一个银行的存款系统,银行存款主要有账号和存款金额两个属性,感兴趣的朋友跟随文章往下看看吧
    2022-03-03
  • 详解Java中的File文件类以及FileDescriptor文件描述类

    详解Java中的File文件类以及FileDescriptor文件描述类

    在Java中File类可以用来新建文件和目录对象,而FileDescriptor类则被用来表示文件或目录的可操作性,接下来我们就来详解Java中的File文件类以及FileDescriptor文件描述类
    2016-06-06

最新评论