基于JSP的在线毕业论文管理系统.doc

上传人:文库蛋蛋多 文档编号:3938641 上传时间:2023-03-28 格式:DOC 页数:37 大小:890.50KB
返回 下载 相关 举报
基于JSP的在线毕业论文管理系统.doc_第1页
第1页 / 共37页
基于JSP的在线毕业论文管理系统.doc_第2页
第2页 / 共37页
基于JSP的在线毕业论文管理系统.doc_第3页
第3页 / 共37页
基于JSP的在线毕业论文管理系统.doc_第4页
第4页 / 共37页
基于JSP的在线毕业论文管理系统.doc_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《基于JSP的在线毕业论文管理系统.doc》由会员分享,可在线阅读,更多相关《基于JSP的在线毕业论文管理系统.doc(37页珍藏版)》请在三一办公上搜索。

1、计算机专业毕业论文基于JSP的在线毕业论文管理系统Online Thesis Management System Based on JSP摘要:随着互联网在学校和高校的普及,网上毕业论文管理系统成为教师管理论文的主要工具。本文阐述使用JSP技术开发高校毕业生论文管理系统的必要性和优越性,探讨该系统的设计思想、结构、功能和实现方法、技术以及关键性问题。关键词:JavaBeans;Servlet;毕业论文管理系统;JSPAbstract: Along with the Internet popularization in the school and universities, the on-li

2、ne graduation thesis management system becomes the teacher manages the thesis of main tool. This article elaborates uses the JSP technology development universities graduate thesis management system the necessity and the superiority, discusses this system the design thought, the structure, the funct

3、ion and the realization method, the technology as well as the crucial question.Key words:JavaBeans; Servlet; Thesis Management System; JSP目 录摘要41引言 4 1.1在线论文管理系统的研究意义 41.2在线论文管理系统的目的 42系统说明 42.1 系统选择 42.1.1 动态网站设计技术分类42.1.2 动态网站设计技术选择52.2 开发平台选择52.2.1操作平台的选择 52.2.2 Web服务器软件的选择 52.2.3数据库服务器选择 62.2.4

4、开发工具的选择63数据库的设计 63.1数据库设计 63.2数据表设计 6 3.2.1 用户表63.2.2 教师表73.2.3 学生表73.2.4上传下载表 73.2.5 完成任务表83.2.6 成绩表84系统设计 94.1技术分析 94.2系统结构图 95系统实现技术11 5.1 功能模块简介 11 5.2各个模块的代码说明 115.2.1确定论文题目 115.2.2我的联系信息模块 115.2.3上载电子版文献综述等模块 11 5.3教师模块简介 115.3.1 拟定论文题目等模块 115.3.2 学生联系信息等模块 125.3.3 电子文献综述查收等模块 126JSP连接数据库 127身

5、份验证和个性化机制138部署Servlet14 9要点和关键点 149.1在jsp中处理中文乱码问题 149.2上传下载问题 1510结束语 16 11参考文献1612致谢1713附录181引言1.1 在线论文管理系统的研究意义 随着最近几年的高校扩招,越来越多的大学生从学校毕业,给社会带来巨大的就业压力1,同时,大学生的毕业论文质量也随之下降,这是一个不可忽视的问题,建立高校毕业生在线毕业论文管理系统日趋重要和必要2。尽管大部分高校都有自己的学生管理系统或学籍管理系统,但很少涉及在线毕业论文管理,应该着手开发这套系统,从而减少老师的负担和提高工作的效率。1.2 在线论文管理系统的目的开发这套

6、系统是为了不再让教师管理学生论文停留在纸介质的基础上,这样的机制已经不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代这种传统的管理方法必然被计算机为基础的信息管理所取代。因此,作为高校运作的核心环节高校论文管理无疑被提到一个迫切需要解决的议程上。系统可以把日常管理工作等内容提升到网络中来,使它得到归拢,合并,减少分散方式。就有必要建立论文管理局域网络系统。实践证明,高校论文管理系统只有依托网络,充分利用当今高新科技发展资源,才能实现高校各个教师对学生论文管理进行很好的统一,查收和阅读,并且保持数据的一致性,完整性和时效性,才能理顺工作关系,提高工作效率。2系统说明2.1 系统选择2.

