基于java的毕业设计选题系统的设计与实现

欢迎添加微信互相交流学习哦!

二维码

项目源码:https://gitee.com/oklongmm/biye2

基于JSP的毕业设计选题系统的设计与实现
摘    要
伴随着信息化技术在全球范围内的兴起,尤其是因特网在日常生活中的普及化,我们国家的各类大中专学校都逐渐建立了基于自己学校的局域网。以前毕业生以其所在班级为单位的人为手工报送的相对原始的选择毕业论文题目的方式已经很难跟上现代社会发展的需要了, 因此基与现在的互联网的毕业设计题目选择的系统也就因此而产生了。
毕业设计选题系统目的就是能够让学生通过身边的互联网来选择毕业设计的题目,它所使用网站的方式,使它可以在相应的局域网和互联网上使用,它要实现选题网站的各项功能,例如:教师和系主任进行审核,管理各类相关人员的操作使用权限,同事实现使用邮件进行通知等;除此之外还应该能够实现对教师出的题目进行保存、系主任对题目进行查询的功能,该毕业设计选题系统应该同时拥有题库管理系统的最打的开放度和选题系统最高的灵活性,能够自己进行各类操作人员使用权限的判别,对没有相关权限的用户冻结其不当操作。
毕业设计选题系统主要采用手段为JSP技术,该选题系统使用了多个级别角色进行分开管理:包括系统的维护管理员、对应的系主任,选题的学生和出题的老师几种级别的权限.本篇文章主要是介绍了相应的用户使用权限的分类,同事详细地介绍了毕业设计选题系统的设计思想以及功能实现的具体的方法和步骤,通过这一次的实践为今后的相关研究打下一个坚实的基础。
关键词: 审核判断;使用权限;多个级别的角色的管理

The Design and Implementation of Subject Selection System for Graduation Based on JSP
Abstract
With the rising of global information technology, especially the growing prevalence of Internet, the technical institute colleges and universities in our country have set up their own Campus Net. For the traditional way of manual submission of selected subject cannot adapt to current demands, the Internet-based graduation subject selection system born. 
Such system enables students to choose subject for graduation design through Internet. It adopts B/S pattern, and is suitable to both the local area network and Internet. It must implement functions such as the verification of the subject, the jurisdiction management, mail notification, as well as subject storage and searching. With the open subject management system and the flexible system, it can automatically verify the jurisdiction of a user and freeze the user. The system adopted the JSP as its main technology, and implemented the multistage role management. The system also implemented the management of the privilege of system managers, deans, students and teachers.

Key words: Verification; Jurisdiction; Multistage role management.


目  录
论文总页数:36页

 TOC \o "1-3" \h \z \u  HYPERLINK \l "_Toc178426078" 1引言    1
 HYPERLINK \l "_Toc178426079" 1.1选题系统出现的趋势    1
 HYPERLINK \l "_Toc178426080" 1.2选题系统常用的实现技术    1
 HYPERLINK \l "_Toc178426081" 2基本技术简介    1
 HYPERLINK \l "_Toc178426082" 2.1本系统拟采用的解决方法(技术)    2
 HYPERLINK \l "_Toc178426083" 2.2主要技术简介    2
 HYPERLINK \l "_Toc178426084" 3 需求分析与方案设计    3
 HYPERLINK \l "_Toc178426085" 3.1功能需求分析    3
 HYPERLINK \l "_Toc178426086" 3.2数据库需求    3
 HYPERLINK \l "_Toc178426087" 3.3系统支撑环境    4
 HYPERLINK \l "_Toc178426088" 4系统设计    4
 HYPERLINK \l "_Toc178426089" 4.1 功能设计    4
 HYPERLINK \l "_Toc178426090" 4.2 数据库设计    4
 HYPERLINK \l "_Toc178426091" 4.2.1 系统登陆,用户会话表(bsm_session_info)    4
 HYPERLINK \l "_Toc178426092" 4.2.2 系统用户信息管理表(bsm_sys_user)    5
 HYPERLINK \l "_Toc178426093" 4.2.3 毕业论文题库信息表(subject)    5
 HYPERLINK \l "_Toc178426094" 4.2.4 毕业论文选题信息管理表(select_sub)    6
 HYPERLINK \l "_Toc178426095" 5 系统功能实现    7
 HYPERLINK \l "_Toc178426096" 5.1系统组成和业务流程图    7
 HYPERLINK \l "_Toc178426097" 5.2系统用户权限管理    8
 HYPERLINK \l "_Toc178426098" 5.2.1 系统登陆    9
 HYPERLINK \l "_Toc178426099" 5.2.2系统用户管理    11
 HYPERLINK \l "_Toc178426100" 5.2.3 历届信息查看    13
 HYPERLINK \l "_Toc178426101" 5.2.4 个人信息维护    13
 HYPERLINK \l "_Toc178426102" 5.3系统选题权限管理    14
 HYPERLINK \l "_Toc178426103" 5.4教师题库管理    15
 HYPERLINK \l "_Toc178426104" 5.4.1教师出题    15
 HYPERLINK \l "_Toc178426105" 5.4.2教师审核题目    16
 HYPERLINK \l "_Toc178426106" 5.5学生在线选题    16
 HYPERLINK \l "_Toc178426107" 5.6系统登出    18
 HYPERLINK \l "_Toc178426108" 5.7系统基本控件使用    18
 HYPERLINK \l "_Toc178426109" 5.7.1数据库连接池实现    18
 HYPERLINK \l "_Toc178426110" 5.7.2邮件系统实现    19
 HYPERLINK \l "_Toc178426111" 6技术难点分析    20
 HYPERLINK \l "_Toc178426112" 结  论    20
 HYPERLINK \l "_Toc178426113" 参考文献    20
 HYPERLINK \l "_Toc178426114" 致  谢    21
 HYPERLINK \l "_Toc178426115" 附  录    22
 HYPERLINK \l "_Toc178426116" Tomcat简介    22
 HYPERLINK \l "_Toc178426117" 声  明    23


