《在线报名管理系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《在线报名管理系统的设计与实现.docx(60页珍藏版)》请在课桌文档上搜索。
1、在线报名管理系统的设计与实现摘要基于SSH的在线报名管理系统(SSHBasedOnlineEnrollmentManagementSystem,简称SoEMS)本系统的主要功能:包含两个子系统模块,第一个是员工系统模块(包含有活动查询,报名增加和报名查询,以及个人信息修改),第二个是管理员系统模块(包含有用户增加,用户查询,活动增加,活动查询,报名增加,报名查询)系统开发语言为JAVA,开发工具是MyEdiPSelO,Web服务器是MyECliPSeIo自带的TomCaI6版本,数据库为目前主流的MySq1数据库CJ使用spring+hibernate+struts整合方法实现。本系统的优点是
2、让公司和公司员工都能极其方便的通过在网上在线地报名并且管理报名,功能操作人性化,实现了员工与管理员操作的分割。关键词:SSH;报名管理;员工系统模块;管理员系统模块SSHBasedOnlineEnrollmentManagementSystemAbstractSSHbasedonlineenrollmentmanagementsystem(soems),asthenameimplies,isasystemthatmakesitveryconvenientforboththecompanyanditsemployeestoregisteronlineandmanagetheregistratio
3、n.Withtherapiddevelopmentofcomputertechnology,thenetworkismoreandmoreconvenient.Enterprisesalsohavethenecessityandsignificanceofpublishingandmanagingcompanyactivitiesormeetingsoncomputers.Thesystemmainlyconsistsoftwosub-systemmodules,thefirstistheemployeesystemmodule(includingactivityquery,enrollmen
4、tincreaseandenrollmentquery,aswellaspersonalinformationmodification),thesecondistheadministratorsystemmodule(includinguserincrease,userquery,activityincrease,activityquery,enrollmentincrease,enrollmentquery).Thesystemusesthethree-tierSSHarchitecture,andthedevelopmentlanguageisJAVA,thedevelopmenttool
5、isMyEclipse10,thewebserveristheTomcat6versionofMyEclipse10,andthedatabaseisthecurrentprevailingMySQLdatabase.Keywords:SSH;enrollingmanagement;Employeesystemmodule;Adminsystemmodule1前言11.1 课题背景及意义11.2 课题研究目标11.3 研究内容及重点12主要技术介绍22.1 Tomcat22.2 Spring22.3 Hibernate32.4 Struts232.5 SSH整合42.6 JSP42.7 Mys
6、ql数据库53系统分析与设计53.1 可行性分析53.1.1 技术可行性53.1.2 经济可行性53.1.3 操作可行性63.1.4 社会可行性63.2 业务描述63.2.1 在线报名管理系统的业务描述63.3 系统需求分析63.3.1 权限管理73.3.2 报名事项管理73.3.3 管理员对员工已报名事项管理73.3.4 员工可报名事项查询73.3.5 员工报名事项增加73.3.6 员工已报名事项查询73.3.7 员工管理83.3.8 员工信息管理83.3.9 用例图83.4 系统设计之系统主要操作流程图93.4.1 类图103.4.2 系统的开发结构设计114数据库设计134.1 E-R图
7、134.2 数据库物理模型145系统详细设计165.1 系统操作演示165.1.1 登陆165.1.2 员工主页浏览175.1.3 员工一活动查询185.1.4 员工活动报名195.1.5 员工-已报名查询195.1.6 管理员-用户增加205.1.7 管理员-用户查询205.1.8 管理员-可报名活动增加215.1.9 管理员-可报名活动查询225.1.10 管理员一代员工报名235.1.11 管理员-已报名事项查询245.2 系统分层256系统测试266.1 软件测试266.2 软件测试方法与测试用例276.2.1 登陆注册功能测试296.2.2 管理员用户管理功能测试306.2.3 管理
8、员可报名活动管理功能测试326.2.4 管理员已报名活动管理功能测试346.2.5 员工可报名活动查询功能测试376.2.6 员工报名活动功能测试387总结39参考文献41谢辞421刖三Web所拥有的强大的开发能力让JAVA语言一直在计算机程序语言排行榜中名列前茅,称之为java的奠基之石也不为过。早期的Web的结构是相对简单的,此时的Web应用被称呼为Websiteo随着时间的推移逐渐发展成Webapplication,接着又来了真正的三层web开发,使得客户可以与服务器进行交流,并且获得可以数据储存的数据库。Servelt核心组件让javaweb以线程为单位,使得处理更加高效。它与java
9、bean和jsp由MVC结构组合。本系统使用开放式模式开发,可以缓解公司不方便管理活动日程的烦恼,以及活动预定冲突等麻烦。此系统大大方便了公司全体员工以及管理员的日常的活动报名管理同预订。1. 1课题背景及意义报名管理是一个公司或者企业与员工互动所经常做的事。在一个企业或公司的行程中,向员工要求参加活动,让员工参加培训,和员工举办会议,并鼓励员工踊跃报名,是他们的日常。如果员工不在公司,正在居家休息,这时公司突然要求员工去办公室参与活动报名,这位员工将陷入天大的麻烦中,对公司而言也是极其不利的。这时一个网络化的报名管理系统便展现出其便利性和高效性了,这也是现在的公司单位所想要的。因此研究这一课
10、题相当符合现代网络社会的发展状况,也是必然的。计算机技术来源于西方世界,并改变了人们的生活,它的地位也越来越高。人们挖掘计算机的潜力,在办公室应用中出现了越来越多的著名应用,比如microsoft的OffiCe系列,其WOrd文档软件让员工可以无纸化共享办公资料。员工从繁杂的纸质文件中挣脱出来。本论文中所使用的技术是最流行的基于SSH的java开发。L2课题研究目标此在线报名管理系统的实现,将大大降低管理工作人员的工作量同时增加公司进行会议活动培训安排的效率。它将解开公司员工管理的枷锁,用计算机来代替人完成这一系列工作,释放生产力。L3研究内容及重点本在线报名管理系统由三个子系统组成,分别为报
11、名事项管理系统、报名事项的发布管理和报名事项的申请管理、不同权限的用户和管理员个人信息管理。(1)用户和管理员信息管理系统的简单介绍用户管理模块:主要对各个公司员工的基本信息进行管理。普通用户(即公司员工)可以修改个人信息(包括密码)。管理员可以对用户基本信息(例如:用户名,密码,北京理工大学珠海学院2020届本科生毕业设计性别,部门,姓名,出生日期,工号,籍贯,部门,家庭住址,身份类型,电话,邮箱等)进行添加,修改,删除等。(2)报名事项管理系统:报名事项管理模块:此块是整个系统的核心。普通用户(即公司员工)对其根据类别进行搜索查询。可以通过查询情况进行对还有报名余额的报名事项的申请和查询,
12、管理员可以对报名事项基本信息(例如:活动名称,活动类型,活动描述,创建日期,活动介绍,开始时间,结束时间,备注,限选人数)进行添加,修改,删除等,并可以分析报名事项申请情况。(3)报名事项的发布管理和报名事项的申请管理:这一部分主要是管理员通过账号登录SSH在线报名管理系统后发布报名事项。用户通过账号登录SSH在线报名管理系统后查询可报名的报名事项,然后根据自己的时间安排以及任务安排进行报名。同时管理员可以看到其报名情况并且根据实际情况进行删除。2主要技术介绍2.1 TomcatApacheTOmCat软件,Tomcat凭借其免费的使用权限,稳定的性能和优越的技术得到众多java开发者的青睐,
13、以及许多软件开发商的承认。TOmCat是现在流行的中小型系统中常用的,用于调试开发JSP程序的源代码开放的WEB轻量级应用服务器。他的主要组件:COmainer容器,connector连接器(这两个是tomcat的核心)service服务,SerVer服务器。SerVer组件同时管理着多个SerViCe服务(一个也可以)并为其正常使用提供生存环境。而SerViCe服务是由一个或多个连接器CormeCtOr加一个容器container加其他支持组件共同组成的。其中Tomcat的主配置文件是server.xml,包含Service,Connector,Engine,Realm,Valve,Host
14、s主组件的相关配置信息;2.2 SpringSpring作为拥有分层架构的开源框架,负责把企业应用程序开发的复杂性解决。组成Spring框架的模块有:LSPringAoP,2.Spring上下文,3.核心容器,4.SpringDAO,5.SpringWeb模块,6.SpringMVC框架,7.SpringORMo这些模块既可以单独存在,也可以与其他一个或多个模块联合实现。他的功能可以用在任何J2EE服务器中。控制反转模式(IOC也称作依赖性介入)和面向方面的编程(AOP)互相补充,用松散耦合的方式将分散的系统集成在一起。SPring有三个组件,分别是BeanS,core还有Contento他们
15、在AOP,WEB等上层的特性功能上发挥着作用。Bean就像舞台中的演员一样,因为他通过依赖注入机制将对象之间的依赖关系转化为配置文件并进行管理。至于COnteXt和Core就像是舞台里的道具,Context为对象中的数据提供生存环境,识别每个bean之间的关系。COre定义了资源的访问方式。Spring能有效地组织程序的中间层(即应用服务器层)对象。提供接口来锻炼程序员的编程习惯,降低编程的代价。用它构建的应用程序更加便于单元测试。2.3 HibernateHibemate是一个开源的轻量级的ORM(对象关系映射)工具。简化了java应用程序与数据库交互的开发。其中ORM工具简化了数据的创建,
16、处理和访问,将对象映射到数据库中存储。Hibernate框架有极高的性能,他有一级缓存二级缓存这两种类型的缓存,并在框架内部使用。使用Hibemate将无需手动在数据库中创建表因为他可以自动的创建数据库表。Hibemate架构中有4层JaVa应用层,hibernate框架层,反手ai层和数据库层。Hibemate架构的元素有会话工厂(SeSSiOnFaCtOry),会话(SeSSion),事务(TranSaCtiOn),连接提供者(ConnectionProvider)和事务工厂(TFansactionFactory)。Session对象为编程提供“应用程序”和“存储在数据库中的数据”之间的接
17、口。它是一个短生命周期的对象并包装JDBC连接。它是事务,查询和标准的工厂。Hibernate将在作为其配置文件的hibernate.cfg.xml中配置数据库的所有信息,并声明创建的实体列表。例如mappingClaSS=com.yiibai.entities.Department/或mappingresource=bysjnetmodelUser.hbm.xm7Hibemate它跟程序员在系统中选择的任何类型的数据库没有依赖关系,只要编写完成就可运行在所有类型的数据库上,因为他可以识别不同数据库的方言dialect,有HQL自带的查询语言用于在实体类中查询对象数据。2.4 Struts2S
18、truts2的一个基本思想是MVC思想,即用松耦合让MOdel(模型),View(视图),Control(控制器)协同工作,将一个应用分为三个基本PartoStruts2使用了WebWork的设计核心,使用拦截器来出来用户请求,来使得访问者的业务逻辑控制器跟SerVIetAPl分离。由于Struts2的清晰结构和灵活方便的特点,一经问世就得到大量程序开发者的喜爱,程序员得以从复杂烦琐的代码劳动中脱身。其中,StnltS.xml文件负责配置ACtion,指定说明该ACtion的实现类,而且完成该ACtiOn处理结果与视图资源之间的映射关系的定义。struts.properties文件负责配置St
19、rUtS2全局属性。Struts2的优点:1.支持标签,2.支持AJAX标签,3.易于整合,如SPring,4.综合性能分析调试和配置应用程序。5.为JSP等视图技术提供支持。Struts2是最好的Web框架之一。Web.xml、struts.xmlstruts-config.xml以及StrUtS.properties是StrUtS2的配置文件O在这些文件里有StrUtS2的配置。2.5 SSH整合SSH是struts和SPring和hibernate的一个Web应用程序开源集成框架,其系统分为四层,分别为表示层,业务逻辑层,数据持久层和域模块层。SSH框架基于传统的J2EE框架,继承他的分
20、层架构模式,比J2EE好的地方是相同的运算任务下消耗更少的系统资源。在SSH框架中,用户使用JSP页面与系统交互,传输请求(ReqUeSt),structs根据配置文件将ACtiOnSerVIet接收到的ReqUeSt交给相应的Aetion。ACtion再给业务逻辑层,业务逻辑层再交给持久层,通过hibernate的对象化映射与数据库交互。使用这样的系统,无论前端进行怎样的变化,由于视图,控制器与模型完全分离,只需要极少的改动模型层即可,而且数据库的变化也不会太多地影响前端。如此一来,可复用性大大提高,并且团队成员的并行工作的效率也上升了。2.6 JSP即JavaServerPages,用于动
21、态网页开发,是一种技术标准。通过在HTML网页中运用JSP标签来插入JaVa代码。JSP标签功能丰富,无论是记录用户选择的信息,还是访问JaVaBeanS组件,亦或是访问数据库,甚至是传递控制信息和共享信息于不同网页,都可以做到。虽然有着和CGl相似的功能,JSP有更多的优势,比如1.可以直接在HTML网页中动态嵌入元素从而使得性能更优越。2.不需要先载入解释器和目标脚本这种CGl才会做的事。3.与ASP相比,JSP易于移植。JSP具有可以把Java代码和一些其他预定义的动作嵌入到静态页面中的特性。2.7 Mysql数据库Mysql作为一种建立在关系模型基础上的关系数据库管理系统,受各类中小型
22、公司欢迎,用来开发规模不大的网站。它是一个拥有着开放源码的关联式小数据库管理系统,具有的特点是源码开放带来的成本低,体积小,反应快,虽然比之那些大型数据库比如oracle和DB2有不足的地方,但是在个体和小单位看来它所具备的能耐已经足以满足自己的需求。3系统分析与设计3.1可行性分析基于SSH的在线报名管理系统一一该系统的主要使用者分前台和后台,前台是员工,后台是公司管理员,二者综合起来,构成了这个系统。它综合了对员工的管理,对管理员的管理,报名事项的预定,管理和审核。由于公司的活动,会议和培训充满不确定性,即无法保证员工即时在办公楼现场参与报名,总有忙碌的员工来不及参与线下报名的情况,也无法
23、保证公司的报名事项出现变更,临时有些小修改,需要重新打印报名表。因此,基于SSH的在线报名管理系统的开发将极大方便在公司工作的人们。该系统的成功开发将能解决公司单位所苦恼的灵活报名管理的问题。实行电子化报名管理将能节约公司纸张资源,既降低了运作成本,又可以为世界环保添一份力。3.1 .1技术可行性该系统可以在大众操作系统如Win7和WinlO运作。该系统采用mysql作为数据库,具备源码开放的免费特性。由于目前招聘的企业都倾向于招有mysql使用经验的人,作为程序员应该敢于接触新鲜事物,并且不断学习,因此使用mysql作为数据库选择。该系统使用轻量级java技术开发。该系统使用myeclips
24、el作为开发软件,版本功能稳定。3.1.2 经济可行性该系统可以在多个系统平台中运行,并且维护成本很低,因此可以在多个公司中得到运用,还能够极大降低单位和公司的运行成本与工作量,也可以大大方便公司办公楼的活动培训会议的报名。3.1.3 L3操作可行性该在线报名管理系统操作简单,首页整体以蓝色作为基调,给人舒服的感受,首页就只有简单的登陆功能和注册功能,简明易懂,而且界面Ul喜人,不同身份的用户(比如公司员工和管理)登陆进入页面看到的功能也是不一样的,只需要点击自己想要的功能进行操作即可。3.1.4 社会可行性本在线报名管理系统由本人开发,没有侵犯他人利益,使用起来便于理解,人们可以马上学会操作
25、使用。3.2 业务描述3.2.1在线报名管理系统的业务描述(1)公司员工和管理员可以登录系统与修改密码。(2)公司员工可以查询可报名的报名事项。(3)公司员工可以对可报名的报名事项进行报名。(4)公司员工可以对已报名的报名事项进行查询。(5)公司员工可以对自己的员工信息进行修改。(6)管理员可以对自己的管理员信息进行修改。(7)管理员可以对公司员工账号进行创建。(8)管理员可以对公司员工账号进行查询。(9)管理员可以对公司员工账号进行信息和密码修改和删除。(10)管理员可以对报名事项进行增加。(11)管理员可以对报名事项进行查询。(12)管理员可以对报名事项进行修改和删除。(13)管理员可以安
26、排代替公司员工对可报名的报名事项进行报名。(14)管理员可以对员工己报名事项进行查询。(15)管理员可以对员工已报名事项进行删除。(16)管理员可以查看所有员工已报名事项的统计。(17)公司员工可以查看自己的已报名事项在全公司的总报名人数的统计。3.3系统需求分析3.3.1权限管理(1)在线报名管理系统的管理员负责给单位员工发放用户账号和密码,单位员工也可以自己注册账号,如果员工需要,可以根据自己的想法改密码。如果管理员想,完全可以直接修改员工账号密码,但员工不可以修改管理员密码。3.3.2报名事项管理(1)报名事项的查询和修改:管理员登陆进入所在相关页面后可以见到所有的报名事项,管理员将能够
27、对这些报名事项进行查询,查询条件包括:活动名称,创建日期,活动类型,介绍,描述,开始时间,结束时间,限选人数。管理员将能够对这些报名事项进行修改,比如:修改报名事项的活动名称,创建日期,活动类型,介绍,描述,开始时间,结束时间,限选人数,备注。(2)报名事项的增加:系统管理员登陆进入所在相关页面后将能够对报名事项进行增加,详细内容比如:活动名称,创建日期,活动类型,介绍,描述,开始时间,结束时间,限选人数,备注。3.3.3管理员对员工已报名事项管理(1)已报名事项的查询:管理员登陆进入所在相关页面后可以见到所有的员工已北京理工大学珠海学院2020届本科生毕业设计报名事项,管理员将能够对这些员工
28、已报名事项进行查询,查询条件包括:活动,员工,报名编号,报名日期,报名类型。(2)已报名事项的增加:管理员登陆进入所在相关页面后将能够代替员工参加报名,具体到某一事项,具体到哪位员工。(3)已报名事项的删除:管理员登陆进入所在相关页面后将能够代替员工对已报名事项进行删除,具体到某一事项,具体到哪位员工。3.3.4员工可报名事项查询(1)单位的员工因为其他忙碌的事情去往别处不在办公楼,此时此刻他便需要登陆系统对报名事项进行查询了。查询条件包括:活动名称,创建日期,活动类型,介绍,描述,开始时间,结束时间,限选人数。3.3.5员工报名事项增加(1)单位的员工由于不在办公楼而公司马上要求他进行报名,
29、此时此刻他便需要登陆系统对报名事项进行增加了。3. 3.6员工已报名事项查询(1)单位的员工在进行报名事项增加后,就可以对已报名事项进行查询。查询条件包括:活动,员工,报名编号,报名日期,报名类型。3.3.7员工管理(1)员工的账号和密码都被管理员进行修改与编辑。(2)员工的账号和密码都被管理员进行删除。(3)管理员将能够对员工进行查询,查询条件包括:姓名,出生日期,性别,联系方式,工号。3.3.8员工信息管理(1)系统管理员把员工的信息录入到系统中。(2)系统管理员将录入到系统中的员工的信息进行修改与编辑。(3)系统管理员将录入到系统中的员工的信息进行删除。(4)系统管理员将录入到系统中的每
30、位员工的信息进行查看。(5)系统管理员可以对公司员工的籍贯,工号,邮箱,家庭住址,联系方式,部门进行添加。3. 3.9用例图用例的意思是它可以描述一个角色在系统中担当了什么职位责任,它表明角色与系统是如何交互以完成业务活动的。通过站在系统角色的角度,用例可以对系统功能进行建模,换句话说就是用例意味着事件表的延伸。而事件表以第一速度抓取到系统当前最有必要做出响应的事件,接着完成对系统角色的分析,判断出有哪些系统角色,并确认这些角色分别有哪些行为和属性,然后使用用例图来对系统功能进行建模。用例图显示为一个人形图标来代表一个角色,一个椭圆里面放文字说明来代表一个用例,人形图标和椭圆之间的连线代表这个
31、加色参与了哪些用例,这条连线代表着关联关系。角色与角色之间存在着关系。角色相当于类,拥有类的属性,于是角色与角色之间存在着泛化关系。用例之间也是有关系的。用例和用例之间的关系基本有三种,分别是依赖关系,扩展关系还有包含关系。其中,包含关系的意思是某一用例在执行任务期间会调用其他的用例来完成任务,比如用户登录用例包含了在数据库中对信息进行存取的用例。扩展关系是指这个用例是在原本的用例上进行扩展得来的。比如手机端用户登录用例是用户登录用例的扩展。依赖关系是说第一个用例需要调用第二个用例完成一部分任务后(比如取得二号用例的返回结果)才能继续执行任务。本系统按功能分为4个模块:L已报名事项管理模块,2
32、.可报名事项管理模块,3.3.4系统设计之系统主要操作流程图流程图,顾名思义即为使用规定的图形和符号,用上文字说明来表示算法的图,它还有另一种叫法:输入-输出图,因为它可以用一种直观感性的方式来表达一个工作过程的明确的动作顺序。流程图可以有效地对黑箱一般的系统程序进行展示和把握,对程序开发者决策的制定有辅助的作用。他的主要结构有四种。第一种是顺序结构,第二种是条件结构(或者叫选择结构),第三种是循环结构,第四种是分支结构。该在线报名管理系统用户操作流程图主要叙述了从一个请求被创建到此请求被执行中该系统所做出的响应的流程,见图3.2。该在线报名管理系统管理员操作流程图主要叙述了从一个请求被创建到
33、此请求被执行中该系统所做出的响应的流程,见图3.3。3.4.1 类图类图是用来对系统的结构化设计进行表达,是使用频率极高的UML图的一种。类图中有着七种元素,第一个是类Class,第二个是接口Interface,第三个是关联关系Association,第四个是组合关系Composition,第五个是依赖关系Dependency,第六个是实现关系Realization,第七个是聚合关系Aggregationo类在面向对象编程object-orientedprogramming中的意思是对真实世界中一组具有共同客体特性的物体(比如汽车里奔驰和宝马都有四个轮子)进行高度概括的抽象。类由名称,属性和方
34、法这三个部分组成。在本在线报名管理系统中,事务TranSaCtiOn通过抽象化从而得到实体类。本系统的实体类有:系统使用者(tUSer),可报名事项(tCinTiCUlUm),员工已报名事项(tourseselection),下面将对系统的类图以及类与类之间的关联关系进行图示。见图3.4oc_name Cjime c_type c_number JCIay C_start c_end c_miao C_bzvarcnar(255) varchar(255) varchar(255) varchar(255) VarChar(255) varchar(255) varchar(255) varc
35、har(255) varchar(255)curriculum User c_number cjime c-type cjiesEIl) int(11) int(11) varchar(255) varchar(255) varchar(255) varchar(255) varchar(255)呼电.史idint(11)Ausernamevarchar(255)Passwordvarchar(255)namevarchar(255)birthdayvarchar(255)sexvarchar(255)telvarchar(255)jjhxrvarchar(255)jjtvarchar(255
36、)jgvarchar(255)addressvarchar(255)bmvarchar(255)typevarchar(255)l图3.4系统实体类图3.4.2 系统的开发结构设计在程序开发的第一阶段,程序开发者首先需要对应用系统的开发环境进行搭建。在本在线报名管理系统中的步骤是:(1)用MyEeIiPSe程序开发软件来写代码并且搭建StrUCtS+hibernate+spring整合的框架环境。由于项目的开发需要使用来自第三方的JAR包,所以下面把它列出来。见图3.5,3.6,3.7,3.8。VWEB-TNFcommons-1ogging-1.0,4.jarIibcommons-loggin
37、g,jarant-1,6.5.jarconcurrent-1.3.2jarant-antlr-1.6.5,jarconnector,jarant-junit-1.6.5,jardo4j-l.6.1.jarant-launcher-1.6.5.jarehcache-1.2.3.iarant-swing-1,6.5,jarGxtrcmecomponcnts-1.0.4-src,jantlr-2.7.6.jarextrcmecomponents-1.0.4jarasm-attrs,jarfreemarker-2.3.8.jarasm.jarhibernate3.jaraspectjrtjarjaas
38、.jaraspectjweaverjarjacc-l.0-fr.jarc3p0-0.9.1,jarjavassist.jarcglib-2.1.3jarjaxen-1.l-beta_7.jarcheckstyle-all.jarjboss-cache.ja:cleanimports,jarjboss-commonjarcommons-beanuti1s-1.7,0.jarjboss-jmx.jarcommons-colIections_2.1,1.jarjboss-system,jarcommons-fileupload-1.2.1.jarjdbc2_0-stdext.jarcommons-i
39、o-1.4jarjgroups-2.2,8.jarcommons-lang,jarjSpSmartUplodeCN.jarcommons-logging-1.0.4.jarjta.jar图3.5第三方JAR包(1)图3.6第三方JAR包(2)日A禽arjtds-1.2.5,jarjunit-3.8.1.jarIog4j-1.2.11.jarIog4j-1.2.14.jar口msbase,jar.mssqlserverjar.msutil.jar验mysql-connector-java-5.1.5-bin.jar.ognl-2.6,11,jaroscache-2.1jarpoi-2.5.1,j
40、arproxool-0.8.31jarservlet-apijarspringjarsqljdbc.jarsqljdbc4.jarStandardJarESyndiag2.jar versioncheckjarM xerces-2.6.2jarxml-apisjar到 XWork-2.0.5,jarstruts2-core-2.0.11.2.jarstruts2-spring-plugin-2.0.11.2jarswarmcache-1.0rc2jarsyndiag2.jar图3.7第三方JAR包(3)图3.8第三方JAR包(4)(2)SSH框架是javaapplication的后台核心,St
41、ructs+hibernate+spring互相关联,struct2把action对象交给spring管理,hibernate把SessionFactory交给Spring管理,Spring掌握各层。4数据库设计4.1 E-R图E-R图,又叫实体-联系图,有三个核心部分,第一个是实体(entity),表现为长方体,代表着在数据模型里的数据对象,比如动物。动物实体里的猫和狗等等就叫做实体成员,这些实体成员是不会在ER图里展示的。第二个是属性(attribute),表现成椭圆形,意味着数据对象拥有的属性,比如动物具有动物名称和身长和体重和主要食物来源等属性,动物名称一般来说是这个动物实体的唯一属性
42、,就是唯一一个可以用来分辨这个动物实例的属性,每个实体都至少有一个,并使用下划线作表示。第三个是关系(relationship),其在E-R图中的形状表现为菱形,意思是表现数据对象之间的联系,比如动物的实体和动物分类表的实体具有联系,表现为每个动物都有自己的动物分类(种属科目纲门)。实体-联系图作为一种概念模型,可以用来对现实世界进行描绘叙述。本在线报名管理系统的实体-联系图如图4.1所示。4.2 数据库物理模型物理模型是建立在逻辑模型(系统想实现什么事物)的基础之上的,用什么具体的物体介质工具来实现逻辑模型的内容的一种模型。在myspl数据库里创建数据库SeleCtiOnSyStem,创建用
43、户信息表Juser,这个数据库表负责记录用户和管理员的信息。Id是用户的编号,是这个表的主键。如表4.1。表4.1LUSer(用户表)字段类型长度主键外键非空约束含义IdInt11YYY用户编号IsernameVarchar下同255下同N下同N下同N下同登陆名登陆号码Password登陆密码Name用户名称birthday诞生日sex性别tel联系方式Jjlxr工号JJtel部门Jg籍贯address地址bm邮箱type用户类型员工/管理员bz备注创建可报名事项表curriculum,这个表负责记录管理员创建的可以报名的事项,id是可报名事项表的编号,也是这个表的主键。见表4.2。表4.2t
44、_curriculum(可报名事项表)字段类型长度主键外键非空约束含义IdInt11YYY非空可报名事项编号C_nameVarchar下同255下同N下同N下同N下同活动名称Ctime创建日期C_type活动类型Cnumber介绍Cday描述C_start开选时间C_end截止时间C_miao限选人数C_bz备注创建已报名事项表t_courseselection,这个表用来记录员工的已报名事项。id是已报名事项表的编号,也是这个表的主键。Curriculum是外键,指向Jcurriculum的id,user是外键,指向t_user的id。见表4.3。表4.3tcourseselection(已
45、报名事项表)字段类型长度主键外键非空约束含义IdInt11YNY非空已报名事项编号CurriculumInt11NYN外键可报下同名事项idUserInt11NY外键用户idCnumberVarchar下同255下同N下同N下同报名编号Ctype报名类型Cjies报名状态Cbz备注5.系统详细设计5.1 系统操作演示5.1.1登陆图5.1登陆图示L输入登录名。2 .输入密码。3 .输入验证码。4 .点击登录。5 .1ogin.jsp的登陆盒窗口位置自适应浏览器窗口宽度功能代码。见图5.2。5(function()$(.1OginboX)CSS(positionYabsolute,left:($(window).width()-692)/2);5(window).resize(function()S(,.loginbox,).css(,positionabsolute,left:($(window).width()-692)/.2);script图5.2自适应浏览器窗口宽度功能代码5.1. 2员工-主页浏览