7、1.1 动态网站设计技术分类 就其实现技术而言,目前动态网站设计技术主要有:利用Perl/C+/Delphi等开发的CGI,两种有名的API-ISAPI/NSAPI,还有ColdFushion,以及最近几年流行起来的3p技术-ASP,PHP,JSP; ASP-Active Server Page,由微软公司开发 ,是一个WEB服务器端的开发环境,主要采用脚本语言VBScript(或Javascript / perl等)作为自己的开发语言,可用ODBC或直接驱动法访问Window平台的数据库。PHP-Person Server Page ,是由Rasmus个人创立的一种跨平台的服务器端的嵌入式脚

8、本语言. 它大量地借用C, Java 和 Perl 语言的语法, 并耦合PHP自己的特性,.是一种很有个性的网站开发语言,它支持目前绝大多数数据库。JSP-Java Server Pages , 是Sun公司推出的新一代站点开发语言,Sun 公司除Java 应用程序 和 Java Applet 之外,又创立了JSP,其可以在Servelet和JavaBean的支持下使实现业务逻辑的代码和控制业务流程的代码分离,使得开发更加的快速和有效;并且兼之Java的跨平台特性,使之优点更加明显。可是当前的大多网站采用ASP和PHP技术,ASP的缺点在于不容易去写易理解、可用性好的代码,因为它的代码中夹杂着

9、脚本和HTML,那很难被读懂,至于重用也只能通过剪贴来实现。由于ASP自身的结构, 很难用面向对象的方法编程。虽然可以通过好的编程习惯,就是使用服务端引用或FrontPage 模板,靠封装代码来提高可用性,并且避免重复代码带来的混乱。但即使这样,项目还是难于管理、维护;PHP的缺点在于由于PHP本身存在的一些缺点,使得它不适合应用于大型商务站点,而更适合一些小型的商业站点。首先,PHP缺乏规模支持。其次,缺乏多层结构支持。对于大负荷站点,解决方法只有一个:分布计算。数据库、应用逻辑层、表示逻辑层彼此分开,而且同层也可以根据流量分开,组成二维数组。而PHP则缺乏这种支持。还有上面提到过的一点,P

10、HP提供的数据库接口支持不统一等。2.1.2动态网站设计技术选择 经过对几种流行的实现技术的优缺点比较,再结合系统自身的功能需要,我们决定采用J2EE标准中的JSP技术实现本系统的开发。首先,系统具有跨平台性,unix/linux服务器的性能更加优良。JSP作为Java平台的一部分,其拥有Java程序设计语言“一次编写,各处执行”的特点。其次,系统开发职责的高度分离和代码的可重用性。使用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面。使用JSP标识或者小脚本来产生页面上的动态内容。产生内容的逻辑被封装在标识和JavaBeans群组件中,并且捆绑在小脚本中,所

11、有的脚本在服务器端执行。将核心逻辑封装在标识和Beans中,那么其它人,如Web管理人员和页面设计者,能够编辑和使用JSP页面,而不影响内容的产生。在服务器端,JSP引擎解释JSP标识,产生所请求的内容(例如,通过存取JavaBeans群组件,使用JDBC技术存取数据库),并且将结果以HTML(或者XML)页面的形式发送回浏览器。这有助于作者保护自己的代码,而又保证任何基于HTML的Web浏览器的完全可用性。绝大多数JSP页面依赖于可重用且跨平台的组件(如:JavaBeans或者Enterprise JavaBeans)来执行应用程序所要求的更为复杂的处理。开发人员能够共享和交换执行普通操作的

