目录
1 需求分析 1
2 概要设计 1
(1)数据结构 1
(2) 模块划分 2
(3) 总体框架 2
(4)数据库设计: 2
ER图 2
数据库表结构: 3
3 详细设计 4
4 调试分析 6
5 测试结果 7
图一管理员登陆主界面 7
图二 管理员主界面 7
图三 项目信息及其操作 8
图四 修改信息 8
图五 各个项目人数对比 9
图六 饼状图 9
图七 项目报名人数对比 10
图八 账号激活 10
6 课程心得总结 11
1.难点与解决方案: 11
2.系统存在的问题和进一步的工作 11
3.收获与感受 11
1 需求分析
开发一个高校竞赛报名管理系统,采用Web方式,由前台和后台管理两个部分组成。前台作为与用户 直接交互的可视化界面,后台管理的维护工作主要由系统管理员进行,包括完成对数据的保护和修改。本文转载自http://www.biyezuopin.vip/onews.asp?id=15156使之能提供以下基本功能:
(1).实现管理人员的登录界面以及拥有管理的功能。
(2).实现学生注册、登录、选择报名项目,修改报名信息,取消报名等功能。
(3).实现竞赛项目的增删改查管理等。
(4).实现比赛团队的注册登录。
扩展功能:(1)简单的权限处理 (2)报表打印功能(3)统计功能
2 概要设计
(1)数据结构
逻辑结构分为
学生表(学号,姓名,密码,学院,email,状态,验证码,注册时间)
团队表(队名,登录密码,指导教师)
项目表(比赛项目名,介绍,类别)
管理员表(姓名,密码)
(2)模块划分
整个报名管理系统分为三个模块,即学生模块,团队模块,管理员模块
三个角色分别登录然后完成各自的功能。
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%@taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'index.jsp' starting page</title>
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
<script src="${pageContext.request.contextPath}/js/jquery-3.2.1.min.js"></script>
<script type="text/javascript">
$(function () {
var $butSub = $("button");
var $inEmail = $(":input[name=student.email]");
var $inNumber = $(":s[name='student.number']");
// 密码等信息是否可用的标识
var flags = true;
$butSub.prop("disabled", true);
$inEmail.change(function () {
var email = $(this).val();
email = $.trim(email);
var $this = $(this);
$this.nextAll("span").remove();
$butSub.prop("disabled", true);
var $span = $("<span style='color: red'></span>");
if (email != "") {
var url = "emailCheck.action";
var args = {"email": email};
$.post(url, args, function (data) {
if (data == "0") { // 不可用
$this.after($span.text("邮箱不可用"));
flags = false;
} else if (data == "1") { // 可用
$this.after($span.css("color", "green").text("可用"));
$(":password").each(function () {
if ($(this).val() == "") {
} else {
flagsNameAble = true;
$butSub.prop('disabled', false);
}
})
} else {
alert("服务器错误");
}
})
} else {
$this.after($span.text("名字不可为空"));
$butSub.prop("disabled", true);
this.focus();
}
return false;
})
})
</script>
</head>
<body>
<h1>个人注册页面</h1>
<s:form action = "register.action" method = "post" namespace="/" theme = "simple" >
<table border = "1" width = "400">
<tr>
<td>姓名</td>
<td><s:textfield name = "student.name"/></td>
</tr>
<tr>
<td>学号</td>
<td><s:textfield name = "student.number" id="number"/></td>
</tr>
<tr>
<td>password</td>
<td><s:textfield name = "student.password"/></td>
</tr>
<tr>
<td>学院</td>
<td><s:textfield name = "student.department"/></td>
</tr>
<tr>
<td>email</td>
<td><s:textfield name = "student.email" id="email"/></td>
</tr>
<tr>
<td><input type = "submit" value = "添加"></td>
<td><a href="login.jsp">已有账号去登录</a></td>
</tr>
</table>
</s:form>
</body>
</html>