毕业论文-基于SSH的社团管理系统的设计与实现_第1页
毕业论文-基于SSH的社团管理系统的设计与实现_第2页
毕业论文-基于SSH的社团管理系统的设计与实现_第3页
毕业论文-基于SSH的社团管理系统的设计与实现_第4页
毕业论文-基于SSH的社团管理系统的设计与实现_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、目录 TOC o 1-3 h z u HYPERLINK l _Toc418867157 摘要 PAGEREF _Toc418867157 h I HYPERLINK l _Toc418867158 Abstract PAGEREF _Toc418867158 h II HYPERLINK l _Toc418867159 1引言 PAGEREF _Toc418867159 h 1 HYPERLINK l _Toc418867160 1.1开发背景 PAGEREF _Toc418867160 h 1 HYPERLINK l _Toc418867161 1.2开发目的及意义 PAGEREF _To

2、c418867161 h 1 HYPERLINK l _Toc418867162 2相关技术介绍 PAGEREF _Toc418867162 h 3 HYPERLINK l _Toc418867163 2.1MVC模型 PAGEREF _Toc418867163 h 3 HYPERLINK l _Toc418867164 2.2Struts2框架 PAGEREF _Toc418867164 h 3 HYPERLINK l _Toc418867165 2.2.1Struts概述 PAGEREF _Toc418867165 h 3 HYPERLINK l _Toc418867166 2.2.2St

3、ruts的工作流程 PAGEREF _Toc418867166 h 4 HYPERLINK l _Toc418867167 2.3Spring框架 PAGEREF _Toc418867167 h 4 HYPERLINK l _Toc418867168 2.3.1Spring体系结构 PAGEREF _Toc418867168 h 4 HYPERLINK l _Toc418867169 2.3.2Spring核心机制 PAGEREF _Toc418867169 h 5 HYPERLINK l _Toc418867170 2.4Hibernate框架 PAGEREF _Toc418867170 h

4、 5 HYPERLINK l _Toc418867171 2.4.1Hibernate体系结构 PAGEREF _Toc418867171 h 6 HYPERLINK l _Toc418867172 2.4.2Hibernate运行过程 PAGEREF _Toc418867172 h 6 HYPERLINK l _Toc418867173 2.5集成SSH开发框架 PAGEREF _Toc418867173 h 7 HYPERLINK l _Toc418867174 3系统可行性及需求分析 PAGEREF _Toc418867174 h 9 HYPERLINK l _Toc418867175

5、3.1系统可行性分析 PAGEREF _Toc418867175 h 9 HYPERLINK l _Toc418867176 3.2系统功能性需求分析 PAGEREF _Toc418867176 h 9 HYPERLINK l _Toc418867177 3.2.1用户管理模块 PAGEREF _Toc418867177 h 9 HYPERLINK l _Toc418867178 3.2.2社团管理模块 PAGEREF _Toc418867178 h 10 HYPERLINK l _Toc418867179 3.2.3社团活动模块 PAGEREF _Toc418867179 h 10 HYPE

6、RLINK l _Toc418867180 3.2.4留言模块 PAGEREF _Toc418867180 h 10 HYPERLINK l _Toc418867181 3.3系统非功能性需求分析 PAGEREF _Toc418867181 h 11 HYPERLINK l _Toc418867182 4系统详细设计 PAGEREF _Toc418867182 h 12 HYPERLINK l _Toc418867183 4.1开发相关说明 PAGEREF _Toc418867183 h 12 HYPERLINK l _Toc418867184 4.2开发配置说明 PAGEREF _Toc41

7、8867184 h 12 HYPERLINK l _Toc418867185 4.3数据库设计 PAGEREF _Toc418867185 h 15 HYPERLINK l _Toc418867186 4.4系统模块实现说明 PAGEREF _Toc418867186 h 19 HYPERLINK l _Toc418867187 4.4.1用户登录功能实现 PAGEREF _Toc418867187 h 19 HYPERLINK l _Toc418867188 4.4.2社团创建功能实现 PAGEREF _Toc418867188 h 21 HYPERLINK l _Toc418867189

8、4.4.3社团活动申请功能实现 PAGEREF _Toc418867189 h 23 HYPERLINK l _Toc418867190 4.4.4社团公告发布功能实现 PAGEREF _Toc418867190 h 24 HYPERLINK l _Toc418867191 4.4.5留言功能实现 PAGEREF _Toc418867191 h 26 HYPERLINK l _Toc418867192 5系统测试 PAGEREF _Toc418867192 h 28 HYPERLINK l _Toc418867193 5.1测试目的及方法 PAGEREF _Toc418867193 h 28