12、组件,或者使得这些组件为更多的使用者或者用户团体所使用。基于组件的方法加速了总体开发过程,并且使得各种群组织在他们现有的技能和优化结果的开发努力中得到平衡。2.2 开发平台选择2.2.1操作平台的选择本着界面友善、易操作和成本低廉的原则我们选择Windows 2000作为开发平台。2.2.2 Web服务器软件的选择 由于论文系统的特殊性,考虑到1. 系统的可扩展性和安全性;2. 系统的运行速度;3. 服务器的升级和更换等方面,所以采用免费的、性能卓越的、稳定的和版本升级及时的Apache组织的Apache服务器+Tomcat服务器。Apache的特点是简单、速度快、性能稳定,并可做代理服务器来

13、使用,并可以可以支持SSL技术,支持多个虚拟主机。Tomcat是Sun和Apache合作做出来的JSPServer,支持Servlet 2.4 and JavaServer Pages 2.0等版本。Apache +Tomcat优势更加明显,Apache处理静态页面,Tomcat处理JSP动态页面2.2.3 数据库服务器选择 MySQL是一个真正的多用户、多线程SQL数据可服务器。SQL是世界上最流行的和标准化的数据库语言。MySQL是以一个客户机/服务器结构实现的,是有一个服务器守护程序mysqld和很多不同的客户程序和库组成的。 总体来说,MySQL数据库具有以下主要特点:1. 同时访问数

14、据库的用户数量不受限制;2. 可以保存超过50,000,000条记录;3. 是目前市场上现有产品中运行速度最快的数据库系统; 4. 用户权限设置简单、有效。2.2.4 开发工具的选择我采用的是Macromedia Dreamweaver MX 2004和UltraEdit软件开发,Dreamweaver主要开发界面,UltraEdit主要写java文件。3数据库的设计3.1数据库设计 一个成功的管理软件,数据库设计的好坏是一个关键。本系统采用以面向对象编程语言Java为基础的JSP技术,更应该注意到对面向对象的支持。数据库的设计思想为:1. 数据库结构清晰,便于实现OOP ;由于实现了应用模块

15、对象对数据库对象的完全映射,数据库逻辑模型自然且直接地模拟现实世界的实体关系。2. 数据库对象具有独立性,便于维护;除了数据库表对象与应用模块对象一一对应外,在逻辑对象模型中我们没有设计继承等泛化关系,表类间的关系比较简单,给以后数据库日常维护工作带来便利。3. 需求变更时程序与数据库重用率高,修改少;在映射应用对象时,除关系映射规范化后可能出现一对多的表映射外,大多数应用对象与表对象是一一对应的。3.2 数据表设计我建的表有用户表(admin),教师表(teacher),学生表(student),上传下载表(upload),成绩表(cj),完成任务表(wcrw)等。各表之间的联系如下图(3.

16、2)教师表jsh char(10)zdjsxm varchar(20)jskt varchar(30)rws textxz enum(0,1)学生表xh char(10)xm varchar(20)bj varchar(15)zdjsxm varchar(20)bylwtm varchar(30)lxxx varchar(15)Admin 表xh char(10)Password varchar(18)Xm varchar(20)jb enum(student,teather,super)bj varchar(15)Upload表 xh char(10), wlzs varchar(30),

17、sxdwmc varchar(30), wwfy varchar(30), sxjh varchar(30), xtdm varchar(30), azb varchar(30), dzlw varchar(30), dbhd varchar(30)Cj表Xh char(10) wxzscj char(2), lwespf char(2), lwyspf char(2), lwzspf char(2), Wcrw 表xh varchar(10)wdlxx enum(0,1) dbhd enum(0,1) 图3.2 数据表图3.2.1 用户表用户表是这个系统的重要表,用户的权限由用户表jb这个字

18、段决定,它只能输入teather,super,student三个值,由这三个值来决定这个用户的权利。它的字段有:create table admin( xh char(10) not null, password char(18) not null, xm varchar(20) not null, jb enum(student,teather,super) not null, bj varchar(15) not null, primary key(xh) );其中,xh:学号 password:密码 xm:姓名 jb:角色 bj:班级3.2.2 教师表教师表是教师定制自己的论文题目,编制

