高校社团管理系统

更新时间:2024-05-21 09:14:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

本科毕业论文(设计)

高校社团管理系统的设计与实现

作 者 指导教师

摘要:随着现代科学技术的飞速发展,计算机技术已在各个领域得到应用,成为各行业必不可少的工具。随着高校社团种类数量的不断增多,高校社团管理系统对于社团的管理有着重要的作用。本系统主要采用myeclipse 和MySQL等编程工具,分为前台和后台两个系统部分。这个系统的开发主要包括后台数据库的建立和维护再加上前端应用程序的开发两方面。这个系统主要完成对用户权限、会员管理、用户留言、资料查询四个方面。系统可以完成对各类信息的浏览、查询、添加、修改、删除等等功能。论文综述了课题研究背景、意义及发展现状;分析了高校社团管理的需求;简介了系统开发环境,阐述了各个功能的编码实现。该系统可以为社团管理提供便捷的操作,满足高校社团的基本需求。

关键词:MYSQL;myeclipse;社团管理

Abstract:With the rapid development of modern science and technology, computer technology has been applied in various fields, become indispensable tools. With the increasing of college society type number, the community management system has an important role in corporate management.This system mainly uses myeclipse and MySQL programming tools, is divided into foreground and background two system parts. This system development mainly includes the backstage database the establishment and maintenance and front application program of two aspects of the development of. This system mainly completes to user permissions, member management, user messages, data query from four aspects. System can complete to each kind of information to browse, query, add, modify, delete, etc.Paper summarizes the research background, significance and current situation of the development; analyzes the demand of the university community management; introduces the system development environment.This paper expounds the function of the coded. The system can provide corporate management with convenient operation, meet the basic needs of college-students associations.

Key words: MYSQL;myeclipse;Community management

皖西学院本科毕业论文(设计)

目 录

1 绪论 ......................................................................... 1

1.1课题背景 ................................................................ 1 1.2目的和意义 .............................................................. 1 1.3开发工具及技术 .......................................................... 2 1.4软硬件需求 .............................................................. 4 2 需求分析 ..................................................................... 5

2.1可行性分析 .............................................................. 5 2.3功能模块需求分析 ........................................................ 6 2.4性能需求 ................................................................ 7 2.5界面需求 ................................................................ 7 3 系统分析与设计 ............................................................... 9

3.1设计的基本思想 .......................................................... 9 3.2数据库的分析与设计 ...................................................... 9 4 系统功能实现 ................................................................ 17

4.1管理员登陆页面 ......................................................... 17 4.3普通用户模块 ........................................................... 25 5 系统测试 .................................................................... 27

5.1系统测试目的与意义 ..................................................... 27 5.2测试过程 ............................................................... 27 5.3其他错误 ............................................................... 28 结 论 ........................................................................ 31 致 谢 ........................................................................ 32 参考文献 ...................................................................... 33

皖西学院本科毕业论文(设计)

1 绪论 1.1课题背景

在社团建设中,资金成为限制学生活动的主要因素。在此情况下,学校应该在保证一定学生社团活动专项经费的基础上,积极争取政策、多渠道筹集经费,为学生社团提供必要的经费保障。同时学生社团要增强自身的造血功能,利用自身的知识优势、专业优势组织开展面向广大学生、面向社会的服务活动,实现经费来源多元化。此外学校要充分考虑各社团的性质、特点、活动形式等因素,对活动场所、办公场所及办公用品等合理分配、高效利用。

大学生社团作为社会发展的必然产物,对新一代大学生的成长成才影响巨大,同时也给学校各项工作带来了新的挑战和机遇。高校社团建设是一个长期、复杂的过程,只有在高校党、团组织的高度重视和领导下,切实加强高校学生社团工作,实现社团管理的规范化和制度化,高校学生社团才能充分发挥出其服务于教育、服务于学生的积极作用。

随之而来,大学社团的管理工作也需要达到一定的高度去管理、把从平时很多同学辛苦烦劳的体力劳动中解脱出来,便于社团管理人员及时的对会费进行管理,对社团人的发展有一定的促进作用! 1.2目的和意义