9、HYPERLINK l _Toc418867194 5.2测试步骤 PAGEREF _Toc418867194 h 28 HYPERLINK l _Toc418867195 5.3系统测试出现的问题及解决方法 PAGEREF _Toc418867195 h 28 HYPERLINK l _Toc418867196 总结 PAGEREF _Toc418867196 h 29 HYPERLINK l _Toc418867197 致谢 PAGEREF _Toc418867197 h 30 HYPERLINK l _Toc418867198 参考文献 PAGEREF _Toc418867198 h 3

10、1毕业设计(论文):基于SSH的社团管理系统的设计与实现 PAGE II基于SSH的社团管理系统的设计与实现摘要随着科学技术的发展,各行各业以及各个领域都在逐步实现办公的数字化和信息化。因此,对于为国家培养人才的高等院校,实施信息化非常有必要。特别是当前高校社团种类繁多,为了更好的管理这些社团并为其提供一个良好的交流平台,现需实现社团管理系统,对社团所有工作进行管理。系统主要分为四大模块,用户管理模块、社团管理模块、社团活动模块、留言模块。本设计以社团管理系统为背景,介绍了该系统的开发技术背景,然后阐述了该系统的数据库设计,功能模块的设计,并着重分析了各功能实现流程。系统选用的是MySql数据

11、库,应用服务器Apache Tomcat6.0,采用SSH框架技术,并以Struts的MVC模式来实现表现逻辑和控制逻辑的分离。此系统的开发和实施,不仅提高了社团工作的效率,而且使得学校各个社团之间的数据实现了共享、降低了各个社团之间的沟通成本,具有很大的实际意义。关键词:社团管理;SSH框架;MVC模式;MySql;Apache Tomcat6.0Design for Community Management System Based on SSHAbstractWith the development of science and technology, all industry and

12、field are gradually achieve office digital and information technology; Therefore, for training the talents of colleges and universities to the nation, informatization is very necessary. Especially in the current wide range of community colleges and universities, in order to better manage these commu

13、nities and to provide a good platform, now need to achieve community management system to manage all the work for the community. System is mainly divided into four modules: User management module, community management module, community activities module, message module. Designed to community managem

14、ent system are introduced to develop the technical background, and then on the database of the system design, the design of function modules and analyzes the achieve process of various functions. System uses MySql database, application server for Apache Tomcat6.0, by the SSH framework technology, an

15、d uses Struts MVC pattern to achieve the separation of presentation logic and control logic. Development and implementation of this system, not only improve the efficiency of community work, but also makes each club achieve the data sharing, reduce the various associations communication costs, has g

16、reat practical significance.Keywords: Community Management; SSH Frame; MVC Pattern; MySql; Apache Tomcat6.0 PAGE 33引言开发背景在新时期,高校社团种类繁多,是大学生课外文化生活的重要组成部分。学生社团直接作用于学生,学生遵循自愿原则参与社团活动,多样化的活动方式吸引了学生的眼球,对学生业余生活有着广泛的影响,在大学生素质教育中发挥着越来越重要的作用,同时也为学生思想教育管理提供了新的方式。因此,加强高校学生社团的管理,全面开展健康向上的社团活动并积极引导青年学生主动参与,是攸关培养

17、健康、高素质青年的大事,也是学生自我实现和成长的确实需要1 林娟. 大学生社团的思想政治教育功能及其实现D.华中师范大学,2008.。1 林娟. 大学生社团的思想政治教育功能及其实现D.华中师范大学,2008.据调查,全国大学协会大多附属校团委,由校团委负责社团管理。这样学校可以通过团委了解全校社团的整体面貌,同时学生社团能够自由发展,学生也能踊跃参与,创造性也就得以激发,达到学生自己管理自己组织的目的;但另一方面,校团委毕竟资金不足,工作范围广,就会造成事务繁多管理不力的局面,有时就会忽视社团上的工作。社团管理工作的忽视,必然引发不良影响,例如缺乏有新意的活动甚至很少搞活动、社团经费管理混乱