19、任务书和自己的题目是否已经被别的学生选过了,它的字段有:create table teather( jsh char(10) not null, zdjsxm varchar(20) not null, jskt varchar(30) not null, rws text, xz enum(0,1) not null primary key(jsh) );其中:jsh:教师号 zdjsxm:指导教师姓名 jskt:教师课题 rws:任务书 xz:是否选择3.2.3 学生表学生表主要是显示学生的选的课题和指导教师的姓名,它有的字段如下:create table student( xh char

20、(10) not null, xm varchar(20) not null, bj varchar(15) not null, zdjsxm varchar(20) not null, bylwtm varchar(20) not null, lxxx varchar(15), primary key(xh) );其中:xh:学号 xm:姓名 bj:班级 zdjsxm:指导教师姓名 bylwtm:毕业论文题目 lxxx:联系信息3.2.4 上传下载表上传下载表是学生在交各种文件时保存文件的路径,主要是为指导老师能快速下载下来。它的字段有:create table upload( xh cha

21、r(10), wlzs varchar(30), sxdwmc varchar(30), wwfy varchar(30), sxjh varchar(30), xtdm varchar(30), azb varchar(30), dzlw varchar(30), dbhd varchar(30) primary key(xh) );其中:xh:学号 wlzs:文献综述 sxdwmc:实习单位信息 wwfy:外文翻译 sxjh:实习周记 xtdm:系统代码 azd:安装包 dzlw:电子论文 dbhd:答辩幻灯片 sxbg:实习报告 sxzj:实习总结3.2.5 完成任务表完成任务表是指导教

22、师对学生各种任务是否合格来判断的一个标准,它的字段如下:create table wcrw( xh char(10) not null, wdlxx enum(0,1) not null, dbhd enum(0,1) not null primary key(xh) , );其中:xh:学号 wcqk :选题 wlzs:文献综述 sxdwmc:实习单位信息 wwfy:外文翻译 sxjh:实习周记 xtdm:系统代码 azd:安装包 dzlw:电子论文 dbhd:答辩幻灯片 sxbg:实习报告 sxzj:实习总结 dbhd:答辩幻灯片3.2.6 成绩表成绩表主要是教师对学生的评分,分为优、良、

23、中、差、四个等级,它的字段如下:create table cj( xh char(10) not null, wxzscj char(2), lwespf char(2), lwyspf char(2), lwzspf char(2), primary key(xh) );其中:wxzscj: 文献综述评分lwyspf:论文一审评分 lwespf:论文二审评阅 lwzspf: 论文终审评阅。以上就我所建的表,他们之间存在着关系,彼此之间有着自己的任务,能够很好的把论文管理系统的数据库后台搭建起来4 系统设计4.1 技术分析我们采用的是JSP+javaBean技术构建的Web应用程序(图14),

24、这种结构相比纯粹由JSP组成的应用程序结构有了很大的改进,充分利用了java面向对象语言的优点。数据库浏览器jsp Request ResponseJavaBean图14 JSP+javaBean技术构建的Web应用程序 从这个图种可以,业务逻辑和数据库操作从JSP中分离出来,封装在javabean中,这样可以体现出众多优点:1 纯净的jsp页面,因为业务逻辑和数据库操作已经从jsp页面中剥离出来,jsp页面中只需要嵌入少量的java代码甚至不使用java代码。2 可重用的组件,设计良好的javabean可以重用,甚至可以作为产品销售,在团队协作的项目中,可重用的javabean将会大大减少开

25、发人员的工作量,加快开发进度。3 方便进行调试,因为复杂的操作都封装在一个或数个javabean中,错误比较容易定位。4 易维护扩展,系统的升级或者更改往往集中在一组javabean中,而不用编辑所有的jsp页面。4.2系统结构图在论文管理系统中,我们可以根据系统功能画出我们的结构图。 结构图如下: 在论文管理系统中,我们可以根据系统功能画出我们的结构图。 结构图如下:确定论文题目我的联系信息阅读任务书上载电子版文献综述实习单位信息上载电子版外文翻译上载电子版实习周记上载电子版实习报告上载电子版实习总结上载系统原代码上载可安装软件包 上载电子版论文 上载论文答辩幻灯片拟定论文题目 编制任务书学