本次的开发内容——社团管理系统就是信息管理与现代化办公设备相结合的例子。开发本系统希望使大学社团管理可以从年复一年的输入、计算、统计等工作中解脱出来,由于社团方面的数据众多,输入、统计极为不便,输入量大,计算量大。这些工作都以人力来完成将费时费力,而且容易出现错误和疏漏。本系统一次录入信息后,就可以反复多次在不同的信息库中使用。

计算机已经成为我们学习和工作的得力助手:

今天,计算机的价格已经十分低廉,性能却有了长足的进步。它已经被应用于许多领域,计算机之所以如此流行的原因主要有以下几个方面:

首先,计算机可以代替人工进行许多繁杂的劳动; 其次,计算机可以节省许多资源;

第三,计算机可以大大的提高人们的工作效率; 第四,计算机可以使敏感文档更加安全,等等。

第 1 页

皖西学院本科毕业论文(设计)

在大中专中用计算机管理社团信息的意义

现在我国的高等院校中信息的管理水平还停留在纸介质的基础上,这样的机制已经不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代这种传统的管理方法必然被计算机为基础的信息管理所取代。我作为一个计算机应用的本科生,希望可以在这方面有所贡献。

1.3开发工具及技术 1.3.1开发工具

此次设计主要采用MyEclipse加Tomcat后台服务器进行,设计过程中页面主要使用JSP技术完成,下面对MyEclipse、Tomcat和SqlServer数据库进行简要介绍。 (1) MyEclipse[4]

MyEclipse,是一个十分优秀的用于开发Java, J2EE的Eclipse插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开元产品的支持十分不错。MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对Eclipse IDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML, Struts, JSP, CSS, Javascript, SQL, Hibernate。 (2) Tomcat

Tomcat是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。可以这样认为,当在一台机器上配置好Apahce服务器,可利用它响应对HTML页面的访问请求。实际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以当运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。 (3) MySQL [5]

MySql使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性;支持AIX、FreeBSD、HP-UX、Linux、Mac OS、NovellNetware、OpenBSD、OS/2 Wrap、Solaris、Windows等多种操作系统;为多种编程语言提供了API;支持多线程,充分利用CPU资源;

第 2 页

皖西学院本科毕业论文(设计)

提供TCP/IP、ODBC和JDBC等多种数据库连接途径;可以处理拥有上千万条记录的大型数据库。对于一般的个人使用者和中小型企业来说,MySql提供的功能已经绰绰有余,而且由于MySql是开放源码软件,因此可以大大降低总体拥有成本。

1.3.2 JSP

JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑[4]。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。

Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。JSP与Servlet一样,是在服务器端执行的,通常返回给客户端就是一个HTML文本,因此客户端只要有浏览器能浏览。JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。Servlet是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。JSP技术的优点:

(1)一次编写,到处运行。除了系统之外,代码不用做任何更改。

(2)系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比ASP/.net的局限性是显而易见的。

(3)强大的可伸缩性。从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。

(4)多样化和功能强大的开发工具支持。Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下

(5)支持服务器端组件。web应用需要强大的服务器端组件来支持,开发人员需要利用其他工具设计实现复杂功能的组件供web页面调用,以增强系统性能。JSP可以使用成熟的JAVA BEANS 组件来实现复杂商务功能。

第 3 页

皖西学院本科毕业论文(设计)

(5)社团信息表主要记录的社团的基本信息,表结构如表5所示。

表5管理员信息表(t_shetuan)

列名 id mingcheng fuzeren jieshao lishijian del

数据类型 int varchar varchar varchar varchar varchar

长度

11 20 20 5000 255 255

允许空 是否主键

否 是 是 是 是 是

是 否 否 否 否 否

说明 编号 名称 负责人 介绍 成立时间 是否删除

3.1.3数据库的连接原理

采用JDBC的方式来链接数据库的,只需要在工程中导入相对应数据库的jar包,就可以很方便的来对数据库进行连接。在程序中,用 Class.forName()方法来加载驱动程序,再用DriverManager的getConnection()方法就可以创建一个数据库连接了[8]。程序采用的是DAO模式的操作数据库,所谓DAO就是Data Access Object,数据访问对象,是Java编程中的一种经典模式,如今已经被广泛应用,还有J2EE架构中持久层框架的基础知识,是基于分层次式的软件架构来实现对数据库的访问操作[8]。DAO模式的主要思想其实就是从抽象数据源获取可以操纵数据的方法。这些抽象数据的含义就是使得那些编写应用程序的程序员不需要关心数据库的物理位置,或者它是何种数据库,只需要使用封装数据库中表示记录的数据对象即可。其思想如图10所示: BusinessObject 使用 封装 DataAccessObject 创建/ 使用 DataSource 获取/修改 DataTransferObject

