文章目录
- **摘 要**
- **目** **录**
- 系统实现
- 开发环境
摘 要
当前,大多数高校的社团信息管理都是采用纸质档案的方式来管理的,这样不仅不能长期的保存信息,而且在数据的查找上带来很大的不方便。在目前的网络技术和计算机技术的普及和信息管理的迅速发展,使用计算机,但总的趋势来实现。校园社区管理也可以支持用料计算机信息管理等,利用网络实现信息共享。这样不仅符合现代的管理要求,而且有助于将信息管理推向科学化、规范化。同时,用计算机去管理信息拥有各种优势,比如稳定性高、使用年限长、检索迅速、保密性好、存储量大、开销低等。这些优点能够减少相关人员工作量,极大地提高社团信息管理的效率。社区管理系统是基于Java作为开发语言,使用MySQL数据库作为后端数据存储,使用Dreamweaver,Myeclipise作为研发开发的工具,信息化管理已经在信息社会为目标来实现的。本文分析了现有的大学社区管理为出发点的现状,已经研究制定方案,详细的社区管理体制分析和功能分析,总结了系统,数据库设计和展示的最终控制系统的结果数据结构的设计框架的功能需要的可行性社区项目,介绍了该系统用实验来验证结果表明,所有有关的各种功能ESS发展,以及经验和发展不足。
关键词**:** 社团管理系统; Java; B/S; mySQL
目 录
第一章 绪 论… 1
第二章 相关技术及应用程序简介… 2
2.1 J2EE架构… 2
2.2 JSP简介… 3
2.3 MYSQL数据库简介… 3
第三章 社团管理系统的可行性研究与需求分析… 5
3.1 可行性研究… 5
3.1.1 经济可行性… 5
3.1.2 技术可行性… 5
3.1.3 时间可行性… 5
3.1.4 法律可行性… 6
3.2 需求分析… 6
3.2.1 系统需求… 6
3.2.2 功能需求… 6
第四章 系统的总体架构与数据库设计… 13
4.1 系统的整体结构… 13
4.2 系统类分析… 13
4.2.1 User类… 14
4.2.2 Member类… 15
4.2.3 News类… 15
4.2.4 Activity类… 16
4.2.5 Equip类… 16
4.3 系统的数据库设计… 17
4.3.1 数据库的需求分析… 17
4.3.2 数据库概念结构设计… 17
4.3.3 数据库逻辑结构设计… 21
第五章 系统实现及关键代码… 26
5.1 系统设计应遵循的原则… 26
5.2 系统的实现环境… 26
5.2.1 硬件环境… 26
5.2.2 开发环境… 26
5.3 系统的功能实现… 27
5.3.1 前台介绍… 27
5.3.2 后台介绍… 32
第六章 系统调试与测试… 41
6.1 程序调试… 41
6.2 测试项目名称及测试内容… 41
6.3 测试用例… 42
6.4 测试结果… 43
结 论… 44
参考文献… 45
致 谢… 46
系统实现
社团管理系统的用户大致分为三类普通用户、社团管理员、系统管理员
各类用户的具体功能介绍如下:
a.普通用户:只能登陆网站的前台
1、注册登录:可以在前台注册和登录
2、信息浏览:可以浏览网站前台的新闻信息、活动信息、社团信息等
3、在线交流:登录系统后可以在留言板进行交流
4、在线申请:可以申请加入自己喜欢的社团和申请创建社团,可以在线查看申请结果和记录
B.社团管理员:、包括了普通用户的功能外,还具有以下功能:
1、后台登陆:社团管理员可以登录网站后台对一些信息进行处理
2、个人中心:修改个人的信息和密码
3、社团信息管理:对自己所创建的社团信息进行管理
4、社团成员管理:对社团成员信息进行管理,审核前台的入社申请
5、社团活动管理:对社团需要举行的活动内容邮件向系统管理员提出申请,对活动的内容信息可以做出修改。
6、社团新闻管理:可以对本社团的新闻信息进行增删改查的操作,但是增加的操作需要得到系统管理员的同意才能生效。
c.系统管理员:
1、后台登陆:系统管理员可以登录网站后台对一些信息进行处理
2、个人中心:修改个人的信息和密码
3、用户信息管理:对注册的用户信息进行管理,有增删改查权限
4、社团创建审批:对收到的社团创建信息进行审核
5、社团简介管理:对申请通过的社团信息进行管理,有删除、修改、查询权限
6、学校器材管理:对学校的现有活动器材进行管理,有增删改查权限
7、图片新闻管理:可以对前台的图片新闻进行编辑修改
8、活动消息管理:对所有社团的活动申请就是审核,对活动的信息进行增删
9、新闻资讯管理:对所有社团申请发布的新闻信息就是审核批准,对新闻信息进行增删
10、留言信息管理:可以对前台的留言信息进行审核,拥有搜索和删除权限
首页具有登录注册、导航栏、消息展示、友情链接等部分组成,用户在未登录的情况下可以浏览社团新闻,登录后可以选择加入社团等一系列活动。首页界面如图5-1所示:
前台的社团简介界面主要是介绍每个社团的基本情况,点进进入各个社团的向信息后,页面右上角会有申请加入社团的提示,登录的用户可以在这里申请加入。申请发出后,后台该社团的负责人将会收到,并对用户的申请作出审核,通过后用户就将成为该社团一员了。创建社团的功能与申请加入社团功能类似,只是创建社团的申请会直接发送到系统管理员那里,如图5-2所示
/**
* @Title: joinMember
* @Description: 申请加入社团
* @return String
*/
public String joinMember(){
try {
//检查社团是否已经加入
Member member = indexManager.getMember(paramsMember);
if (member!=null) {
if (member.getMember_flag()==1) {
setErrorReason("您的申请正在审批中,请等待!");
return "error2";
}else {
setErrorReason("您已经是该社团成员,无需再次申请!");
return "error2";
}
}
//申请加入社团
indexManager.joinMember(paramsMember);
} catch (Exception e) {
e.printStackTrace();
setErrorReason("申请失败!后台服务器繁忙!");
return "error2";
}
return "success";
}
/**
* @Title: joinMember
* @Description:申请加入社团
* @param Member
* @return void
*/
public void joinMember(Member member){
Connection conn = BaseDao.getConnection();
//申请时间
member.setReg_date(DateUtil.dateToDateString(new Date()));
//审批标志
member.setMember_flag(1);
memberDao.addMember(member, conn);
BaseDao.closeDB(null, null, conn);
前台的留言板模块是用来实现登录用户之间的交流而设计的,如图5-3所示。
/**
* @Title: sblogs
* @Description: 留言板
* @return String
*/
public String listSblogs(){
try {
//查询留言板
if (paramsSblog==null) {
paramsSblog = new Sblog();
}
paramsSblog.setSblog_flag(2);
setPagination(paramsSblog);
int[] sum={0};
List<Sblog> sblogs = indexManager.listSblogs(paramsSblog,sum);
Param.setAttribute("sblogs", sblogs);
setTotalCount(sum[0]);
} catch (Exception e) {
e.printStackTrace();
return "error";
}
return "sblog";
}
/**
* @Title: addSblog
* @Description: 新增留言
* @return String
*/
public String addSblog(){
try {
//验证码验证
String random = (String)Param.getSession("random");
if (!random.equals(paramsSblog.getRandom())) {
setErrorReason("验证码错误!");
return "error2";
}
//新增留言
indexManager.addSblog(paramsSblog);
} catch (Exception e) {
e.printStackTrace();
return "error";
}
return "success";
}
/**
* @Title: addSblog
* @Description: 新增留言
* @param sblog
* @return void
*/
public void addSblog(Sblog sblog){
Connection conn = BaseDao.getConnection();
sblog.setSblog_date(DateUtil.dateToDateString(new Date(), "yyyy-MM-dd HH:mm:ss"));//留言时间
sblog.setSblog_flag(1);//待审核
sblogDao.addSblog(sblog, conn);
BaseDao.closeDB(null, null, conn);
}
用户注册页面是帮助未注册的用户实现注册功能的,注册以后的用户才能进行申请加入社团、申请创建社团和在线留言交流等功能,如图5-4所示。
用户首先通过登陆界面进入社团管理系统,不同的用户权限将会有不同的功能需求。登陆界面如图5-5所示:
个人中心后台用户主要是实现对个人信息的增删改查,如图5-8所示。
用户管理模块是系统管理员权限模块,主要是用来实现对注册用户的增删改查功能,如下图5-10所示。
系统管理员的社团创建审批模块管理模块,对申请注册的用户进行审核,如图5-11所示。
系统管理员社团管理员的社团成员管理模块,对申请的创建的社团进行审核,如图5-12所示。
系统管理员的社团社团简介管理模块和社团管理员的社团信息管理模块功能基本相同,不同之处就是社团管理员只能查看自己的社团的内容,系统管理员可以查看所有的信息的情况。
学校器材管理是系统管理员的权限,可以对这些信息进行增删改查,社团管理员在申请活动时,可以参考器材信息,申请活动器材。
图片资讯管理也是系统管理员的权限,主要是对前台图片新闻进行更改。
社团活动管理系统是管理员和社团管理员来共同完成,先由社团管理员做好活动的内容,并且申请到系统管理员,系统管理员对活动作出审核,审核通过后活动的通知也将发送到前台社团活动信息里进行宣传,如下图5-13和5-14。
/**
* @Title: addActivityShow
* @Description: 显示添加活动消息页面
* @return String
*/
public String addActivityShow(){
//查询学校器材
Equip equip = new Equip();
equip.setStart(-1);
List<Equip> equips = adminManager.listEquips(equip, null);
StringBuilder sBuilder = new StringBuilder();
if (equips!=null && equips.size()>0) {
for (int i = 0; i < equips.size(); i++) {
sBuilder.append(equips.get(i).getEquip_name());
if (i!=equips.size()-1) {
sBuilder.append(",");
}
}
}
Param.setAttribute("equips", sBuilder.toString());
return "activityEdit";
}
/**
* @Title: addActivity
* @Description: 添加活动消息
* @return String
*/
public String addActivity(){
try {
//用户身份判断
User admin = (User) Param.getSession("admin");
paramsActivity.setUser_id(admin.getUser_id());
if (admin.getUser_type()==2) {
//社团活动需审核
paramsActivity.setActivity_flag(1);
//社团活动
paramsActivity.setActivity_type(1);
}else {
//校园活动无需审核
paramsActivity.setActivity_flag(2);
//校园活动
paramsActivity.setActivity_type(2);
}
//添加活动消息
adminManager.addActivity(paramsActivity);
} catch (Exception e) {
setErrorTip("添加活动消息异常", "Admin_listActivitys.action");
}
setSuccessTip("添加成功", "Admin_listActivitys.action");
社团新闻管理也是系统管理员和社团管理员来共同完成,形势和社团活动的基本一样,也是先由社团管理员做好新闻内容,并且申请到系统管理员,系统管理员对新闻作出审核,审核通过后社团新闻将发布到网站的主页供浏览用户浏览。除此之外,系统管理员还可以发布校园的新闻资讯。
留言信息管理模块是系统管理员的权限,主要消息是查看和删除留言,如下图5-15所示。
开发环境
开发工具:idea、Navicat
数据库:MySQL8.0
环境配置:jdk1.8 、Tomcat8.5
开发人员:IT012201