一、绪论
1.1网上毕业设计选题系统出现的趋势
随着网络技术在今天的飞速发展,互联网已经变成了人们社会生活中发布传递,和快速获取自己需要的社会信息的非常重要的渠道,同时互联网在人们的经济,政治,日常生活等各个方面都正在发挥着不可替代的的作用。所以互联网网站的设计与建设在因特网的应用上占据着非常重要的位置,网站已经成为各级政府,以及企业事业相关单位自身信息化发展建设过程中的分量最重的一部分,因此人们对它的发展非常重视。
自从上个世纪90年代初期伴,随着www的不断发展,因特网慢慢地普及开来,因为www可以通过人性化的视图界面极大的降低了因特网的操作使用难度,使得互联网的用户的数量得到急剧的增加,因特网的发展得到了越来越多的认得重视,同时因特网的巨大的发展潜力也得以被人们发现。因此大量的人们纷纷加入因特网的行列。因此这样极大的增加了因特网上的站点,出现在网络上的信息越来越多样化,越来越丰富。现如今因特网已经在人们生活中的方方面面发挥着不可替代的作用。信息的流通也因为互联网的出现而更加的方便,可以说互联网的出现使得人们得以体验的到全新的生活方式。
本次我们所完成和设计的课程题目正是互联网技术在大学生的学习生活中的使用,今天网络已经成为了人们社会生活中不可分割的一部分,也需要对之前的传统的选择毕业设计题目的方式进行改变,因此通过网络进行选题变成了一个非常重要的方式。使于Web相关技术的用于网络进行选题的系统可以通过遍布在全球的因特网来完成,所以学生可以在本地区进行选择题目,还可以在本地区以外的地区选题,使得选题的更加的方便,更加的灵活。该系统根据已经存在的题库中的先关内容来生成题目,因此极大地提高了用计算机进行选题的效率;而且可以把题目直接送到数据库中并进行保存,老师可以将其作为以后再次出题时的参考。现在网络选题是较好的一种选题方发,将出好的题目存放在相应的服务器上,选题的学生可以通过自己的帐号和对应的口令登陆系统,同时学生也可以在第一时间得到与选题相关的信息。因此,使用网络进行选题方式将会是以后的选题方式发展的大方向。
1.2选题系统常用的实现技术
有多种技术可以用来实现网络选题系统的功能,一种是采用之前传统的客户机/服务器(C/S)型的MIS类型的架构,即将相应的论文的题目存放在乡音的服务器上,将考试应用程序安装在选题机上并配置好数据库的客户机,所以每一次进行选题时都要对选题机进行应用程序安装、数据库配置,这样一方面选题的工作就会变得非常烦琐;还有就是客户机上存放的选题程序,安全工作也会比较耗费精力。而另外一种是使用Web 技术来实现的网络选题系统。Web技术不再是传统的“客户机/服务器”的两层的结构,而是使用了三层的体系结构:数据库层/用户界面层/事务层。所以Web结构的安全性可以得到更好的保障。不需要在所使用的用户机上安装任何的应用程序,而是将相应的应用程序都安装在用来作为服务器来使用的计算机上面,数据库服务器上则用来存放有关的题目(事务层、数据库可以在一台服务器机器上)。