图10 DAO模式类图

第 14 页

皖西学院本科毕业论文(设计)

图中BussinessObject是业务对象, 是一种使用DAO模式的客户端;DataTransferObject数据传输对象,在应用程序不同层次之间传输对象,在分布式应用程序中,通常整理的很多性能都可以提高;DataObjectAcces数据输入/输出对象封装了对数据源的一些基本操作;DataSource 指的是数据源。从图中可以看出,DAO模式分离了业务逻辑与数据逻辑等,编写的软件具有比较良好的层次式体系结构。本系统为了数据库的方便操作,主要使用DB的对象来接一个数据库(建立一个类DBContent),代码如下:

public DB()

{

}

/** 创建数据库连接 */ public Connection getCon() {

{

con = DriverManager.getConnection(url, user, password); try {

Class.forName(className); try

} catch (ClassNotFoundException e) { }

System.out.println(\加载数据库驱动失败!\); e.printStackTrace();

} catch (SQLException e)

{

System.out.println(\创建数据库连接失败!\); con = null; e.printStackTrace();

第 15 页

皖西学院本科毕业论文(设计)

}

} return con;

在程序需要连接数据库的地方,只需要生成一个DB的对象,就可以对数据库进行连接并进行操作了。

第 16 页

皖西学院本科毕业论文(设计)

4 系统功能实现

在管理信息系统的使用寿命期中,仅通过了需求分析、系统设计等阶段之后,便要开始了系统实施阶段。在系统分析和设计阶段的两个阶段,系统开发工作主要是集中在逻辑、功能还有技术设计上,系统实施阶段要有此前各个阶段的工作成果,将技术设计转化为物理实现,因此系统实施的成果,是系统分析和设计阶段的结晶。 4.1管理员登陆页面

1.为了保证系统的安全性,要使用本系统必须先登陆到系统中。 2.程序运行效果图如图11所示:

图11 管理员登陆页面设计

3.在登陆页面输入用户名和密码以,点击提交按钮,跳转到登陆的service中,在该service中会对用户名,密码进行判断,如果正确提示“通过验证”,进入到管理界面,如果错误则提示“用户名和密码不正确”,页面调转到登陆页。 loginservice关键代码: if(userType==1)