18、和经费不足、会员信息的不定期删改、管理层工作的分工不明等问题,长此以往会使社团活动正常开展受到很多制约。总的来说,从学生社团联合会到各社团,在管理上都不同程度地存在着弊端2 李金发. 高校学生社团对大学生社会化的影响研究D.华中农业大学,2007.,主要问题如下:2 李金发. 高校学生社团对大学生社会化的影响研究D.华中农业大学,2007.(1)活动稀少,缺乏生命力。经常看到这样的现象:在新学年的开始几天,到处是社团宣传标语和介绍,但很快就会冷却下来,同时会员兴趣骤减,毫无热情可言。(2)社团联合会规章制度不健全。没有健全的监督与管理机制,就会缺乏服务意识,造成管理混乱。(3)没有有效的活动方

19、案。活动不给力,社员就会缺少参加活动的积极性,没有社员的参与,社团就会名存实亡。(4)经费不足,阻碍社团发展。目前,高校社团的活动经费大致来源于从校团委的行政经费中拨划、会员所交的会费、企业的赞助三个方面。无论经费从哪来,但都是有限的。再者由于经费管理混乱,会员积极性更加低落。总之,开发一个功能完善的高校社团管理系统,对高校学生社团是必不可少的。特别是在科技的发展和生产力水平的不断提高的今天,信息资源是各个部门的重要财富和资源,建立一个满足各级部门信息处理且行之有效的信息系统将成为一个企业或组织生存发展的重要条件3 罗妍妍. 新时期高校学生社团管理模式创新研究D.西南交通大学,2010.,使用

20、一套功能完善的大学生管理系统,也将大大的提高社团的管理效率。3 罗妍妍. 新时期高校学生社团管理模式创新研究D.西南交通大学,2010.开发目的及意义为了能更好的实现学生社团管理系统,通过对社团整个体系的调查与研究,理论联系实际,最终本系统采用SSH框架和MySql数据库,同时以B/S为架构4 郝晓龙. 基于B/S架构的库存管理系统的分析与设计D.北京邮电大学,2012.,开发出一个适合我校的、操作简单、功能完善的社团管理系统。该系统综合了社联的各个方面,目的就是为了能有效的管理社团,通过协调各个部门,限定其功能范围又使其相对独立,这样不但健全和完善了整个学校社团管理机制,而且社团的工作能够更

21、加顺利的开展。4 郝晓龙. 基于B/S架构的库存管理系统的分析与设计D.北京邮电大学,2012.对于本学生社团管理系统,其功能目标是实现将现有的社团管理模式转变为基于Internet的无纸张化社团管理模式5 宁波. 基于Web的考试系统的设计与实现D.山东大学,2009.,所以它必须实现各社团信息的管理、各社团成员的管理以及社团与社团的管理。因此建立一个通畅的沟通平台,通过互联网就能实现会员之间的交流以及会员与全校学生的交流。所以说,开发社团管理系统不仅有助于社团的管理,也可以加强社团与外界的互动,具有十分重要的意义。5 宁波. 基于Web的考试系统的设计与实现D.山东大学,2009.相关技术

22、介绍MVC模型MVC即模型(Model)、视图(View)、控制器(Controller)的简称。它作为当前一种流行的软件设计模式6 李容. 基于MVC模式的Web应用研究J. 软件导刊,2010,01:19-21.,应用十分广泛。这三个模块是MVC的核心,彼此分工不同。如图2.1所示显示了这几个模块各自的功能及它们的相互关系。6 李容. 基于MVC模式的Web应用研究J. 软件导刊,2010,01:19-21.模型(Model)模型(Model)封装数据和业务规则视图(View)抽象数据的表达控制器(Controller)控制响应通知变化状态查询选择视图用户请求状态变化图2.1 MVC模型模

23、型在一个应用中有着功不可没的作用,所有的数据和业务均由它来处理。在MVC模式中,系统的核心功能在模型中得以实现,通过模型处理后的数据将直接传给视图,同时模型封装了实现系统功能的方法,能够供其他区域调用,也就使得程序代码得以重复利用。视图是一个应用与外界交流的窗口,是应用与用户的交流区域。在视图中没有业务处理,只是简单的显示了模型处理后的数据。用户可以通过视图向模型或控制器传递数据、发送处理请求,在得到返回结果后显示出来。视图和模型的实现,使得数据的处理和显示分别处于不同模块,使程序代码具有良好的层次性和可复用性。控制器是一个应用的过程控制中心。当用户由视图向其发送请求,控制器立即响应并创建模型

