《本科毕业设计-基于jsp管理系统的设计与实现.doc》由会员分享,可在线阅读,更多相关《本科毕业设计-基于jsp管理系统的设计与实现.doc(49页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、南 京 工 程 学 院毕业设计说明书(论文)作 者: 学 号: 院 系: 计算机工程学院 专 业:网络工程题 目:基于JSP毕业设计管理系统的设计与实现 指导者: 讲师 (姓 名) (专业技术职务) 评阅者:袁宗福 副教授 (姓 名) (专业技术职务) 2016年5月 南 京毕业设计说明书(论文)中文摘要高等教育教学改革的不断推进,对于高校毕业设计管理的规范化、流程化、信息化已成为目前面临的重要课题。近年来高校基本上都建立了自己的校园网,为毕业设计管理系统的开发提供了必备的物质基础。计算机软件规定工作流样式,并帮助处理复杂的工作流程是目前毕业设计信息管理系统的基本解决思路。本设计采用Tomca
2、t作为Web服务器,SQL Server作为后台数据库管理系统,在MVC模式的相互协调下,将毕业设计管理系统分为公共模块、分角色模块两个模块。不同的用户角色具有不同的操作权限,只能执行与其角色匹配的操作,利用此机制,保证了系统中数据流的有序流动。关键字 Tomcat MVC 毕业设计管理系统 毕业设计说明书(论文)外文摘要Title Design and Implementation of Graduation Project Management System Based on JSPAbstractThe continuous advancement of higher education
3、 teaching reform has become an important issue facing the standardization, process and information management of graduation project management in Colleges and universities. In recent years, colleges and universities have established their own campus network, which provides the necessary material fou
4、ndation for the development of graduation design management system. Computer software provides workflow patterns, and help to deal with the complex workflow is the basic solution to the graduation design information management system. This design uses Tomcat as the Web server, Server SQL as the back
5、ground database management system, in the MVC mode of mutual coordination, the graduation design management system is divided into two modules, the public module, the sub role module. Different user roles have different operating rights, can only perform the operation of the role, the use of this me
6、chanism to ensure the orderly flow of data flow in the system.Key words Tomcat, MVC, Graduation Project Management System目录前 言- 1 -第1章 开发环境简介- 2 -1.1 编程语言介绍- 2 -1.2 服务器工具简介- 3 -第2章 总体设计- 5 -2.1 总体思路- 5 -2.2系统总体规划结构- 5 -2.3公共模块功能结构图- 6 -2.4管理员模块功能结构图- 7 -2.5老师功能结构图- 9 -2.6学生功能结构图- 10 -第3章 数据库设计- 12 -
7、3.1 数据库的需求分析- 12 -3.2 数据库E-R图设计- 13 -3.3数据库表的规划- 17 -第4章 详细设计- 22 -4.1 平台搭建- 22 -4.2 公共模块- 24 -4.3管理员角色模块- 30 -4.4老师-学生模块- 35 -第5章 设计总结- 40 -5.1开发心得- 40 -5.2系统特色- 41 -结论- 42 -参考文献- 43 -致谢- 44 -南京工程学院毕业设计说明书(论文)前 言随着信息技术的快速发展和编程语言的日益成熟,毕业设计信息管理系统在高校的应用越来越普遍,传统的毕业设计存在诸多问题:流程复杂、管理不方便、学生与指导老师沟通困难。高校随着毕业
8、生数量的不断增加,也产生对性能、安全一系列新的需求。基于这样的现实环境,一个高质量、高可靠的毕业设计信息管理系统几乎成为每个高校必需品。本系统使用MVC模式,基于JSP语言开发出高度可移植性的毕业设计管理系统,使用Tomcat作为Web服务器软件,数据库管理系统软件采用SQL Server2005,前端页面开发利用JSP+CSS+JQuery为系统用户提供友好的操作体验。该系统从总体结构上被分解为公共模块、分角色模块2个模块,角色包括管理员、老师和学生,不同的用户角色在系统中拥有不同的操作权限。本文主要从以下几个方面对系统进行阐述,包括需求分析、总体设计、数据库设计、详细设计、及总结。在编码过
9、程中,充分考虑了用户交互体验的友好性。同时在数据库中为实体预留了许多属性,例如分组表中预留了分组大小属性,为系统后期实现对分组内用户数量进行控制功能提供了便捷。这样的例子在系统中随处可见。为系统后续的拓展提供了巨大的可能。第1章 开发环境简介1.1 编程语言介绍JSP(Java Server Pages)构建了动态网页编程的规范,由许多公司合力推动建设完成的,在制作动态网页时功能十分强悍。JSP由HTML与其它编程语言融合而成,由客户端浏览器自带的语言引擎解释并执行。JSP代码段中通常混合有HTML、Java、CSS和JavaScript,因此,JSP与Java拥有相同的特点:稳定、安全、可移
10、植性好,广泛应用于大中型网站的搭建中。JSP技术处理网页的动态逻辑时,通常使用的语言是Java,用来编写类XML的标签和脚本小程序。此外,通过标签和脚本小程序,网页还能请求对保存在服务器端资源的应用逻辑的访问。JSP的出现,使得网页的操作逻辑与页面的显示隔离起来,简化了编程负担,同时JSP引入了对复用组件的支持的机制,这一切大大加快了基于Web应用系统的开发效率,减轻了编程人员的开发负担。当JSP的访问请求传递到网络服务器时,服务器首先会解释执行其中的代码段,并会返回给客户端一个结果,结果中包含程序运行结果和JSP中嵌入的HTML片段,JSP中嵌入的Java代码段可以执行多种操作,包括对数据库
11、的增删改查、对网页的跳转控制等。这一切为实现动态网页提供了技术基础。JSP和Java Servlet在某些方面具有一些相同点,解释执行是在服务器端。客户端收到的返回值一般是一个HTML页面,用户使用浏览器即可浏览这些页面。这大大降低了对客户端的要求,客户端只需要安装浏览器即可执行相关操作。Java Servlet与JSP息息相关,在大型的Web应用系统开发过程中通常将两者结合起来使用。JSP优点众多,继承了Java的相关特点:上手容易、使用便捷、是完全面向对象的、与开发的平台没有多大关系、在内存管理方面相比其他语言,自动完成了内存管理,不存在内存溢出风险,使得程序代码的安全性得到保证。JSP技
12、术的优势:(1)程序代码只需要编写一遍、其他地方都可以执行。由于JSP/Servlet的基础都来源于Java,因此它们也继承了Java语言的最大优势与平台无关性,也即通常意义上的的“代码编写一次,随处可以运行”。除此之外,JSP/Servlet的运行效率非常高,由于Java引动了内存自动管理机制,不存在内存溢出风险。故安全性也得到了保证。(2)系统的多平台支持。主流的平台环境都支持Java开发,包括Windows、Linux等,应用系统可以实施在多种多样操作平台的下,对系统后期的拓展也对多种多样的环境进行了适配。对比ASP/PHP等语言的只能部署在单一环境下的局限性。JSP的这个优点是显得难能
13、可贵。(3)扩展功能强悍。在开发过程中,JSP/Servlet的执行最小单元可以仅为一个Jar文件,最大到许多台大型服务器的集群和流量分担,从一台本地服务器扩展到远端多台服务器,JSP展示了其强悍的扩展能力。(4)开发工具的多种多样和功能完备。在这一点上,JSP与ASP十分相像。在JSP的成长过程中,众多公司和开发人员为其编写了许多完备的开发套件,并且其中许多对于编程爱好者来说,获得不需要任何代价,完全免费。此外这些开发工具绝大多数是支持多平台运行的,这些优秀的开发工具为Java的发展与普及注入了强大的活力。1.2 服务器工具简介(1) TomcatTomcat是由Apache基金会发行的,完
14、全免费,对系统的占用非常低,是一个轻量级的应用服务器。在Web应用程序开发中,是一个不可或缺的组成部分。其对大部分的J2EE的API接口进行了适配。应用场合十分普遍,包括中小型互联网应用程序及对并发控制、系统安全性的限制并不严格的系统中。Tomcat运行方式多种多样,可以支持单独运行,在单独运行模式下,又可以分为运行和调试两种,这为程序编码者对系统的开发与测试带来了巨大的便捷性。除此之外,Tomcat也支持解压缩后直接运行,这使得其移植性也非常优异。(2) SQL Server2005SQL Server是由微软公司开发的,在数据库分类中,属于使用最广泛的关系型数据库,在Web系统开发中,SQ
15、L Server一直是最好用的关系数据库管理系统应用软件其中之一,SQL Server相比其他数据库,具有独特而显著的优势:操作十分简单(对开发人员的数据库知识要求极低)、支持与其他服务器软件协调工作、适合可分布式组织的可伸缩性、性价比十分诱人(与其他数据库管理系统应用软件相比)等。这些优势,实现了用户对海量数据的管理,同时也为数据挖掘带来了可操作性。将传统意义上的数据变为了宝贵的商业资源,为企业的发展提供了新的机遇。SQL Server作为一个完备而成熟的数据库管理软件,在Web应用系统开发过程中(通常应用在企业应用系统中),十分普遍,SQL Server的加入大大提高了系统的开发进度。总结
16、起来,SQL Server是一个完整地对Web各项功能组件都支持的数据库软件。第2章 总体设计2.1 总体思路毕业设计信息管理系统用户包括管理员、老师、学生。不同的用户角色之间具有不同的操作权限,在软件开发前,需要确定不同角色之间的权限。这需要实现对系统作详细的需求分析,确定每个角色对系统能执行的操作,在设计数据库时,我们要为每个实体设计合适的属性。在编码过程中,需要考虑到MVC的分层思想,将页面的展示与后台操作逻辑分离,通过这种机制,使得代码的可读性更好,后期对系统的维护也变得简单可行。2.2系统总体规划结构毕业设计管理系统整体上包括了两个主要模块:公共模块、分角色模块。模块之间亦存在许多分
17、之,逻辑复杂。本系统-毕业设计管理系统的系统总体规划如“图2-1”所示:图2-1 系统总体规划用户只有登陆验证通过后才能进入系统,在登录界面,用户必须输入正确的用户名和密码,系统后台根据用户名自动检测判断出用户的角色,验证通过后才能进入系统主界面(用户角色不同,主界面亦有所差异)。进入系统后,用户可以看到2个模块(公共模块、分角色模块)。在系统主界面,用户也可以执行注销操作。在系统主界面,提供的主要功能是用户依据权限在相应模块,执行对应操作。根据上述规划,毕业设计管理系统系统主要分为两个模块:l 公共管理模块l 分角色模块其中,分角色模块分为依据角色不同分为管理员、老师、学生三个部分。每个部分
18、对系统功能的操作权限是不同。下面将针对每个模块的主要功能进行详细描述。2.3公共模块功能结构图公共模块被分解为四个小模块,分别是校园资讯、论文下载、选题列表以及个人留言。公共模块是系统的基础功能,服务对象包括系统的所有用户,用户登录进入系统后,界面上都会展现。校园资讯由管理员在资讯管理部分添加,所有用户登录系统后均可浏览。论文下载部分的论文由学生提交,所有用户可以查看论文相关信息,学生提交论文时可以为论文附件设置不同的下载权限,只有符合权限的用户才能下载,这样一定程度上保证了论文的安全性,防止其他用户非法窃取。指导老师登录系统后,可以设计选题。选题设计成功后,选题会出现在选题列表部分。学生在选
19、题列表部分只能选择对应指导老师设计的选题。在个人留言部分,用户可以给其他所有用户留言,也可以查看自己收到的留言和回复对方的留言。公共模块功能结构图如“图 2-2”所示:图 2-2公共模块功能结构图2.4管理员模块功能结构图管理员模块操作功能被分解为6个主要部分,包括:分组管理、留言管理、用户管理等,每个部分又可以划分出许多独立的小功能。管理员进入系统后,相应功能结构图如“图23”所示图 2-3 管理员功能结构图分组管理:管理员可以查看所有创建的分组列表,点击某条分组记录操作栏后的“浏览”,系统将呈现该分组下的所有用户信息。也可以修改分组信息,但分组的指导老师不能修改。删除分组时,必须先删除该分
20、组下的用户,否则,系统会弹出告警提示“删除失败”。分组管理的主要作用在于将老师与其指导的学生关联起来,老师与其指导的学生具有相同的分组编号。图2-4分组管理留言管理:管理员登录系统后,在该部分可以查看所有用户的留言记录,点击某条记录操作栏中“删除”按钮,可以删除某条相应记录。图2-5留言管理用户管理:管理员进入系统后,在用户管理部分可以查看所有用户的相关信息(包括用户编号、用户名、账号状态等),用户注册账号时,账号状态为未审核,此时,用户用该账号无法登录系统,只有等管理员审核通过该账号后,用户才能正常登录系统。管理员也可以锁定某个正常账号,此时,该账号将变为锁定状态,无法正常使用。管理员也可以
21、解锁某个锁定状态的账号,解锁后,账号正常使用。当然,管理员也可以对某个用户的账号进行删除或修改操作在界面上,设置了许多筛选条件:根据用户角色筛选、账号状态筛选。筛选机制的加入使得管理员查找用户变得简单易操作。图2-6用户管理选题管理:管理员在该部分可以查看所有指导老师设计的选题信息,包括选题的设计老师及选择该选题的学生,也可以下载选题中包含的选题附件。图2-7选题管理资讯管理:该部分为管理员特有操作,在该界面下,系统将呈现管理员添加的所有资讯信息,点击某条资讯的标题,进入资讯详细界面,乐意查看资讯的详细信息。管理员也可添加资讯,添加某条资讯后,用户可以在公共模块校园资讯部分查看该条资讯的相关信
22、息。此外,管理员亦可根据需要删除某条资讯,此时该资讯信息在公共模块校园资讯部分亦被删除。在界面上,管理员也可以根据筛选查找出满足条件的资讯。这样做的好处显而易见,当资讯的数量很大时。通过筛选管理员可以快速定位某条资讯。图2-8资讯管理论文管理:学生上传论文后,管理员在该部分可以审核学生上传的论文。当论文审核不通过时,学生需要修改论文,等待管理员再次审核。图2-9论文管理2.5老师功能结构图老师模块主要由选题设计、同组用户部分组成。老师在系统中扮演着关键角色,进入系统后负责设计选题,审题等工作,老师进入系统后,相应功能结构图如图“2-10”所示图2-10 老师功能结构图选题设计:老师可以设计选题
23、,选题设计完成后,选题的状态为“未选择”,学生可以在公共模块选题列表部分选择其对应指导老师设计的选题,一个选题只能被一个学生选择,一个学生也只能选择一个题目。学生选题操作完成后,该选题的选题状态将由“未选择”变为“未审核”,此时,老师进入系统,在“选题设计”部分,点击操作栏的“审核”按钮,可以审核学生的选题,审核通过后,学生才能提交论文,若审核不通过,该选题的状态亦会变为“未选择”,该组其他同学可以选择该课题,之前选择该选题的学生需要重新选题。老师也可以修改选题或者删除选题相关信息,但是若某一道选题已经被学生选择,则无法删除该选题,该机制的加入,使得系统的功能逻辑更加合理,也防止了数据库中脏数
24、据的产生。同组用户:在该模块指导老师可以方便地查看其指导学生的选题情况,该模块的加入,方便了老师监督其指导学生的选题情况。2.6学生功能结构图学生模块主要由我的选题、同组用户两部分组成。学生角色是系统中不可或缺的一环,可以选题,提交论文等操作,用户以学生身份进入系统后,相应功能结构图如“图211”所示图211 学生功能结构图我的选题:学生进入系统后,可以在公共模块选题列表部分选择其指导老师设计的选题,选题成功后,在我的选题部分可以看到自己选题的题目。此时选题状态为“未审核”。在该部分,学生可以方便查看其选题状态。对应指导老师对选题审核通过后,选题状态变为“审核通过”,此时学生可以上传论文。我的
25、论文:学生上传论文后,在该部分可以查看自己上传的论文,也可以修改自己上传的论文。上传或修改论文后,论文状态为“等待管理员审核”,管理员登录系统后,在“论文管理”部分可以审核学生上传的论文,若审核通过,学生在“我的论文”部分可以看到论文状态变为“审核通过”,至此,选题-上传论文流程结束。若审核不通过,论文状态变为“审核不通过”,学生在“我的论文”部分需要修改已经提交的论文,修改完成后,论文状态会重新变为“等待管理员审核”,等待管理员的再次审核。学生提交论文后,用户可以在公共模块论文下载部分下载论文附件和查看论文相关信息。第3章 数据库设计一个完整的系统,数据库是其中一项必不可少的元素,数据库设计
26、的好坏直接决定后续编码的进行。所以,在进行编码之前,首先要做好需求分析,依据系统的需求及功能设计数据库。如果在编码之前,没有设计出合理的数据库,在后续编码过程中,需要不断修改完善数据库,这将大大影响系统的开发进度,降低系统的质量。数据库的设计是建立在对系统功能需求完全熟悉的前提下,是系统开发的先决条件。由于系统功能的复杂性,因此数据库的设计不能一蹴而就,需要不断探索,这是一个“反复探寻、精益求精”的过程,也就是分析数据库对象的属性及探寻数据库对象之间联系的过程。3.1 数据库的需求分析毕业设计管理系统选题-审题-上传论文流程复杂,涉及实体众多,实体之间的联系也比较复杂。本系统需要用到的到的数据
27、实体主要有:用户、选题、分组、选择、论文、留言、资讯等。在本系统中,服务的对象包括学生、老师和管理员。用户使用系统时,首先需要在登录页面输入用户名和密码,验证通过后方能进入系统。用户实体的属性主要包括用户编号Uid、账号状态Active、注册时间Regtime、性别Sex、联系电话Tel、邮箱编号Email、角色Lev、用户名Uname、登录密码Pwd、分组编号Gid。其中用户编号Uid是主键。指导老师设计选题时,需要一个选题表来记录选题的相关信息。选题实体的属性主要包括选题名称name、上传论文者用户编号upload、选题编号id、选题附件files、选题者用户编号choose、设计选题者用
28、户编号upload、课题性质nature、课题来源source、选题状态status、选题要求require、添加时间addtime。其中选题编号id为主键。分组表用来记录的所在分组信息,通过分组,保证了学生在选题时只能选择其对应指导老师设计的选题。分组实体属性主要包括分组编号Gid、分组添加时间Regtime、该分组指导老师用户编号Uid、分组名称Gname。其中分组编号Gid是主键。选择表用来记录学生与选题的对应关系。选择实体属性主要包括选择编号id、选题编号tid、选题者编号uid。其中选择编号id是主键。与选题编号tid值相同。论文表用来记录学生上传的论文信息,方便系统管理。论文实体属
29、性主要包括论文编号id、论文附件path、上传时间addtime、论文上传者uid、是否提供下载download、论文名称name、下载权限lev、下载次数downloadnum、论文状态status、标志位flag。其中论文编号id是主键。留言表用来记录用户之间的留言信息,该表的加入,搭建了用户之间沟通的桥梁。留言实体属性主要包括留言编号(id)、留言者编号(uid)、收到留言者编号(toId)、标题(title)、留言内容(msg)、留言时间(addtime)、是否收到回复(isback)、回复内容(remsg)、回复时间(backtime)。其中留言编号id是主键。资讯表用来记录管理员上
30、传的资讯信息。所有用户可以浏览管理员上传的资讯。资讯实体属性主要包括资讯编号nid、资讯标题title、资讯关键字keywords、资讯简介shortdesc、资讯内容text、资讯附件img、上传者poster。其中资讯编号nid是主键。通过对系统前期的需求分析,得出实体间的对应联系如下:一个用户只能对应一个分组,但一个分组内可以包含许多个用户。一个用户可以发布多条留言,一条留言只能被一个用户发布。一个老师可以设计多个选题,一个选题只能被一个老师设计。一个学生只能选择一个选题,一个选题只能被一个学生选择。一个学生只能上传一个论文,一个论文只能被一个学生上传。一个管理员可以发布多条资讯,一条资
31、讯只能被一个管理员发布。3.2 数据库E-R图设计设计数据库时,通过前文的需求分析及对实体间联系的描述,可以看出实体间会有1对1、1对多等多种对应关系。为了满足此需求,我们需要选用一个合适的工具,用来准确地呈现实体、实体属性、实体之间的联系。E-R图由于能清晰地展示各实体间的联系。并为系统的表结构设计做好概念结构的准备。通过对系统的需求分析,得到本系统中实体之间的联系分部E-R图表达如下:一个用户只能属于一个分组,一个分组可以有多个用户。属于分组用户n1图3-1用户-分组E-R图一个老师可以设计多个选题,一个选题只能被一个老师设计。其中老师属于用户的一种,属性与用户属性相同。老师设计选题n1图
32、32老师选题E-R图一个学生只能选择一道选题,一个选题只能被一个学生选择。学生属于用户的一种,属性与用户属性相同选择选题学生11图3-3学生-选题 E-R图一个用户可以发布多条留言,一条留言只能被一个人用户发布发布留言用户11图3-4用户-留言 E-R图一个学生只能上传一篇论文,一篇论文只能被一个学生上传论文上传学生11图3-5学生-论文 E-R图一个管理员可以发布多条资讯,一条资讯只能被一个管理员发布,管理员属于用户的一种,与用户属性相同。发布资讯管理员1n图3-6管理员资讯E-R图通过以上的总结与归纳,系统总的E-R图如下:图3-7系统总体E-R图设计注:用户根据角色分为管理员、老师、学生
33、三种,其实体属性相同。属性中角色字段不同(管理员 0 老师 1 学生 2),管理员、老师、学生与用户之间的关系是一种包含关系(包含关系需要用到扩展的E-R图,由于本人知识储备存在欠缺,没有在图中表示出来)。但根据对角色的不同,与其它实体之间的对应关系存在差异性.在E-R图设计过程中这点尤为关键。3.3数据库表的规划(1)用户信息表(users)该表用来保存用户的相关信息,包括用户编号(uid)、用户名(uname)、分组编号(gid)、角色(lev)、联系方式(tel)、注册时间(regtime)、密码(pwd)、账号状态(active)、Email地址(email)、性别(sex)。其中用户
34、编号uid是主键。如下表3-1所示:表3-1 用户信息表(users)属性名称数据类型是否允许缺省属性介绍uidint否用户编号,主键emailnvarchar(MAX)是Email地址pwdnvarchar(MAX)是密码sexint是性别:0 男1 女telnvarchar(MAX)是联系电话namenvarchar(MAX)是用户名levint是用户角色:0 管理员 1老师2 学生activeint是账号状态:0 未审核 1锁定 2正常regtimenvarchar(MAX)是注册时间,系统自动添加gidint是用户所在分组编号(2)分组表(grade)该表记录了用户的分组信息,用于对学
35、生选题时进行控制,学生只能选择其对应指导老师设计的选题。包括分组编号(gid)、添加时间(regtime)、分组导师编号(uid)、分组名称(gname)。其中分组编号gid是主键。如“表 3-2”所示:表3-2 分组表(grade)属性名称数据类型是否允许缺省属性介绍gidint否分组编号,主键rgtimenvarchar(MAX)是添加时间,系统自动添加uidint是分组导师用户编号gnamenvarchar(MAX)是分组名称(3)留言表(message)该表记录了所有留言的相关信息,包括留言编号(id)、留言时间(addtime)、收到留言者编号(toId)、标题(title)、留言内
36、容(msg)、留言者编号(uid)、是否收到回复(isback)、回复内容(remsg)、回复时间(backtime)。其中留言编号id是主键。如“表 3-3”所示:表3-3 留言表(message)属性名称数据类型是否允许缺省属性介绍idint否留言编号,主键 isbackint是是否收到回复:0 未收到 1 收到toIdint 是记录收到留言者编号titlenvarchar(MAX)是留言信息标题backtimenvarchar(MAX)是回复时间addtimenvarchar(MAX)是留言时间,系统自动添加 uidint是留言者idremsgnvarchar(MAX)是回复内容msgn
37、varchar(MAX)是留言信息内容(4)资讯表(news)该表记录了资讯的相关信息,资讯只能由管理员发布。所有用户均可浏览。包括资讯编号(nid)、资讯标题(title)、资讯关键字(keywords),资讯简介(shortdesc)、资讯内容(text)、资讯附件(img)、发布人(poster)。其中资讯编号nid是主键。如下表 3-4所示: 表3-4 资讯表(news)属性名称数据类型是否允许缺省属性介绍nidint否资讯编号titlenvarchar(MAX)是资讯标题keywordnvarchar(MAX)是资讯关键字shortdescnvarchar(MAX)是资讯简介text
38、nvarchar(MAX)是资讯内容imgnvarchar(MAX)是资讯附件 posterint是发布人用户编号- 19 -(5)选题表(topic)选题表(topic)属性主要包括:选题编号id、设计选题者用户编号uid、课题性质nature、选题附件files、选题者用户编号choose、上传论文者用户编号upload、选题名称name、课题来源source、选题状态status、选题要求require、添加时间addtime。其中选题编号id为主键。如表“3-5”所示表3-5 选题表(topic)属性名称数据类型是否允许缺省属性介绍idint否选题编号,主键natureint是课题性质
39、: 0 工程设计 1 软件工程 2 文献综述namenvarchar(MAX)是选题名称filesnvarchar(MAX)是选题附件choosenvarchar(MAX)是选题者用户编号uploadnvarchar(MAX)是上传论文者用户编号uidint是设计选题者用户编号sourceint是课题来源:0 基金课题 1 企事业委托 2 自拟课题statusint是选题状态:0 未选择 1 未审核 3 审核通过requirenvarchar(MAX)是选题要求addtimenvarchar(MAX)是选题添加时间,系统自动添加(6)选择表(choose)选择表(choose)属性主要包括:选
40、择编号id、选题编号tid、选题者编号uid。其中选择编号id是主键,与选题编号tid值相同,这样就保证了一个人只能选择一个选题,一个选题只能被一个人选择。如表“3-6“所示表3-6选择表(choose)属性名称数据类型是否允许缺省属性介绍idint否选择编号,tidint是选题编号uidint是选题者编号(7)论文表(files)论文表(files)属性主要包括:论文编号id、下载次数downloadnum、论文附件path、论文上传者uid、是否提供下载download、上传时间addtime、下载权限lev、论文名称name、论文状态status、标志位flag。其中论文编号id是主键。
41、如表“3-7”所示表3-7 论文表(files)属性名称数据类型是否允许缺省属性介绍idint否论文编号namenvarchar(MAX)是论文名称pathnvarchar(MAX)是论文附件uidint是论文上传者downloadint是是否提供下载: 0 不提供 1 提供addtimenvarchar(MAX)是上传时间,系统自动添加levint是下载权限:0 管理员 1 老师 2学生 3 所有人。 downloadnumint是下载次数statusint是论文状态:0 等待管理员审核 1 审核不通过 2 审核通过flagInt是标志位第4章 详细设计4.1 平台搭建1.设计思路该系统采用
42、MVC模式,将页面的显示与对页面的操作分离,减轻了程序员的负担,同时使程序变得可读。在系统设计过程中,大量使用了Servlet技术,保证了系统的安全性,有效防止源代码的窃取。其中src文件夹中存放Java代码,里面有包含许多子文件夹,包括dao、impl、servlet、test、tools、vo等文件夹,每个文件夹中的代码的作用都不尽相同。dao接口,包含大量抽象方法,编码过程中所要使用的方法都需要再次声明,后面的类需要实现这些方法需要先继承这些接口。impl-实现对数据库的各种操作,当某个页面逻辑需要对数据库表中数据进行逻辑操作,需要调用impl中的相关方法。servlet直接处理页面的各
43、种操作,并反馈给页面相应的提示信息。是前端与后端沟通的桥梁。test-测试用,用于编码早期测试数据库的连通性。tools-工具类,包含数据库连接及操作方法。vo-存放JavaBean,用于实例化对象用。Webroot路径下:file文件夹用于存放上传的选题附件及论文附件,upload文件夹用于存放上传的资讯附件。Fileupload组件放在Web App Libraries路径下,导入与数据库版本对应的JDBC工具包。2.Servlet配置系统中使用了大量的Servlet和JSP代码,为此需要配置Servlet,在此次系统开发中,配置Servlet的主要用途有两个:分配一个约定俗成的名称给Se
44、rvlet或JSP页面,将定制的URL与分配的名称关联起来。为Servlet元素分配一个约定的名称为了达到为参数提供初始值,对JSP或Servlet页面规定一个定制的统一资源定位符或指定一个安全角色的目的。首先要将一个约定俗成的名字赐予Servlet或JSP页面。实现方法是指定一个名称通过Servlet元素。编码时最常见的用法包括将要约定的名称放在servlet-name和servlet-class子元素内(在web-app元素内),如下所示:1 UserServletcom.qswl.file.servlet.UserServlet 以上代码的作用是为WEB-INF/classes/ com.qswl.file.servlet/UserServlet 的Servlet分配了名称UserServlet。为Servlet提供一个名称具有两大作用。其一,为参数提供默认、在统一资源定位符定位模式中以及其他定制通过此注册名而不是类名引用此Servlet。其二,可在统一资源定位符中而不是类中利用此注册名。所以,使用刚才我们编写的XML,在浏览器中地址栏中输入URL- http:/host/manage/servlet/UserServlet 可替代 http:/host/manage