{

String sql=\Object[] params={userName,userPw};

第 17 页

皖西学院本科毕业论文(设计)

DB mydb=new DB(); mydb.doPstm(sql, params); try {

ResultSet rs=mydb.getRs();

boolean mark=(rs==null||!rs.next()?false:true); if(mark==false) { } else {

result=\

Tuser user=new Tuser(); user.setId(rs.getString(\

user.setLoginname(rs.getString(%user.setLoginpw(rs.getString(%user.setLoginpw(rs.getString(%user.setName(rs.getString(%user.setSex(rs.getString(%user.setAge(rs.getString(%user.setXuehao(rs.getString(%user.setBanji(rs.getString(%user.setTel(rs.getString(\

result=\

WebContext ctx = WebContextFactory.get(); HttpSession session=ctx.getSession(); session.setAttribute(\

session.setAttribute(\

}

第 18 页

皖西学院本科毕业论文(设计)

}

rs.close();

catch (SQLException e) { } finally { }

mydb.closed();

System.out.println(\登录失败!\e.printStackTrace();

4.2管理员模块

1.管理员主页面:左方页面展示了管理员可操作的七大功能,进入相关的管理页面可以链接到子菜单,并且高亮显示,每个管理模块下面都有相应的子菜单。 2.程序运行效果图如图12所示:

图12管理员主页面

在每个jsp页面将会对相关用户进行拦截操作,这样可以提高安全性,防止用户不经过

第 19 页

皖西学院本科毕业论文(设计)

登陆页面而进入任何子菜单页面:

if(session.getAttribute(\{

out.print(\请先登录!');window.open('../index.jsp','_self')\ }

4.2.1社团管理 (1)社团信息录入

管理员输入社团相关正确信息后点击提交按钮,如果是没有输入完整的信息,比如没有输入社团名称,都会给出相应的错误提示,不能录入成功。输入数据都通过form表单中定义的方法onsubmit=\来检查,checkForm()函数中是各种的校验输入数据的方式。

程序效果图如下图13所示:

图13 社团信息录入

(2)社团信息管理

管理员点击左侧的菜单“社团信息管理”,页面跳转到社团信息管理界面,调用后台的action类查询所有社团信息。 程序效果图如下图14所示

第 20 页

皖西学院本科毕业论文(设计)

图14 社团信息管理

社团管理关键代码:

public void shetuanAdd(HttpServletRequest req,HttpServletResponse res) {

String mingcheng=req.getParameter(\String fuzeren=req.getParameter(\String jieshao=req.getParameter(\String lishijian=req.getParameter(\String del=\

String sql=\

values(?,?,?,?,?)\

Object[] params={mingcheng,fuzeren,jieshao,lishijian,del}; DB mydb=new DB(); mydb.doPstm(sql, params); mydb.closed();

req.setAttribute(\操作成功\

req.setAttribute(\

String targetURL = \

}

dispatch(targetURL, req, res);

第 21 页

皖西学院本科毕业论文(设计)

(3)社团信息删除

首先是点击页面中的社团信息管理,页面会跳转到社团管理界面,浏览所有的社团信息,点击要删除的社团,点确定弹出的确定对话框,就可以删除该社团信息了。

4.2.2社团活动信息管理 (1)社团活动录入

在此页面主要是输入社团活动相关信息,输入完成后点提交即可。

程序效果图如图15所示:

图15 社团活动信息录入

(2)社团活动信息管理

管理员点击页面左侧的文字菜单“社团活动管理”,页面就可跳转到社团活动管理界面,调用后台的电影 Action类,查询出所有的社团活动信息,并且把这些信息封转到数据集合List中,绑定到request对象,然后页面跳转到相应的jsp,然后显示出社团活动信息。

社团活动管理关键代码:

第 22 页

皖西学院本科毕业论文(设计)

public void huodongAdd(HttpServletRequest req,HttpServletResponse res) {

int shetuan_id=Integer.parseInt(req.getParameter(\String biaoti=req.getParameter(\String neirong=req.getParameter(\String shijian=req.getParameter(\String didian=req.getParameter(\String lianxi=req.getParameter(\String del=\

String sql=\

values(?,?,?,?,?,?,?)\

Object[] params={shetuan_id,biaoti,neirong,shijian,didian,lianxi,del}; DB mydb=new DB(); mydb.doPstm(sql, params); mydb.closed();

req.setAttribute(\操作成功\

req.setAttribute(\

String targetURL = \ }

dispatch(targetURL, req, res);

4.2.3注册用户信息管理 (1)注册用户管理

游客访问这个网站站点的时候,可以注册成为会员,使用其中的功能。管理员登陆后可以管理其中的会员信息,点击左侧的“注册用户管理“,页面会跳转中后台的是java类userAction,在此类中,读取数据库中,提取会员的信息,绑定到request对象,再输出到相应的jsp显示页面页面。 程序效果图如下图16所示

第 23 页

皖西学院本科毕业论文(设计)

图16 社团活动信息管理页面

会员管理核心代码:

public void userReg(HttpServletRequest req,HttpServletResponse res) {

String id=String.valueOf(new Date().getTime()); String loginname=req.getParameter(\String loginpw=req.getParameter(\String name=req.getParameter(\String sex=req.getParameter(\String age=req.getParameter(\String xuehao=req.getParameter(\String banji=req.getParameter(\String tel=req.getParameter(\String del=\

String sql=\

values(?,?,?,?,?,?,?,?,?,?)\

Object[] params={id,loginname,loginpw,name,sex,age,xuehao,banji,tel,del}; DB mydb=new DB(); mydb.doPstm(sql, params); mydb.closed();

req.setAttribute(\注册成功。请登录\req.setAttribute(\

第 24 页

皖西学院本科毕业论文(设计)

String targetURL = \ }

dispatch(targetURL, req, res);

4.2.4留言板管理 (1)留言板管理

管理员可以维护前台留言板相关信息。 4.2.5修改密码

(1)输入用户名和用户的原来的密码,然后输入新密码以后点击修改按钮即可修改密码成功。

(2)程序效果图如图17所示:

图17 修改密码

4.3普通用户模块 4.3.1系统主页面实现

页面的上方显示的是本网站的logo,还有当前的时间,下方主要部分是信息显示区域。 4.3.2社团列表查询

普通用户点击导航栏的“社团列表”。调用后台的java类Action可以查询所有的社团信息,并且绑定这些信息到request对象中,在显示层jsp展示出来后,用户点击可以社团名称,就可以显示该社团的详细信息了。 4.3.3用户注册

对于游客,可以使用浏览的功能,如果想进一步使用本系统的话,需要注册一个合法的账号,然后登陆,之后才方能使用其它功能,点击导航栏菜单“用户注册”,调用js的open()

第 25 页

皖西学院本科毕业论文(设计)

方法,在弹出注册页面,输入相关正确的信息,然后,点击注册按钮即可以完成注册,如果没有输入完整的信息的话,页面会给出相应的错误提示,就不能录入成功。输入数据都通过form表单中定义的方法onsubmit=\)\来检查,checkForm()函数中是各种的校验输入数据的方式。 4.3.4社团活动

如果需要查看社团相关活动信息,可以点导航中“社团活动”,即可显示出相关的社团活动信息。 4.3.5留言板

系统提供留言板功能,社团会员之间可以在此模块进行交流。

第 26 页

皖西学院本科毕业论文(设计)

5 系统测试

5.1系统测试目的与意义

系统测试,是管理信息系统开发周期中的一个相当重要而又漫长的阶段。其重要性体现在他是保证系统质量与可靠性的最后一道关口,是对与整个系统开发过程包括系统分析、系统设计和系统实现的最终审查阶段。

系统测试的任务是,尽可能多的,彻底的检查出程序中的错误,提高软件系统的可靠性,目的性是检验系统“做得怎样”。此阶段又可以分为三个步骤:模块测试,测试每个模块的程序是否正确;组装测试,测试模块之间的接口是否正确;确认测试,测试整个软件系统是否可以满足用户功能和性能的要求。测试发现问题之后还要经过调试找出错误的原因和位置,并且进行改正。对于基于系统整体需求说明书的黑盒测试,应覆盖系统联合的部件,系统测试是对整个产品,也就是系统进行的测试,目的是验证系统是否满足了需求规格的定义,找出与需求规格不符合或者是与之矛盾的地方。 5.2测试过程

在测试开始的时候,由于数据库中的数据是随便输入的,所以没有实用性,为了使系统更加的完善,在系统测试的过程中,可以将一开始编程随便输入的数据全部清理后,输入一些有效的测试数据,这样就可以更真实的反映系统所有功能的实现情况。

这样如果不断发现问题,经过反复的测试、调试,就可以把问题一个个的解决,最终系统就可以正常运行了。 5.2.1主页面的登录模块测试

测试流程: 1.打开系统首页,输入错误的登录信息 2.登录

3.输入正确的登录信息 4.登录

5.测试结果

第 27 页

皖西学院本科毕业论文(设计)

模块名称 登录模块

测试用例 预期结果 实际结果 是否通过 通过

用户名:null 弹出错误提示,请输入登陆失败,提示请密码:null 用户名

输入用户名

登录模块 用户名:m1 弹出错误提示,请输入失败,提示输入密密码:null 密码

通过

登录模块 用户名:m1 密码:1

弹出错误提示,用户名登陆失败,提示用或者密码错误

户名或者密码错误

通过

5.3其他错误

在程序设计要实现的过程中不可避免的会产生各种各样的错误,比如书写错误、符号错误、参数传递问题等等。这些都需要通过仔细细心的检测与不断的调试才能够解决的。比如说在servlet路径配置时因自己粗心疏忽而导致的运行错误。再比如还有中文乱码问题。 5.3.1中文乱码问题处理

在程序中我们常常会遇到中文乱码的现象,如果手动的在servlet和jsp页面进行设置,那是相当的麻烦。因此,在程序的开始就写了一个过滤器SetCharacterEncodingFilter。

在web.xml中配置:

SetCharacterEncodingFilter

myweb.util.filter.SetCharacterEncodingFilter

encoding gb2312

SetCharacterEncodingFilter

/*//*表示工程下所有的页面都会有此过滤器的处理

第 28 页

本文来源:https://www.bwwdw.com/article/rzf7.html

Top