24、和设置属性值。这个过程控制器必须先进行数据的校验之后,才能交给对应的模型来进行业务逻辑处理,返回数据给视图。可见,控制器就是一个调度中心,能实现数据处理的中转。总的说来,使用MVC设计模式来开发系统的优点主要体现在低耦合和高复用。业务归模型处理,数据由视图显示,两者互不影响,这就是低耦合。而对于不同的用户调用的业务逻辑代码是一样的,这就是高复用性。Struts2框架Struts概述目前Struts有Struts1.x和Struts2.x7 邓子云 著.Java Web轻量级开发全体验M.北京:电子工业出版社,2012年1月.7。Struts2在Struts1的基础上有了很大的改善,并融入了We

25、bWork28 Peter Fejes Toth. Measuring Efficiency of Teaching Mathematics Online: Experiences with WeBWorKJ. Procedia - Social and Behavioral Sciences,2013,89:1211-1340.,也实现了MVC设计模式9 余银山,胡正华. 基于Struts2框架的Web应用开发研究J. 电脑知识与技术,2009,16:4224-4225+4227.9。Struts2将一个Web系统的程序分为三个部分,即模型、视图、控制器,模型由JavaBean、EJB组件等

26、完成具体业务的组件构成;视图由JSP文件、POJO对象(可有可无)组成;控制器由Action来实现。Struts2具体实现MVC设计模式原理图如图7 邓子云 著.Java Web轻量级开发全体验M.北京:电子工业出版社,2012年1月.8 Peter Fejes Toth. Measuring Efficiency of Teaching Mathematics Online: Experiences with WeBWorKJ. Procedia - Social and Behavioral Sciences,2013,89:1211-1340.9 余银山,胡正华. 基于Struts2框架

27、的Web应用开发研究J. 电脑知识与技术,2009,16:4224-4225+4227.控制器控制器ActionMapperAction模型JavaBeanEJB视图JSPPOJO浏览器struts.xml执行线控制线配置线图2.2 Struts2实现MVC的原理图Struts的工作流程Struts2通过核心控制器FilterDispathcer与拦截器Interceptor实现了 MVC架构10 王书媛. 基于Struts2和Hibernate的人力资源管理系统设计与实现D.厦门大学,2009.10。一个客户端的请求在Struts2框架中的处理主要有以下几个步骤。10 王书媛. 基于Stru

28、ts2和Hibernate的人力资源管理系统设计与实现D.厦门大学,2009.(1)客户端初始化,生成一个请求,该请求指向Servlet容器(例如Tomcat),这个请求经过一系列的过滤器之后被核心控制器调用,核心控制器询问ActionMapper,由它来决定这个请求是否需要某个Action。其中ActionMapper在Web应用启动时根据配置信息加载生成。(2)一旦某个Action被需要,核心控制器将请求处理结果交给ActionProxy类,而该接口通过配置管理器询问框架的配置文件,调用需要的Action类,从而创建一个ActionInvocation的实例。该实例使用命名模式来调用,在调

29、用Action的过程前后,涉及相关拦截器的调用。(3)一旦Action执行完毕,ActionInvocation根据struts.xml中的配置找到对应的返回结果。返回结果通常是JSP。Spring框架Spring是一个开源的框架,它的内容非常丰富,从实现了MVC的Spring Web MVC、表现层的Spring标签11 夏昕 著.Spring开发指南M.北京:电子工业出版社,2005年9月.11,到Spring AOP、核心的IOC等,需要理解的概念也非常之多。我们可以把Spring看成是各种开源技术的粘合剂,用它可以把各种组件组装在一起,而又互不影响,因此有可能通过Spring满足开发人

30、员对轻量级J2EE系统开发的一站式需求。11 夏昕 著.Spring开发指南M.北京:电子工业出版社,2005年9月.Spring体系结构Spring框架是一个分层架构,一个由7个模块组成的分层染构12 梅锋. 基于Spring实现J2EE企业应用开发框架的研究与应用D.武汉理工大学,2007.2。Spring模块建立在其核心容器之上,核心容器定义了创建、配置和管理Bean的方式13 胡启敏,薛锦云,钟林辉. 基于Spring框架的轻量级J2EE架构与应用J. 计算机工程与应用,2008,05:115-118+133.3。Spring能服务于所有层面的应用程序框架,用户不需要在每一层中使用它,

31、用户可以根据需要自由选择某一模块。Spring架构如图2.3所示。12 梅锋. 基于Spring实现J2EE企业应用开发框架的研究与应用D.武汉理工大学,2007.13 胡启敏,薛锦云,钟林辉. 基于Spring框架的轻量级J2EE架构与应用J. 计算机工程与应用,2008,05:115-118+133.Spring AOPSpring AOP资源层次AOP下层构造Spring ORMHibernate支持JDO支持Spring DAOJDBC支持DAO支持Spring WEBWeb应用内容多点解决方案Spring Context应用内容Spring AOP资源层次AOP下层构造Spring

