第十二周软工课设

第12周

分工:

本周工作总述:

本周实现了

  1. 本课程设计数据库的设计
  2. 以通过网站访问提交表单的方式
  3. 实时展示各个玩家的数据

代码展示:

GoldPoint.jsp

<%@page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8" %>
<%@page import="java.sql.*,java.io.*"%>
<html>
	<head>
		<title>黄金点</title>
		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
	</head>
	<body>
		<form id="add_form" name="add_form" action="gp提交.jsp">
			<br>
			您的名称:
			<input type="text" id="user_id" name="user_id" value="">
			<br>
			您的数值:
			<input type="text" id="user_value" name="user_value" value="30">
          	<br>
			<input type="submit" name="submit_btn" value="提交">
		</form>
		<input type="button" value="当前数据列表" onclick="javascrtpt:window.location.href='record_list.jsp'"/>
		</body>
</html>

record_list.jsp

<%--  --%><%@page contentType="text/html; charset=UTF-8"%>
<html>
	<head>
		<meta charset="utf-8" />
		<title>尝试一下</title>
		<meta http-equiv="X-UA-Compatible" content="IE=edge">
		<meta content="width=device-width, initial-scale=1" name="viewport" />
		<meta content="" name="description" />
		<meta content="" name="author" />
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
	</head>
	<body>
		<div style="margin:50px;border:2px solid pink;">
			<table class="table table-striped table-bordered table-hover datatable" id="record_list">
				<thead>
					<tr>
						<th class="table-checkbox"><input type="checkbox" class="group-checkable" data-set="#record_list .checkboxes" /></th>
						<th>序号</th>
						<th>玩家名称</th>
						<th>玩家的值</th>
						<th>上传时间</th>
					</tr>
				</thead>
			</table>
		</div>
	</body>
	<!-- END BODY -->
</html>
<link rel="stylesheet" type="text/css" href="dataTables.bootstrap.css" />
<link rel="stylesheet" type="text/css" href="bootstrap.min.css"/>

<script type="text/javascript" src="jquery-1.8.3.min.js"></script>
<script type="text/javascript" src="jquery.uniform.min.js"></script>
<script type="text/javascript" src="jquery.dataTables.min.js"></script>

<script src="record_list.js" type="text/javascript"></script>

get_record.jsp

<%@page contentType="text/html; charset=UTF-8" language="java"
	import="java.text.*,org.json.JSONObject,java.util.ArrayList,java.io.PrintWriter"
	import="java.util.HashMap,java.util.List,java.sql.*,java.util.Map,java.io.IOException"%>
<%
	String action=request.getParameter("action");
	String deviceId=request.getParameter("device_id");
	System.out.println("获得的参数是:action="+action+",device_id="+deviceId);

	//开始查询数据库
	//注意:如果遇到问题,Tomcat的日志在C:\Tomcat\logs\stdout.log,可以查看
	List jsonList = new ArrayList();
	try {
		Class.forName("com.mysql.jdbc.Driver");
	} catch (ClassNotFoundException classnotfoundexception) {
		classnotfoundexception.printStackTrace();
	}
	try {
		//注意:数据表video_file确保在test数据库下面,如果没有就导入进去,或者放在自己建的数据库,下面的test相应要修改
		Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/se?user=root&password=123456&useUnicode=true&characterEncoding=UTF-8");
		Statement statement = conn.createStatement();
		System.out.println("连接数据库Ok!!!");
		String sql="select * from gold_point";
		//也可以根据device_id查询
		//String sql="select * from video_file where device_id like '%"+deviceId+"%' order by register_time";
		System.out.println("构造出来的sql语句是:"+sql);
		ResultSet rs = statement.executeQuery(sql);
		while (rs.next()) {
			List list = new ArrayList();
			
			list.add(rs.getString("id"));
			list.add(rs.getString("id"));
			list.add(rs.getString("user_id"));
			list.add(rs.getString("user_value"));
			list.add(rs.getString("create_time"));
			jsonList.add(list);
		}
		statement.close();
		conn.close();
		System.out.println("数据库关闭了!!!");
	} catch (SQLException sqlexception) {
		sqlexception.printStackTrace();
	}
	//数据库查询完毕,得到了json数组jsonList//
	//jsonList.clear();
	//下面开始构建返回的json
	JSONObject jsonObj=new JSONObject();
	jsonObj.put("aaData",jsonList);
	jsonObj.put("action",action);
	jsonObj.put("result_msg","ok");	//如果发生错误就设置成"error"等
	jsonObj.put("result_code",0);	//返回0表示正常,不等于0就表示有错误产生,错误代码
	System.out.println("最后构造得到的json是:"+jsonObj.toString());
	response.setContentType("text/html; charset=UTF-8");
	try {
		response.getWriter().print(jsonObj);
		response.getWriter().flush();
		response.getWriter().close();
	} catch (IOException e) {
		e.printStackTrace();
	}
	System.out.println("返回结果给调用页面了。");
%>

注意:由于js代码冗长,此处不做展示

截图演示:

  1. 数据库表单:
    在这里插入图片描述

  2. 提交数据页面
    在这里插入图片描述
    提交之后的返回信息
    在这里插入图片描述

  3. 数据库更新与页面更新:
    在这里插入图片描述
    在这里插入图片描述

工作展望:

  1. 我们将在后端进一步加入数据分析,以丰富程序内容,但由于时间成本较大,目前没能实现。
  2. 前端处理不够漂亮,我们打算学习响应式页面架构,做到多处访问仍能够做到显示美观

待解决的问题:

  1. 后端
    后端仍然存在些许逻辑问题,有待解决。虽然已经实现黄金点的整体逻辑,但仍需要重构。
  2. 前端
    页面较为简陋,这与展望是相对应的
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值