26、生联系信息实习单位信息电子文献综述查收 纸质文献综述查收文献综述评阅 电子论文查收纸质论文查收 论文一审评分论文二审评阅外文翻译查收实习周记查收实习报告查收实习总结查收实习鉴定查收系统原代码查收 可安装程序包查收答辩幻灯片查收毕业答辩评分新闻管理用户管理规定和要求学生管理模块用户登陆在线毕业论文管理首页教师管理模块后台管理模块通知和信息图2在线毕业论文管理系统功能图 图15系统结构图5系统实现技术 5.1 功能模块简介论文管理系统由后台管理、教师管理、学生管理三个模块组成。后台管理包括:新闻管理和用户管理教师管理包括:教师可用的功能模块包括拟定论文题目、编制任务书、学生联系信息、实习单位信息、

27、电子文献综述查收、纸质文献综述查收、文献综述评阅、电子论文查收、纸质论文查收、论文一审评分、论文二审评阅 、外文翻译查收 、实习周记查收 、实习报告查收、实习总结查收 、实习鉴定查收 、系统原代码查收、可安装程序包查收 、答辩幻灯片查收、毕业答辩评分等学生模块包括:学生管理模块由确定论文题目、我的联系信息、阅读任务书、上载电子版文献综述、实习单位信息、上载电子版外文翻译、上载电子版实习周记、上载电子版实习报告、上载电子版实习总结、上载系统原代码、上载安装软件包、上载电子版论文、上载论文答辩幻灯片等模块组成。5.2 系统流程图 第0层DFD图 教师人员维护学生信息和选题信息,并根据学生的选题相对

28、应的教师可确定该学生完成情况和成绩;管理人员主要是录入学生和老师的信息第0层DFD图第1层DFD图对第0层DFD图中的一个加工学生论文管理进行展开。账号信息登记教师学生信息教师学生信息教师学生录入教师学生信息1管理者学生教师账号处理6学生课题信息 2课题信息课题信息拟定课题教 师选题信息4教师课题返回信息更新选题信息查看信息8登记学生成绩选题信息教师课题信息登记各种信息完成情况和成绩3成绩成绩学生上传信息学生成绩信息信息学生选题信息处理各种信息 7成绩查询和完成情况 5查询请求上传查询结果学生第一层dfd图数据字典以下列出学生论文管理系统的部分数据字典条目:数据项名:学生 描述:包括学生的主要

29、选题信息别名:无定义:学号 + 姓名 + 选题课题 + 联系信息 + 指导教师姓名 数据量:10000左右峰值:随时其他说明:在系统功能扩充时可能增加定义项数据流名:学号 描述:唯一标识学生的编号别名:无类型: 字符串长度:10位字符其他说明:学号不能重复数据流名:学生论文成绩查询 描述:系统处理的一个命令别名:无频率: 10000次左右峰值:随时,但经常在毕业生答辩之前其他说明:在系统功能扩充时可能增加种类5.2各个模块的说明5.2.1确定论文题目否(图2)确定论文题目是你一开始还没有选题是用的模块,选过题以后,你就不能在用它了 ,具体代参看附录1.1Xt.jsp 确定论文题目 点击时判断E

30、rror,htm是(图3) 图一 选题图 在javabean的Xs.java中方面代码参看附录1.2 5.2.2 我的联系信息模块我的联系信息模块是专门为指导提供联系信息,参看附录1.3中的代码。javabean的Lxxx.java中方面代码参看附录1.4。5.2.3 上载电子版文献综述等模块上载电子版文献综述模块主要是学生写好的东西上传到服务器,在这个模块中,我用了upload这个组件,现在我们只调用它已经存在的属性:参看附录1.5中的代码。其他模块的上传与这个是一样的机制,只是在上传的过程中,我们可以根据调用不同的页面,上传文件时取不一样的名字,所以在这里我们不在重复,upload.jav