32、Core支持效果Bean容器图2.3 Spring架构图Spring核心机制控制反转技术是Spring框架的核心机制14 仲红艳. 控制反转技术分析J. 计算机技术与发展,2006,11:59-61.14。IOC(Inversion of Control,控制反转)又称DI(Dependency Injection,依赖注入)。这两个名字表面上看来完全不同,其实质却是一样的。比如在A类的某个方法中新建了一个B类的实例,并需要用到B类的方法,则称A类依赖于B类,当B类的方法修改时,A类中的调用代码也需要修改,如果要让两者之间低耦合,可以将在A类中生成B类的实例的工作由第三方来完成,比如Sprin

33、g的bean容器。Spring通过配置文件的配置,生成B的实例,然后再注入到A类中,这样就可以使用了,因此称为依赖注入,然而本来这种信赖关系是A类来建立的,现在却由Spring的bean来管理了,因此称为控制反转。14 仲红艳. 控制反转技术分析J. 计算机技术与发展,2006,11:59-61.Hibernate框架Hibernate其实就是一种ORM(Object-Relation Mapping,对象-关系映射)中间件15 罗红梅. 集成Hibernate、Spring和Struts的架构应用研究D.电子科技大学,2006.5,说到底就是可以将数据库表中的数据包包装为Java对象,又可以

34、将Java对象映射到数据库表中的数据,于是开发人员可以直接利用面向对象编程的思想来操作数据库中的数据。如何在Java对象与数据库中的数据之间保持一致,如何在对象与数据库之间进行映射,这些工作就全部交给Hibernate来完成,开发人员就可以专注于实现业务逻辑了。可见,Hibernate架起了Java对象与数据库中的关系型数据之间的桥梁。Hibernate还实现了持久化和反持久化16 钟泽秀. 基于S2SH框架的银行帐户管理系统的设计与实现D.天津大学,2010.6,持久化是指内存中的对象及对象之间的关系持久化到数据库表所表示的关系,反持久化则是将数据库中的二维关系示例化到内存中17 夏昕,曹晓

35、钢,唐勇 著.深入浅出HibernateM.北京:电子工业出版社,2005年9月.17。因此,Hibernate常位于数据库和应用程序之间,如图2.4所示。15 罗红梅. 集成Hibernate、Spring和Struts的架构应用研究D.电子科技大学,2006.16 钟泽秀. 基于S2SH框架的银行帐户管理系统的设计与实现D.天津大学,2010.17 夏昕,曹晓钢,唐勇 著.深入浅出HibernateM.北京:电子工业出版社,2005年9月.应用程序应用程序Hibernate数据库图2.4 Hibernate所处位置Hibernate体系结构Hibernate是一个对象关系映射框架,其源代码

36、是开放的,这一特点便于广大学习者对它开发和完善,又由于它只对JDBC进行了非常轻量级的封装,就更加方便了Java程序员能随心所欲地使用面向对象的编程思想来操纵数据库,因此其应用很广泛。Hibernate可以应用在任何使用JDBC的场合,例如Java Application、Servlet/JSP的Web应用,同时也可以在应用了EJB的JavaEE架构中取代CMP18 李继蕊. Struts和Hibernate多层架构的研究与应用D.武汉理工大学,2006.18,完成数据持久化的重任,这具有革命性的意义。18 李继蕊. Struts和Hibernate多层架构的研究与应用D.武汉理工大学,200

37、6.在分层体系架构中,应用程序与数据库之间的数据交换由Hibernate完成,具体关系如图2.5所示。Session FactorySession FactoryTransaction FactoryConnection ProviderTransactionTransient ObjectsApplicationSessionJNDIJDBCJTAData BasePersistentObject图2.5 Hibernate架构图Hibernate运行过程Hibernate的运行过程如下:(1)Configuration类先被程序调用,然后该类读取Hibernate配置文件及映射文件,并利用

38、其中的信息生成一个SessionFactory对象。(2)接着由SessionFactory对象生成一个Session对象,并用Session对象生成Transaction 对象;通过Session对象实现的一些方法,对持久化对象(PO)进行加载保存更新删除等操作。(3)在查询的情况下,Session对象会生成一个Query对象19 崔妍. Struts2、Spring和Hibernate框架技术分析J. 硅谷,2013,20:49+30.9,查询操作由Query对象执行,如果没有异常,Transaction对象将提交这些操作结果到数据库中去。19 崔妍. Struts2、Spring和Hib