2基本技术简介
该系统全部名称为毕业设计选题系统,研发该系统的目的是为使得学生可以通过学校的网络选择自己的毕业设计题目。
2.1该系统拟采用的相关技术
该系统要求网络选题系统的基本的各部分功能都能够实现,从系统的安全已维护方面考虑出发,选择使用Web技术来实现。再简单点说就是把该系统以一种B/S模式来呈现,使得用户对服务器上的题目的访问以及远程维护该系统都能直接通过浏览器来进行。
还有很多技术用来实现服务器端的相应程序,我选用了一种在现在比较广泛使用的的网络编程技术——用JSP作为主要手段实现去实现(配合相应的Java Servlet,HTML等技术)。JSP是一种可以实现Web技术,它具有较高的效率。这一方面正好可以满足选题系统对实时性的要求。JSP本身的所具有的安全性,再结合它的实现模式所具有的特点,能够完全满足选题系统的各项要求。此外,JSP属于Java平台的一个部分,JSP具有Java语言“一次性编写,多处可运行”的特点。现在更多的服务器的供应商愿意将对JSP的支持应用到他们的服务器产品中,所以用JSP技术完成的这个选题系统就可以很容易放到别的平台上进行运行。多种优势使得这个选题系统不仅可以为校内目前的网络教学而且为以后的远程式教育的实施都提供了很好的准备。因此JSP技术确实是最佳的技术,它来实现本系统的各项功能完全是可行的。
2.2主要技术简介
JSP是英文Java Server Pages的缩写,该技术由Sun Microsystem公司在99年6月份推出,是以Java Servlet技术以及整个的Java体系为基础的Web的开发技术。是J2EE体系中非常的重要一个环节,JSP可以为开发高度动态的网页应用提供独特的研发环境。JSP技术可以适应现在市场上包含Apache WebServer、IIS4.0等在内的87%的不同的服务器产品,这使得它可以处理大量的商业事务。同时服务器通过解释执行JSP代码后会直接传输并嵌入到HTML脚本语言中,这样使得页面的输出得到简化,同时脚本语言容易使用的有点也得到保留。SUN公司研发出来的这个规范将已经存在的相应规范进行来整合和平衡,同时也作为技术和工具用来支持JAVA编程环境。它的结果是出现了一种开发以WEB应用程序为基础的新的方法,它的强大的功能给予以组件应用逻辑为基础的页面设计人员以强有力的支持。让动态的页面编写起来更容易、更加的简单是JSP设计的主要目标。JSP主要的特点有以下几个方面:随处可以执行,JSP技术完全与运行平台无关,也包含它实现的动态网页和对底层Server元件的设计,使元件的功能加强,更加容易的开发设计动态网页。
JDBC (​http:​/​​/​www.itisedu.com​/​phrase​/​200604151904545.html" \t "_new​)是Java Data Base Connectivity (​http:​/​​/​www.itisedu.com​/​phrase​/​200604241247415.html" \t "_new​)的英文简称,是java数据库的连接。它是用来执行SQL (​http:​/​​/​www.itisedu.com​/​phrase​/​200604022014515.html" \t "_new​)语句语法的Java API (​http:​/​​/​www.itisedu.com​/​phrase​/​200604241228185.html" \t "_new​),能够使多个种类的关系数据库 (​http:​/​​/​www.itisedu.com​/​phrase​/​200602271218062.html" \t "_new​)进行统一访问,由一组使用Java语言进行编写而成的类 (​http:​/​​/​www.itisedu.com​/​phrase​/​200603090857555.html" \t "_new​)和接口组成。JDBC所提供的基准,根据这个标准可以建立更高级的接口及工具,让数据库研发人员可以编写相应数据库的应用程序 (​http:​/​​/​www.itisedu.com​/​phrase​/​200604232224305.html" \t "_new​)。把Java和JDBC结合在一起就可以使程序员只需要写一遍程序便可以让它在任何一个平台上正常运行,这也是Java语言“只需编写一次,各处可以运行”的特点。同时JDBC将Java 的功能进行了扩展。例如,含有applet (​http:​/​​/​www.itisedu.com​/​phrase​/​200604201518585.html" \t "_new​) 的网页可以用Java和 JDBC API来进行发布,而远程数据库可以为该applet提供信息,企业也可以将所有职员用JDBC经过Intranet连到单个或多个企业内部的数据库中。
3 需求分析与方案设计
3.1功能需求分析
毕业设计选题系统是一个面向高校毕业生的一个系统,需要满足许多用户对它的操作,而许多用户中不同类的用户对系统的可操作权限有所不同,因此在我们设计该系统时一定要对不同的类型的用户设立相应的操作权限。在这个系统中,我主要考虑了四种权限(系统管理员,各个系主任,指导教师,选题学生)。系统管理员可以进行添加的用户为系主任,而指导教师和学生可以由系主任进行添加。
与此同时,为了让本系统尽可能的满足我们的实际需求,指导教师能够在线进行出题,但是指导教师所出的题目需要经过相应的系主任的审核后才能供学生进行选择。在学生选题功能中,在实现学生选题的基础之上,还要对学生选择题目志愿的顺序进行考虑,因此在学生的选择题目的过程中,要设置多个志愿,但是在指导教师的进行审核的过程中,教师必须依照学生的志愿逐次进行审核。换句话说在选题学生的第一志愿没有被审核的时候,学生选择的第二志愿的指导老师是不能对这个学生的第二志愿予以审核的。
3.2数据库需求
在信息化世界中,信息是从客观的事物流出经过数据库,然后通过决策机构后又回到客观的世界,信息在这一循环过程中经历了3个领域:信息的世界,数据的世界,现实的世界。现实世界上的事物反映到人类的头脑中,人类的大脑就会对它有个认识的过程,再经过大脑的分析(选择、命名、分类等)最后进入到信息的世界。之后再对这些信息进一步加工及编码,最后进入数据的世界,而这两个方面的问题在软件系统开发的过程中都需要考虑,也就是说要考虑到系统开发过程中所需要用到的的数据,以及怎样对这些数据进行相应的操作。这两个问题是贯穿在整个软件系统的研发过程,这也就是软件设计过程中的一个核心,数据库的搭建设计问题。
网上选题系统是一个具有一定使用应用价值的工具,从本质上来说它操作的对象是相应数据库中所存储的具体的所有数据记录。所以,所使用的数据库系统不仅要具有较高的稳定的性能、安全性能及高负载情况下相应的能力能够得到保持,同时还要求数据库设计人员了解需求,对数据库的逻辑结构做出科学的设计,使得数据库拥有较高的利用效率以及数据冗余得到有效降低。系统用户的需求主要体现在提供信息、保存信息、更新信息和查询信息,这就使得数据库结构能够充分满足多种信息的输入输出。对基本数据的收集、对数据及数据结构的处理流程,形成一份详细的数据字典,为以后的具体的设计做好准备。
完成对数据库概念结构设计以后,就可以将上面的数据库的概念结构转化为可以被某种数据库系统能够支持的实际的数据模型,就是相应的数据库的逻辑结构。根据系统的不同需求选择需要的数据库系统。
几种相关的信息的存储在该系统中被主要涉及到,首先就是毕业班的学生信息,毕业论文题目信息,指导教师信息以及相应系主任信息,因此每一个信息都需要保存在同一张表中,在需要对表进行操作时可以对任意的一个表进行独立操作,也能够对几个表做关联操作。
3.3选题系统支撑环境
1)操作系统:WIN7
2)应用服务器:TOMCAT 5.0.28
3)数据库:SQL2008
4)JAVA VM:JDK 1.4.2_07
5)硬件:建议内存在2G以上
4选题系统设计
4.1 功能的设计
网络在线选题系统所具有的主要功能包括3部分:用户的管理、教师题库信息的管理、学生在线选题信息的管理。该系统的软件设计结构图如图:

4.2 数据库的设计
4.2.1 系统的登陆,用户会话表格(bsm_session_info)


4.2.2 系统用户信息的管理表(bsm_sys_user)

4.2.3 毕业论文的题库信息表(subject)  


表3:毕业论文的题库信息表
4.2.4 毕业论文选题信息管理表(select_sub)


5 系统功能的实现
5.1系统的组成及业务的流程图
系统的组成及业务的流程图
(一)系统的组成
该系统是由四个子模块所组成的:系主任的管理,教师进行出题,学生在线进行选题和管理员对系统的维护。它们各自具体的功能如下所述:
(1)学生在线进行选题模块
选题学生使用相应系主任录入的信息,学生姓名,对应学号以及密码登陆选题系统进行题目的查询并且进行题目选择而且可以修改学生自己的登陆密码。该选题系统给学生分配了四个选题项,选题的学生可以按照自己的现实情况做出多个选择,如果第一志愿没有被审核,学生所选的其他的志愿就不能被审核,如果第一个志愿没有通过审核则指向学生的第二个志愿,依次进行类推,如果学生的所有的志愿都没有被审核通过学生则按照原来的过程重新选择。往届的毕业设计题目也还可以供学生查看以做为参考。
(2)教师进行出题模块
这一部分主要是由教师进行使用的,系主任将教师信息录入系统,教师可以通过系住任为他所分配的帐号,对应密码登陆下一级系统。在教师进入下一级系统后就可以由指导教师来负责出题目,并对学生的选题予以审核,同时也可以查看往届题目来作参考。
(3)系主任进行管理模块
系主任通过此系统批量的录入选题学生信息以及指导教师信息并且负责对指导教师出的论文题目进行审核,必须经过系主任审核通过的论文题目才能供学生进行选择,因此系主任还可以根据需要对教师及学生的帐号进行有选择的冻结。
(4)系统管理员模块
系统的管理员主要任务是负责对系主任的资料进行录入并且可以冻结。
(二)业务的流程图:


5.2系统用户的权限管理
该系统分为四个功能模块,系主任进行管理,指导教师出题,毕业学生在线进行选题和系统管理员模块。
系统用户进行管理的基本的处理流程是:
1 系统管理员的权限在于建立数据库时对初始化数据库脚本的创建,系统管理员登陆以后可以对自己本身的信息来进行维护,而且还可以对不同系的系主任进行帐号的分配,同事也可以对系主任的信息进行相应的维护。
2 每个系主任登陆该系统之后都能够对自身的信息根据需要进行维护,也可以为本系的指导教师及学生建立系统用户,每个系只可以查看本系的相应信息。
系统用户管理的结构如图:

由上面的图分析可知,该系统一共有4种角色,因此在实现该系统过程中可以按照用户的角色来判断他所拥有的操作权限,(根据SQL进行判断)。
1)系统管理员(bsm_sys_user.user_type = 0)
2)系主任(bsm_sys_user.user_type = 1)
3)指导教师(bsm_sys_user.user_type = 2)
4)选题学生(bsm_sys_user.user_type = 3)
5.2.1 登陆系统
为了使用户信息的一致性得到保证、是用户操作起来更加的方便同时让该系统的安全模块更方便的升级和维护,这个系统使用单点进行登陆的方式。
系统主页:http://localhost:8080/selectSystem(服务器在localhost上)如图:

图:系统主页
系统页面的功能:
1信息通知
鼠标单击页面最下方的“关于网上选择毕业设计题目的通知 (​http:​/​​/​172.22.3.183:8080​/​selectSystem​/​inform.htm​)”能够在网上查看有关毕业论文题目选题信息的有关信息。

2不同系统用户的登陆
a).选择正确的用户的类型、输入对应的用户名和相应的密码就能够进入到该系统用户的管理信息相关界面。


图:系统主页(学生)

图:系统主页(指导教师)

图:系统主页(系主任)

图:系统主页(管理员)

b).如果进行登陆时所输入的帐号在该系统内不存在,该选题系统就会拒绝用户登陆同时显示用户使用的帐号在该系统内不存在。

运行结果图

c).当系统用户是学生这一类别时,如果他所使用的用户类型不是学生类型而是其他类型,该选题系统就会拒绝他登陆同时提示登陆的帐号与用户类型不相匹配。

运行结果图

d).如果系统用户选择的身份类型正确,登陆帐号也是正确的,但登陆密码是错误的,该系统也会提示他使用帐号密码不对,请对信息核对后在进行登陆。

运行结果图

1注册会话的信息
HttpSession currentSession = request.getSession(false);
currentSession = request.getSession(true);
currentSession.setAttribute("userNo",userNo);//系统用户编号的保存
currentSession.setAttribute("userName",userName);//系统用户姓名保存
currentSession.setAttribute("userCode",userCode);//系统用户帐号保存
currentSession.setAttribute("userType",userType);//系统用户类型保存
currentSession.setMaxInactiveInterval(-1);//设定操作页面在关闭之前会话永不失效
String sessionId = currentSession.getId();
currentSession.setAttribute("session_id",sessionId);
String remoteIp = request.getRemoteAddr();
currentSession.setAttribute("login_ip",remoteIp);
//对用户会话进行添加
LoginHome.addUserSession(userNo,sessionId,remoteIp);
并且把添加的用户信息保存到用户会话的信息表bsm_session_info里
5.2.2选题系统用户的管理
a).选题系统用户信息的管理
1.系统使用权限控制(如下面的组图)
通过对系统使用权限只有该系统的管理员及系主任才能够对用户信息进行操作,其他类型的人员不能对用户信息进行操作,该功能代码在jsp中的实现为: 
if(!(userType.equals("0")||userType.equals("1")))
{
throw new DataException("对不起没有查看权限!");
}
选题系统的管理员及系主任可以同时公用一组相同的界面,但是要对不同类型的操作人员的操作权限在界面上进行限制。对应的代码为:
<%
if(userType.equals("1"))
{
%>
<input type="button" name="add2" value="导入" onClick="window.location.href='op_user_import.jsp'">
<%
}
%>