31、a这个文件主要的功能是把我们刚上传的路径写入数据库的upload表中对应的字段。学生模块的基本上就是这么多,只要实现一个,下面的就是稍微改改就可以实现其功能了!5.3 教师模块简介5.3.1 拟定论文题目等模块拟定论文题目和编制任务书的原理是一样的,它首先是有form提交到本页或另一页,由提交的目的地接受信息,这页处理的主要代码参看附录1.6。在javabean中Teather.java中的具体代码参看附录1.7。 5.3.2 学生联系信息等模块在学生联系信息,实习单位信息等两个模块当中,它是通过javabean调用出来查询数据,在jsp页面中只是显示数据,参看附录1.8。javabean 中

32、的jskt.java代码参看附录1.9: 根据你提交时选的复选框,程序可以根据你选哪个,哪个没有选进行判断,然后添加到数据库,具体代码参看附录2.0:5.2.3 电子文献综述查收等模块电子文献综述查收、电子论文查收、外文翻译查收 、实习周记查收 、实习报告查收、实习总结查收 、系统原代码查收、可安装程序包查收 、答辩幻灯片查收等几个模块,他们的代码基本上是一样的,我们只举出他们其中一个模块的代码,电子文献综述查收的具体代码参看附录2.1: 下载界面请参看附录2.16 JSP连接数据库把建立数据库连接封装成JavaBean5。使用时用别的java文件加载它即可。连接数据库的代码如下:packag

33、e test.data;import java.sql.*;import java.io.*;import com.mysql.jdbc.Driver;public class Connectiondb/*定义参数*/ String sDBDriver = com.mysql.jdbc.Driver; Connection conn = null; Statement stmt = null; PreparedStatement prepstmt = null; ResultSet rs = null; String driverName=com.mysql.jdbc.Driver; Stri

34、ng dbName=shujuku; String userName=chenhuayinyu; String userPasswd=123456; String sConnStr=jdbc:mysql:/localhost/+dbName+?user=+userName+&password=+userPasswd+&useUnicode=true&characterEncoding=UTF-8; /*statement(更新和查询)*/ public void Connectiondb() try Class.forName(sDBDriver);/创建驱动 conn=DriverManag

35、er.getConnection(sConnStr);/加载连接 catch(Exception e)System.out.println(DBConnect():+e.getMessage(); 在其他的java文件如果想调用这个连接数据库的文件时,使用import test.data.Connectiondb就可以了,不用在编写连接数据库的代码了!7 身份验证和个性化机制目前,web资源的身份验证典型、普遍的做法是要求用户给出用户名和正确的口令。然而如果只仅仅是这样的安全设置,并不能达到该系统设计要求,有帐号才能访问,或只要有帐号就可以访问的安全机制都是不十分可靠的身分验证机制。比如就会发

36、生这样一些简单的漏洞可以直接在浏览器地址栏输入某页面文件名。就可绕开对用户名的检查而访问了;用户登录后离开时忘记注销。被cookie记录了用户信息,其他人(公用计算机)马上就可以窃取信息。所以我们采用了如下一些办法:不同的用户能够访问的内容类型是不同的,不同用户的授权也是不同的,能够享受到的网站服务也不同的。我们可以从数据库中判断该用户是学生,老师还是管理员,请看如下代码: 如果别人会直接在浏览器上直接输入某个文件,它会首先检查用户名,如果是用户名是空,它回自动跳回首页,代码如下: 8 部署ServletServlet是使用Java Servlet应用程序设计接口(AP1)及相关类和方法的Java程序7。Servlet程序在服务器端运行并隐藏在Servlet容器里。Servlet处理客户端程序的请求并返回一系列结果,动态地生成Web页面。JSP页面中仅仅存放与表示层有关的内

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号