39、ernate框架技术分析J. 硅谷,2013,20:49+30.Hibernate的运行过程如图2.6所示。配置文件配置文件Hibernate.cfg.xml映射文件hbm.xml应用程序ConfigurationSessionFactorySessionTransaction异常回滚提交数据库Query图2.6 Hibernate运行过程图集成SSH开发框架运用Java技术进行系统开发,首选集成 Struts、Spring、Hibernate 三大框架的开发模式,由 Struts 来负责表示层,Spring 负责业务层、Hibernate 负责持久层20 孙卫琴 著.精通Hibernate:

40、Java对象持久化技术详解M.北京:电子工业出版社,2005年5 月.2020 孙卫琴 著.精通Hibernate:Java对象持久化技术详解M.北京:电子工业出版社,2005年5 月.集成 SSH 开发框架的结构图如图 2.7 所示。表示层表示层Struts-MVCJSPActionFormStruts ActionStruts.xml业务层SpringTransactionManagerMentBusiness ServiceHibernate Session等持久层HibernateDataSourceConnection PoolQuery Language等浏览器数据库域模块业务对象

41、图2.7 SSH开发框架结构图系统可行性及需求分析系统可行性分析随着网络技术的飞速发展,现在所有的大学都建立有百兆、甚至千兆的校园网通信平台,并且可以通过计算机网络实现各种信息服务,远程教育和培训。另一方面,学校要求学生有自己的个性,有自己的特长,有丰富的校园文化生活。为了满足这一要求,学生社团就纷纷得以成立和开展,简直就是百花齐放。只要学生兴趣所至,学生就能报名参与社团,但随着人数的增多,对社团及社团成员的管理,传统的方式日显不能胜任。为了改善这种状况,就必须寻找新的管理工具。再者B/S模式21 G. F. Yin,G. Y. Tian,D. Taylor. A Web-Based Remo

42、te Cooperative Design for Spatial Cam MechanismsJ. International Journal of Advanced Manufacturing Technology,2002,208:1411-1520.2121 G. F. Yin,G. Y. Tian,D. Taylor. A Web-Based Remote Cooperative Design for Spatial Cam MechanismsJ. International Journal of Advanced Manufacturing Technology,2002,208

43、:1411-1520.系统功能性需求分析用户管理模块用户管理模块是整个系统设计的基础模块,它的实现是各用户使用系统的前提。用户管理模块整体如图3.1所示。用户管理用户管理个人登录注册管理员登录个人信息修改加入社团申请社团申请退团留言审核人员删除社团审核社团处理申请审核活动管理会员图3.1 用户管理模块图上图我们可以看出,该模块的用户角色主要有社团成员和管理员。模块的主要功能有系统登录、注册、个人信息修改、管理员审核人员、创建社团、发布公告等。其中管理人员具有最高权限。同时只有登陆系统之后,会员才可以在自己权限内对系统进行操作。社团管理模块社团管理是社团工作的重心,是社团中最繁重、最复杂的环节。

44、同样在设计社团管理模块时,要依据现实中社团工作流程,仔细考虑其中的联系,才能设计好此模块。社团管理模块如图3.2所示。社团管理社团管理更新社团信息开展活动发布公告审核申请人删除会员图3.2 社团管理模块图从上图可以看出社团管理模块的主要功能需求有更新社团信息、开展活动、发布活动、审核申请人、会员管理等。社团信息的更新,可以让成员时刻了解社团的最新情况;发布活动和活动的开展,有助于提升会员的积极性,加强会员之间的互动,加强社团内部的凝聚力;会员的更新可以为社团添加新鲜的血液,为社团提供动力。因此,这些环节都是必不可少的,是系统需要的。社团活动模块社团活动模块是各个社团的共同门户,任何社团发布活动

45、,以及活动的详细过程,各社团成员都可以看见和了解,可以起到一个督查的作用,因此也是系统必须的。社团活动模块如图3.3所示。社团活动社团活动会员查看活动社长管理活动管理员管理活动申请活动更新活动删除活动图3.3 社团活动模块图留言模块留言板模块也是系统必不可少的一个环节。它是社团中所有成员的一个交流区。任何社团成员均可在此留言和回复他人的留言,同时也可以在此留下个人的各种意见和看法,通过留言板,社团彼此之间可以得以改进,对于社团的管理和维护也是十分重要的。同时对于一些过激和不好的言论,管理人员可以进行删除,避免其在社团中造成不必要的麻烦,因此该模块也是不可缺少的。留言板模块如图3.4所示。留言板