图:选题系统用户管理的界面
2.管理页面的功能
查询——使用不同条件来进行组合查询,便可以找到用户相关的信息。
增加——可以点击“增加”的按钮来进入“增加用户”的信息界面,见如下组图:


图:系主任增加用户界面(正常、指导教师)


图:系主任增加用户界面(冻结、指导教师)

图:系主任增加用户界面(正常、学生)

图:系主任增加用户界面(冻结、学生)


图:管理员增加系主任界面

图:管理员增加系主任界面(正常)

图:管理员增加系主任界面(冻结)

系统用户增加的操作的权限只有两种类型的用户拥有,一个就是系统的管理员,一个则为系主任。系统的管理员负责对系主任的相关信息进行添加而系主任则负责对指导教师及学生的信息进行添加,如果是系主任进行对系统用户进行添加,则会多出一个选项用来限制每个指导教师指导的学生总人数。如果操作用户添加成功则将相关信息通过添加的电子邮箱,以电子邮件的形式发送给系统用户,而且用户的密码则由该系统随机生成。功能实现代码:
if(myForm.user_type.value =="2")
    {
        stu_num_id.innerHTML="<inputname=\"stu_num\" type=\"text\" desType=\"NUMBER\" value=\"\" maxlength=\"2\" isNeed=\"1\" des=\"指导学生人数\" size=\"10\">人";
    }
    if(myForm.user_type.value =="3")
    {
        stu_num_id.innerHTML="<inputname=\"stu_num\" type=\"text\" value=\"\" maxlength=\"2\" isNeed=\"\" des=\"指导学生人数\" size=\"10\"  readonly>人";
    }
运行结果如下组图:


图:系主任添加指导教师及学生过程

图:系主任添加指导教师及学生结果

修改——系统管理员及系主任还能够对用户信息进行修改,但相比于管理员系主任增加了对知道老师所能够指导的选题学生的人数进行修改的选项。如下图:

图:系主任对用户信息的修改

图:管理员对用户信息的修改

邮件——能够单独向某一用户进行邮件发送。

冻结——如果系统用户的帐号到了使用的期限,系统管理管理员及系主任就需要对到期用户的信息进行冻结。当被冻结的用户再次进入该系统时该系统将会提示用户该帐号已经被冻结。系统设计这个功能考虑的是对用户帐号进行冻结而不是将它删除,这样系统将会避免冻结后信息的丢失。如下组图:

图:冻结的过程

图:冻结的结果

图:冻结后登陆结果

导入——在系主任输入教师或者学生的信息时因为要输入的信息量太大一个一个的进行输入不太可能,因此在这里我们将文件导入的功能添加到该系统中。如下:


图:系主任导入用户信息的界面
5.2.3历届信息查看
系统具有的对历届信息进行查看的功能是对往年完成的毕业设计进行的统计并备份记载,这是为了作为教师出题和学生选题的参考以方便教师及学生查询,还能够在系主任对题目进行审核时提供参考依据。如下图:

图:学生、教师、系主任历届信息查看
5.2.4 个人信息维护 
在系统用户进入到系统后,能够通过单击“个人信息维护”来对自己的信息进行维护、修改,可以更改密码,个人的邮箱联系方式等资料,见图:

图:个人信息的维护
5.3系统选题权限管理
拟定——指导教师制定毕业设计论文题目,并将题目提交系主任进行审核。
审核——各个系主任审核本系指导教师拟定的题目并且评定题目,然后提供给学生进行选择。
选定——选题学生可以选择通过系主任审核之过后的论文题目,学生能够按照自己个人的爱好和自身实际情况来选择第一志愿,第二志愿,第三志愿和其他志愿等待老师进行审核。
审批——指导老师按照对学生所选择的论文题目来审核并对学生最后的所选择的毕业论文课题作出决定。
系统具体的设计流程图如下图:。

图:选题权限管理图
系主任审核功能实现:各个系主任通过单击“审核”对指导教师出的论文题目进行审核。见下图:

图:论文题目审核管理界面
进入系主任审核页面见下图:


图:系主任审核界面
5.4指导教师题库管理
指导教师作为该选题系统的一个用户,在进入该系统后能够进行题目的录入和修改,并且能够对学生选择的论文题目进行审核,及修改指导教师自身的信息等功能。
5.4.1指导教师出题    
指导教师是系统的一个用户,教师可以对论文题目的信息进行录入。指导教师录入的论文题目需要经过相应的系主任审核之后学生才能够进行选择。教师录入如下图:


图:教师录入题目界面
5.4.2指导教师审核题目 
指导教师审核论文题目是在学生选择了指导教师的题目以后,指导教师根据学生选择的志愿的顺序来进行题目审核,就是说学生选择的第一志愿在没有经过审核或者审核通过之后,第二志愿的指导教师是不能进行题目审核操作的。如下图:


图:指导教师审核管理界面
进入指导教师审核界面:如图:

图:指导教师审核界面

5.5学生在线选题
选题的学生在该系统中,能够对毕业设计题目来进行增加,自行修改和查看历史的信息以及修改个人基本信息等操作。如下图:


图:毕业论文选题信息的管理界面
学生页面的功能:
⑴查询:学生能够查看自己已经选择好的毕业论文题目。
⑵增加:学生能够增加自己的毕业论文题目,但是一定是自己所选的论文题目还没有被指导老师审核的前提下。
⑶删除:学生能够删除没有被指导老师审核的毕业论文题目。
⑷修改:学生能够自行修改自己的毕业论文题目和志愿信息。
进入论文题目增加页面:
                                                                   
图:毕业论文选择的界面

学生选择论文之后,等待指导老师的审核。
5.6系统登出
在系统用户完成他的系统操作以后,系统用户就需要点击“退出系统”来退出该系统,在系统用户将要退出系统后该系统将会自动注销session。
5.7系统基本控件使用
该选题系统的数据库的连接池、发送邮件的系统以及数据的导入功能的实现都是要使用第三方的组件来进行开发,比如数据库的连接池主要是使用msbase.jar、mssqlserver.jar、msutil.jar组件,发送邮件的系统主要是用mail.jar、activation.jar来实现,实现数据的导入功能,所使用的文件上传的组件是commons-fileupload-1.0.jar。
5.7.1数据库的连接池实现
//连接池的新建
dataSource = new BasicDataSource();
dataSource.setDriverClassName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
dataSource.setUrl("jdbc:microsoft:sqlserver://localhost"+":"+this.dbport+";DatabaseName="+this.dbname);
dataSource.setMaxActive(200);
dataSource.setMaxIdle(150);
dataSource.setMaxWait(-1);
dataSource.setRemoveAbandoned(true);
dataSource.setRemoveAbandonedTimeout(60);
dataSource.setLogAbandoned(true);
dataSource.setUsername(this.username);
dataSource.setPassword(this.password);
/**
* 对数据库连接进行释放
* @param conn  想要释放到连接池的连接
*/
Public void freeConnection(Connection conn, String clsName)
{
try
{
if (conn != null)
{
conn.close();
conn = null;
}
String num = (String)connOutMap.get(clsName);
if (num==null) 
num = String.valueOf(0);
else 
num = String.valueOf(Integer.parseInt(num)+1);
connOutMap.put(clsName,num);
}
catch (Exception ex)
{
ex.printStackTrace();
}
}
5.7.2邮件系统实现
功能核心代码:
private MimeMessage mimeMsg = null;  //MIME邮件的对象
private Session session = null;      //邮件会话的对象
private Multipart mp = null;   //Multipart的对象,邮件的内容、标题以及附件等内容都添加到里面后,MimeMessage对象再次生成
mimeMsg.setContent(mp);
mimeMsg.saveChanges();
System.out.println("邮件正在发送....");
Session mailSession = Session.getInstance(props,null);
mailSession.setDebug(DEBUG);
mimeMsg.saveChanges();    //邮件信息的存储
Transport transport = mailSession.getTransport("smtp");  
transport.connect(smtpServer, username, password);
transport.sendMessage(mimeMsg,mimeMsg.getRecipients(Message.RecipientType.TO));
System.out.println("邮件已发送成功!");
mailSession = null;
transport.close();
6技术难点分析
该选题系统使用MVC的架构,这可以使全部由JSP或者全部由servlet技术实现的应用程序中所存在的固有的问题的到很好的解决。也就是使得用JSP难以将内容与内容的显示区分开和非常容易将Java的相关代码与HTML混和在一起的问题得以解决。这样就会使做出来的系统维护起来更容易。
   该系统在对相关数据的处理上选用了DAO的数据处理的模式,也就是创建一个接口,该接口中定义好了这个应用程序中将要使用到的所有事务的方法。在该应用程序中,如果需要与数据源进行交互联系,就要通过这个接口来进行,需要单独编写一个类来完成这个接口在逻辑上所应当对应的特定的数据存储。使得对数据库的相关操作全部都在DAO内进行,这样就会方便以后对系统数据库的维护升级。