46、留言板会员均可留言管理员能删除留言图3.4 留言板模块图系统非功能性需求分析软件产品为满足用户业务需求而必须具有除功能需求以外的特性称之为非功能性需求22 黄浪. 企业级的B/S模式应用软件非功能性需求分析与研究D.厦门大学,2008.22。其中包括系统的性能、可靠性、可维护性和安全性等。下面对其中的某些指标加以说明。22 黄浪. 企业级的B/S模式应用软件非功能性需求分析与研究D.厦门大学,2008.(1)可操作性和易用性要求。操作性是指要求系统操作简单;易用性指任何用户能够快速接受系统,同时便于使用者维护和管理。(2)安全性需求。首要是身份认证,这个关系到功能权限控制。例如管理员有最高权限

47、,普通用户就只能有最低权限。(3)系统界面需求。即要求界面符合大多数人的浏览要求,符合管理系统的风格、形式和设计原则。整体布局上采用DIV+CSS控制,将页面表现和内容分离,易于维护和改版。(4)稳定性要求。即要求系统能够及时快速响应,在用户发出登录请求、链接请求、搜索请求后,能在5秒钟之内及时快速响应。(5)实用性。即要求系统对于不是专业的用户也能快速学会操作,仅需简单培训即可掌握,快速完成网站搭建工作,易学易用。 (6)可扩展性。即要求系统在今后随着需求的扩大,能在体系、设备、拓扑、功能等各个方面对系统可以加以扩展,使系统更完善。(7)标准性。整个系统符合开发标准,即开放性,同时符合国际标

48、准、行业标准。系统详细设计开发相关说明1.开发环境说明操作系统:Windows 系统; 开发工具:Myeclipse 8.5; 运行支撑:JDK 1.6.0; 数据库: MySQL 5.5; Web服务器:Tomcat 6.0; 开发框架:Struts 2 + Spring 3 + Hibernate 3。2. 代码包说明该社团管理系统的开发工程采用 Java Package 的方式进行组织,类的包布局如下: League系统逻辑代码根目录; hbkj.league.action 表示层表单数据类包;hbkj.league.action.action 表示层表单数据类包;hbkj.league

49、.action.board 表示层表单数据类包;hbkj.league.action.league 表示层表单数据类包;hbkj.league.action.notice 表示层表单数据类包;hbkj.league.bean 实体映射有关的类包;hbkj.league.dao 系统持久层有关的类包hbkj.league.service 系统业务层逻辑类包;WebContent 系统界面有关的根目录; WebContent.WEB.INF 系统配置文件目录; WebContent.WEB.INF.lib 系统需要的外部 jar 工具包。开发配置说明1. 配置web.xml文件搭建开发环境完毕之后

50、,在进行编程之前,首先需要对集成 SSH 的开发环境进行必要的配置工作。首先要指定 Struts 的 Action Servlet 映射关系和Struts 的配置文件路径,然后指定 Spring 的监视器、配置文件路径和Session 过滤器。具体配置如下:sitemeshcom.opensymphony.module.sitemesh.filter.PageFiltersitemesh/*struts2org.apache.struts2.dispatcher.FilterDispatcherstruts2/*index.jsporg.springframework.web.context.

51、ContextLoaderListener2. 配置struts.config.xml文件由于配置文件很长,只展示用户登录和注册部分的配置。 (1)普通用户登录配置 /index.jsp/login.jsp(2)处理普通用户的登录请求 /index.jsp/register.jsp由配置文件我们可以看出,当受到用户进行登录的LoginUserAction请求时,Action会进行处理,当登录成功时,页面会跳转到 index.jsp,如果登录失败,则会转向登录页面重新登录。用户注册同样如此。3. 配置applicationContext.xml文件(1)配置 DataSource; (2)配置

52、SessionFactory; org.hibernate.dialect.MySQLDialecttrue (3)配置数据库实体映射文件; com/league/bean/User.hbm.xmlcom/league/bean/Action.hbm.xmlcom/league/bean/League.hbm.xmlcom/league/bean/Notice.hbm.xmlcom/league/bean/Board.hbm.xml(4)定义持久层 DAO(只列出部分); 数据库设计数据库(Database,简称DB),是长期存储在计算机内、有组织的、可共享的大量数据的集合,是按照数据结构来组

53、织、存储和管理数据的仓库23 王珊,萨师煊 著.数据库系统概论M.第4版.北京:高等教育出版社,2006年5月.3。数据库的设计是指对一个给定的应用环境,构造数据库模式,建立数据库及其应用系统,满足各种用户需求。在设计系统数据库时,要做到用综合的方法组织数据,确保尽可能的高效访问,要审核数据,保证数据的完整性、安全性。23 王珊,萨师煊 著.数据库系统概论M.第4版.北京:高等教育出版社,2006年5月.该社团管理系统的另一核心部分是数据库,一切操作和运行都是以数据库为中心的。根据系统功能模块的整体设计。在进行数据模型设计过程中,充分考虑了内容管理系统的应用需求及应用逻辑并构建了数据库名为le

54、ague的数据库,该数据库ER图如下所示。(1)“用户”实体如图4.1所示。图4.1 “用户”实体(2)“社团”实体如图4.2所示。图4.2 “社团”实体(3)“社团活动”实体如图4.3所示。图4.3 “社团活动”实体(4)“社团公告”实体如图4.4所示。图4.4 “社团公告”实体(5)“留言板”实体如图4.5所示。图4.5 “留言板”实体(6)5个实体之间的关系如图4.6所示。图4.6 实体关系图为实现系统相应的功能,满足相关应用需求,将在设计过程中主要涉及的数据表功能及结构详细介绍如下:(1) 用户表user表4.1 用户表字段数据类型主/外键是否允许空备注idint主键否用户IDuser

55、namevarchar否用户名passwordvarchar否密码realnamevarchar是姓名snvarchar是学号sexvarchar是性别collegevarchar是院系phonevarchar是电话emailvarchar是邮箱authorityint否权限leagueint外键是参与社团ID(2)社团信息表league表4.2 社团信息表字段数据类型主/外键是否允许空备注idint主键否社团IDlnamevarchar否社团名dayvarchar是创建时间mastervarchar否社长introducetext是社团介绍emailvarchar是社团邮箱(3)社团活动表a

56、ction表4.3 社团活动表字段数据类型主/外键是否允许空备注idint主键否活动IDactivitynamevarchar否活动名leaguevarchar否活动所属社团activitycontexttext否内容sponsorint外键否发起人IDtimevarchar否时间btexttext是备注checkedvarchar否是否审核(4)社团公告表notice表4.4 公告表字段数据类型主/外键是否允许空备注idint主键否公告IDtitlevarchar否主题authorint外键否发表社团IDcontexttext否内容daytimevarchar否时间(5)留言表board表4

57、.5 留言表字段数据类型主/外键是否允许空备注idint主键否留言IDauthorint外键否留言人IDdaytimevarchar否时间contexttext否内容系统模块实现说明用户登录功能实现登录功能是社团管理系统的基本功能,也是大多信息系统的必备功能。在浏览器输入系统的网址,然后输入用户名和密码进行登录,登录成功后会跳转到首页,登录失败后会跳转到系统首页并提示错误,需要进行重新登录。登录界面如图4.7所示。图4.7 登陆界面登录实现的主要流程如下: (1)输入用户名和密码; (2)检测用户输入的有效性; (3)表示层对用户输入进行处理,如过滤空格等; (4)输入数据无效时,直接显示错误

58、提示; (5)输入数据有效时,表示层调用业务层的方法进行登录处理;登录处理代码实现如下:public String execute() throws Exception User loginUser = getService().login(user.getUsername(),user.getPassword();if (loginUser != null) message = ;ActionContext.getContext().getSession().put(user,loginUser.getUsername();ActionContext.getContext().getSess

59、ion().put(authority,loginUser.getAuthority();return SUCCESS; else message = 用户名或密码错误;return INPUT;登录业务层代码实现如下:public User login(String uname, String upass) User user = userDao.findUserByName(uname);if (null = user) return null;if (uname.equals(user.getUsername() & upass.equals(user.getPassword() ret

60、urn user;return null;(6)业务层调用持久层的相关方法,根据用户名和密码查找用户是否存在,存在则成功登录并跳转到相应的页面,如果用户不存在,则登录失败,跳转到系统首页进行重新登录。 登录持久层代码实现如下:public User findUserByName(String username)List list = getHibernateTemplate().find(from User user where username=?,username);if(list != null & list.size()=1)return (User)list.get(0);retur

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论