该选题系统需要完成管理员、相关院系领导、出题教师以及学生的差异性的操作,因此对用户的操作权限的控制就是我们开发该系统过程整的重点。

结  论
该选题系统基本上完成了毕业论文选题系统对其功能的要求,该系统首先具有内容动态更新的功能,例如学生信息的更新,管理员信息的更新,论文信息的更新等。与数据库有较完美的连接系统良好的动态性得到保障。该系统还具有交互性功能,系统的交互性就是指在教师和学生之间可以进行信息交流,除此之外使得学生在操作该系统时更方便,操作界面更美观,该系统的安全性和可靠性避免了他人进入该系统并破坏系统的信息。
这一次的毕业设计选题系统尽管实现了一些需要的功能但依然存在一些问题以及缺陷,不过我还是通过这次亲自参加毕业设计让自己的知识得到丰富和提高,同时我充分认识到理论和实践之间有着非常重要的联系,进一步了解了JAVA以及数据库的相关知识。毕业设计就是对自己大学四年学习生活的总结,使我更加清楚的认识到了自己的优势和不足。


致  谢
本篇文章是在王璐老师的关心以及悉心指导下来完成的,她丰富的知识储备以及严谨的教学工作作风让我深深受益,而且对该课题顺利完成提供了强有力的支持。在这里向王璐表示我最真诚的谢意!
在完成毕业设计论文的过程中,本人还得到了很多同学的热情帮助,本人同时向他们表示深深的感谢!
最后还要向在百忙之中对本文进行评审的各位专家以及老师表示深深的谢意!

参考文献
[1] 周良中. Eclipse插件开发 (​http:​/​​/​search.dangdang.com​/​rd.asp?id=9221389&clsid=01.54.06.18&key=ECLIPSE" \t "_blank​).北京:人民邮电出版社,2005。
[2] 张怀中. 常用工具软件实用教程 (​http:​/​​/​search.dangdang.com​/​rd.asp?id=8872397&clsid=01.49.30.03|01.54.13.04&key=editplus" \t "_blank​)[M].北京:中国水利水电出版社,2004。
[3] 李洪成.tomcat与java Web开发技术详解[M].上海: 电子工业出版社,2006。
[4] 李盛恩.数据库基础与应用 [M].北京:人民邮电出版社,2002。
[5] 卢银鹃.JSP网络开发技术 [M].北京:人民邮电出版社,2001。
[6] 朱洪江.Java Servlet & JSP 经典实例 [M].北京:中国电力出版社,2005。
[7] 耿详义.JSP实用教程 [M].北京:清华大学出版社,2003。


附  录
Tomcat简介
Tomcat是作为一个开源的Servlet容器来免费使用的。和传统的桌面上的应用程序不同的是,Tomcat中存在的应用程序是WAR(Web Archive)文件。WAR是Sun推出的一个Web应用程序的格式,和JAR相类似,是包含许多文件的一个压缩包。在这个压缩包中的所有的文件按照一定的目录结构来组织:通常情况下它的根目录下面包含有Html以及Jsp文件或是包含着这两种文件的目录,除此之外还会存在一个很重要的WEB-INF目录。通常情况下在WEB-INF目录下会有一个web.xml文件以及一个classes目录,web.xml则是这个应用程序的配置文件,而切在classes目录下面则包含了编译好了的Servlet类以及Jsp或着Servlet可以依赖的其它类(例如JavaBean)。一般情况下这些所依赖的类也是可以打包成一个JAR存放到WEB-INF下面的lib目录下,将它放到系统里面的CLASSPATH中当然也是可以的,但那样不方便移植和管理。
Tomcat不仅可以作为一个Servlet的容器,传统的Web服务器的功能也是它所具有:可以处理Html的页面。但是和Apache相比较来说,Apache处理静态的Html的能力更好。因此我们要吧Tomcat与Apache结合到一块使用,让Apache来处理静态的Html,用Tomcat来处理Jsp以及Servlet。这种集成只要通过对Apache以及Tomcat的配置文件进行一下修改即可。
以Tomcat为基础的开发其实主要就是Jsp以及Servlet的开发,对Jsp以及Servlet的开发是非常简单的,只需要使用IDE或普通的文本编辑器,最后把它打包成WAR文件就可了。


只能是系主任才能对该功能进行使用使用

可以自己来增加论文题目

  • 8
    点赞
  • 58
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值