基于JSP的毕业设计选题系统的设计与实现.docx
- 文档编号:26376468
- 上传时间:2023-06-18
- 格式:DOCX
- 页数:29
- 大小:556.21KB
基于JSP的毕业设计选题系统的设计与实现.docx
《基于JSP的毕业设计选题系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《基于JSP的毕业设计选题系统的设计与实现.docx(29页珍藏版)》请在冰豆网上搜索。
基于JSP的毕业设计选题系统的设计与实现
基于JSP的毕业设计选题系统的设计与实现
摘要
随着全球信息化技术的兴起,特别是Internet的日益普及,我国各大中专院校都建立了自己的校园网。
毕业生以班级为单位的原始手工报送的选题方式已经不能适应时代发展的需求,所以基与互联网的毕业设计选题系统也就孕育而生了。
毕业设计选题系统就是能够使学生通过互联网完成毕业设计课题的选定,它采用Web方式,同时适用于局域网和Internet,它要实现审核,权限管理,邮件通知等功能,并能提供题目保存、题目查询等功能,该系统同时拥有最开放的题库管理系统和最灵活的选题系统,能够自动进行权限的判断,对用户进行冻结。
我们采用了JSP技术为主要手段,本系统采用了多级角色管理:
包括系统管理员、系主任,学生和老师几种权限.本文主要介绍了用户权限的划分,并详细地论述了系统设计的思想和实现的方法步骤从而为以后的研究打下了基础。
关键词:
审核;权限;多级角色管理
TheDesignandImplementationofSubjectSelectionSystemforGraduationBasedonJSP
Abstract
Withtherisingofglobalinformationtechnology,especiallythegrowingprevalenceofInternet,thetechnicalinstitutecollegesanduniversitiesinourcountryhavesetuptheirownCampusNet.Forthetraditionalwayofmanualsubmissionofselectedsubjectcannotadapttocurrentdemands,theInternet-basedgraduationsubjectselectionsystemborn.
SuchsystemenablesstudentstochoosesubjectforgraduationdesignthroughInternet.ItadoptsB/Spattern,andissuitabletoboththelocalareanetworkandInternet.Itmustimplementfunctionssuchastheverificationofthesubject,thejurisdictionmanagement,mailnotification,aswellassubjectstorageandsearching.Withtheopensubjectmanagementsystemandtheflexiblesystem,itcanautomaticallyverifythejurisdictionofauserandfreezetheuser.ThesystemadoptedtheJSPasitsmaintechnology,andimplementedthemultistagerolemanagement.Thesystemalsoimplementedthemanagementoftheprivilegeofsystemmanagers,deans,studentsandteachers.
Keywords:
Verification;Jurisdiction;Multistagerolemanagement.
论文总页数:
23页
1引言1
1.1选题系统出现的趋势1
1.2选题系统常用的实现技术1
2基本技术简介1
2.1本系统拟采用的解决方法(技术)2
2.2主要技术简介2
3需求分析与方案设计3
3.1功能需求分析3
3.2数据库需求3
3.3系统支撑环境4
4系统设计4
4.1功能设计4
4.2数据库设计4
4.2.1系统登陆,用户会话表(bsm_session_info)4
4.2.2系统用户信息管理表(bsm_sys_user)5
4.2.3毕业论文题库信息表(subject)5
4.2.4毕业论文选题信息管理表(select_sub)6
5系统功能实现7
5.1系统组成和业务流程图7
5.2系统用户权限管理8
5.2.1系统登陆9
5.2.2系统用户管理11
5.2.3历届信息查看13
5.2.4个人信息维护13
5.3系统选题权限管理14
5.4教师题库管理15
5.4.1教师出题15
5.4.2教师审核题目16
5.5学生在线选题16
5.6系统登出18
5.7系统基本控件使用18
5.7.1数据库连接池实现18
5.7.2邮件系统实现19
6技术难点分析20
结论20
参考文献20
致谢21
附录22
Tomcat简介22
声明23
1引言
1.1选题系统出现的趋势
在网络飞速发展的今天,互联网成为人们快速获取,发布和传递信息的重要渠道,在人们政治,经济,生活等各方面发挥着重要的作用。
因此网站建设在Internet应用上地位显而易见,它已成为政府,企事业单位信息化建设中的重要组成部分,从而倍受人们的重视。
从20世纪90年代初期随着www的发展,Internet逐渐普及化由于www通过良好的界面大大简化了Internet操作难度使得用户数量急剧增加,许多人开始重视Internet,发现到Internet具有巨大得潜力。
于是纷纷大量加入Internet。
这样Internet上得站点大大增加,网络信息五花八门,十分丰富。
如今Internet已经深入到人们生活得各个部分。
Internet大大方便了信息的传播,给人们带来了全新得生活方式。
这次我们所设计的课题正是互联网与大学生学习生活紧密相关的,现今的社会人们已经离不开网络,传统的选题方式也面临着变革,而网络选题则是一个很重要的方向。
基于Web技术的网络选题系统可以借助于遍布全球的Internet进行,因此选题既可以在本地进行,也可以在异地进行,大大拓展了选题的灵活性。
题目可以根据题库中的内容生成,从而使用计算机选题大大的提高了选题效率;还可以直接把题目送到数据库中保存,作为老师以后出题的参考。
现在较好的选题方式为网络选题,题目内容放在服务器上,学生通过帐号和口令进行登陆,学生也可以第一时间得到选题信息。
因此,采用网络选题方式将是以后的大趋势。
1.2选题系统常用的实现技术
网络选题系统的实现技术有多种,可以采用传统的客户机/服务器(C/S)型的MIS型架构,即论文题目内容放在远程的服务器上,在选题机上安装考试应用程序和数据库客户机配置,因此每次选题时要对机器进行安装、配置,这样一来选题工作比较烦琐;而且选题程序放在客户机上,安全性也受到一定影响。
另外一种考试系统采用Web技术实现。
Web技术超越了传统的“客户机/服务器”两层结构,采用了三层体系结构:
用户界面层/事务层/数据库层。
因此Web结构有着更好的安全性。
在用户机上不需要安装任何应用程序,应用程序可以安装在作为服务器的计算机上,题目存放在数据库服务器上(事务层和数据库可以是同一台机器)。
2基本技术简介
本系统全称为毕业设计选题系统,开发的目的是为学生提供通过学校的网络进行毕业设计题目的选择。
2.1本系统拟采用的解决方法(技术)
本系统要求实现网络选题系统的各项基本功能,从安全性和易维护性考虑,选择了Web实现技术。
简单的说就是将系统做成一种B/S模式,可以让用户通过浏览器直接访问位于服务器上的试题以及对系统进行远程维护。
服务器端程序的实现技术也很多,本人选用了当前比较流行的网络编程技术——JSP作为主要实现手段(配合JavaServlet,HTML等)。
JSP作为一种Web实现技术,它的效率是很高的。
这一点正好符合了选题系统所要求的实时性。
JSP自身的安全性,再加上实现模式的特点,完全能够达到选题的要求。
除此之外,作为Java平台的一部分,JSP拥有Java语言“一次编写,各处运行”的特点。
又随着越来越多的服务器供应商将JSP支持添加到他们的产品中,这样一来用JSP做成的这套系统可以轻松移植到其它平台来运行。
种种优点使得这套系统不但为目前校内的网络教学以至于今后远程教育的实现都打下了良好的基础。
所以JSP是实现本系统的最佳技术,它是完全可行的。
2.2主要技术简介
JSP是JavaServerPages的简称,它是由SunMicrosystem公司于1999年6月推出,是基于JavaServlet以及整个Java体系的Web开发技术。
作为J2EE体系中的重要一环,JSP为创建高度动态的Web应用提供了一个独特的开发环境。
JSP能够适应市场上包括ApacheWebServer、IIS4.0在内的85%的服务器产品,这足以胜任绝大多数的商业事务处理。
同时JSP代码经过服务器的解释执行后会直接嵌入到HTML语言中,这样就简化了页面的输出,也保留了脚本语言易于使用的优点。
SUN公司开发出这个规范来整合和平衡已经存在的规范,对JAVA编程环境进行支持的技术和工具。
其结果是产生了一种新的,开发基于WEB应用程序的方法,给予使用基于组件应用逻辑的页面设计者以强大的功能支持。
JSP设计目标是为了使动态页面编写更容易,更简单。
JSP特点主要有以下几点:
到处可执行,JSP技术完全与平台无关的设计,包含它的动态网页和底层Server元件设计,加强元件功能,更容易建立动态网页。
JDBC是JavaDataBaseConnectivity的简称,也就是java数据库连接。
它是一种用于执行SQL语句的JavaAPI,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。
JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。
将Java语言和JDBC结合起来使程序员只须写一遍程序就可以让它在任何平台上运行,这也是Java语言“编写一次,各处运行“的特点。
同时JDBC扩展了Java的功能。
例如,用Java和JDBCAPI可以发布含有applet的网页,而该applet使用的信息可能来自远程数据库企业也可以用JDBC通过Intranet将所有职员连到一个或多个内部数据库中。
3需求分析与方案设计
3.1功能需求分析
作为高校毕业生的一个毕业设计选题系统,它就面对着许多用户的操作,而这些用户对系统的操作应该有所不同,所以我们在设计时必须要对不同的用户设立不同的的权限。
在本系统中,我考虑了4种权限(管理员,系主任,指导教师,学生)。
管理员可以添加的用户系主任,而系主任能添加的用户为指导教师和学生。
同时,我们为了使本系统更加的符合我们的实际,教师能在线出题,但是所出的题目必须经过系主任的审核后学生才能进行选择。
在学生的选题中,在实现选题的基础上,也要考虑学生选择志愿的顺序,所以在学生的选择过程中,要设立多个志愿,但是在教师的审核过程中,我们必须根据学生的志愿依次进行审核。
也就是说在学生的第一志愿未被审核的时候,第二志愿的老师不能对该生的第二志愿进行审核。
3.2数据库需求
在信息世界中,信息从客观事物出发流经数据库,通过决策机构最后又回到客观世界,信息的这一循环经历了三个领域:
信息世界,数据世界,现实世界。
现实世界的事物反映到人的头脑中,人的大脑对它有个认识过程,经过分析(选择、命名、分类等)进入信息世界。
这些信息再进一步加工、编码,然后进入数据世界,而软件系统的开发工作需要考虑这两个方面的问题,也就是要考虑系统开发所需要的数据,以及如何对这些数据进行操作。
这两个问题贯穿了整个软件系统的开发过程,这也就是数据库的设计问题,软件设计的一个核心。
作为一个具有一定应用价值的教学管理系统,从本质上说其操作的对象为数据库中存储的具体记录。
因此,不仅要求所使用的数据库系统具有比较高的稳定性、安全性及高负载下保持足够相应的能力,还要求设计者清楚需求,做出科学的数据库逻辑结构设计,以提高数据库的利用效率和减少数据冗余。
用户的需求具体体现在各种信息的提供、保存、更新和查询,这就要求数据库结构能充分满足各种信息的输入和输出。
收集基本数据、数据结构及数据处理的流程,组成一份详尽的数据字典,为后面的具体设计打下基础。
数据库的概念结构设计完毕以后,现在可以将上面的数据库概念结构转化为某种数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。
数据库系统的选用需要根据系统的需求而定。
该系统主要涉及到几种信息的存储,首先是毕业班学生的信息,论文的题目信息,学校指导教师和系主任的信息,所以每个信息保存在一张表中,在对表的操作中可以对任意一个表独立操作,也可以对几个表关联操作。
3.3系统支撑环境
1)操作系统:
WINDOWS2000
2)应用服务器:
TOMCAT5.0.28
3)数据库:
SQL2000
4)JAVAVM:
JDK1.4.2_07
5)硬件:
建议内存在512M以上
4系统设计
4.1功能设计
在线选题系统的功能主要包括三部分:
用户管理、教师题库信息管理、学生在线选题信息管理。
其软件设计结构图结构如图1:
图1:
系统总结构设计图
4.2数据库设计
4.2.1系统登陆,用户会话表(bsm_session_info)
表1:
用户会话表
编号
项目名
字段名
主键/外键
类型
内容作用
可否为空
1
用户编号
user_no
numeric(18,0)
notnull
2
用户会话id
session_id
varchar(32)
notnull
3
用户ip地址
visit_address
varchar(15)
notnull
4
当前登陆时间
login_date
varchar(25)
notnull
5
上次登陆时间
last_update
varchar(25)
notnull
4.2.2系统用户信息管理表(bsm_sys_user)
表2:
系统用户信息管理表
编号
项目名
字段名
主键/外键
类型
内容作用
可否为空
1
用户编号
user_no
numeric(18,0)
系统自增字段
notnull
2
用户帐号
user_code
PK
varchar(20)
notnull
3
姓名
user_name
varchar(50)
notnull
4
密码
passwd
varchar(32)
notnull
5
邮箱
user_mail
varchar(100)
6
联系方式
user_phone
varchar(20)
7
用户状态
user_stat
char
(1)
1正常用户
2冻结用户
notnull
8
用户类型
user_type
char
(1)
0管理员
1系主任
2指导教师
3学生
notnull
9
指导学生人数上限
stu_num
Varchar(10)
该字段主要控制指导教师
10
备注
remark
varchar(500)
notnull
11
操作人员编号
op_no
numeric(18,0)
控制数据操作权限
notnull
12
操作时间
op_time
varchar(25)
notnull
4.2.3毕业论文题库信息表(subject)
表3:
毕业论文题库信息表
编号
项目名
字段名
主键/外键
类型
内容作用
可否为空
1
题目编号
sub_no
numeric(18,0)
系统自增字段
notnull
2
题目名称
sub_name
varchar(100)
notnull
3
教师编号
teacher_no
numeric(18,0)
bsm_sys_user表中user_no
notnull
4
参与学生的上限
part_in_no
numeric(2,0)
notnull
5
题目内容
sub_viscera
varchar(1000)
notnull
6
主任审核标志
postil_flag
char
(1)
0未审核
1审核通过
2审核未通过
null
7
主任审核意见
postil
varchar(200)
null
8
年级
year
char(4)
notnull
9
操作人员
op_no
numeric(18,0)
notnull
10
操作时间
op_time
varchar(25)
notnull
4.2.4毕业论文选题信息管理表(select_sub)
表4:
毕业论文选题信息表
编号
项目名
字段名
主键/外键
类型
内容作用
可否为空
1
选题编号
select_no
numeric(18,0)
系统自增字段
notnull
2
教师编号
teacher_no
numeric(18,0)
bsm_sys_user表中user_no
notnull
3
题目编号
sub_no
numeric(18,0)
Subject表中sub_no
notnull
4
学生编号
stu_no
numeric(18,0)
bsm_sys_user表中user_no
notnull
5
教师审核标志
postil_flag
char
(1)
null
6
指导教师审核意见
postil
varchar(200)
0未审核
1审核通过
2审核未通过
null
7
年级
yearl
char(4)
notnull
8
志愿标志
wish_flag
char
(1)
null
9
选择理由
wish
varchar(500)
1第一志愿
2第二志愿
3第三志愿
4其他志愿
null
10
操作人员
op_no
numeric(18,0)
notnull
11
操作时间
op_time
varchar(25)
notnull
5系统功能实现
5.1系统组成和业务流程图
系统组成和业务流程图
(一)系统组成
本系统由四个子模块组成:
系主任管理,教师出题,学生在线选题和系统的维护。
它们各自功能如下叙述:
(1)学生在线选题
学生通过系主任录入的学生信息,姓名,学号和密码登陆系统进行查询题目并且进行选题并且可以修改自己的登陆密码。
系统分配给学生4个选题项,学生可以根据自己的实际情况做出几个选择,当第一志愿未被审核,其他的就不能审核,第一志愿审核未通过自动指向第二志愿,依次类推,如果全部都没有通过学生将重新选择过程同上。
学生还可以查看历届的毕业设计题目以做参考。
(2)教师出题
此部分主要由教师使用,教师信息由系主任录入,教师必须通过系住任给其分配的帐号,密码登陆次系统。
当教师进入次系统后便由教师负责出题,并且对学生选题进行审核,并且可以查看历届题目作为参考。
(3)系主任管理
系主任由此批量录入学生以及教师信息并负责进行对教师所出的题目进行审核,只有审核通过的题目学生才可以进行选题,同时系主任还拥有对教师和学生帐号进行冻结的权限。
(4)管理员
系统管理员主要负责进行对系主任的资料录入并可以冻结。
(二)业务流程图:
图2:
业务流程图
5.2系统用户权限管理
本系统分为4个模块,系主任管理,教师出题,学生在线选题和管理员模块。
系统用户管理的基本处理流程是:
1管理员权限在建立数据库时初始化数据库脚本创建,管理员登陆后可以对自身的信息进行维护,同时还可以为不同系的系主任分配帐号,以及对系主任信息进行维护。
2各系主任登陆系统后可以对自身的信息进行维护,以及为本系的教师和学生创建系统用户,各系只能查看本系的相关信息。
系统用户管理结构如图3:
图3:
用户管理表
由上图分析,本系统共有四种角色,所以系统在实现过程中根据用户角色判断其所拥有的权限,(根据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系统登陆
为了保证用户信息的一致性、用户操作的方便性以及方便系统的安全模块升级和维护,该系统采用单点登陆的模式。
系统主页:
//10.0.0.11:
8080(服务器在10.0.0.11上)如图4:
图4:
系统主页
页面功能:
1通知信息
点击页面下方的“关于网上报毕业设计题目的通知”可以查看网上毕业论文选题信息的相关信息。
2系统用户登陆
a).正确的选择用户类型、输入用户名和密码就可以进入系统用户管理信息界面。
b).当输入系统不存在的帐号进行登陆时,系统将提示拒绝登陆并提示用户登陆帐号不存在。
c).如果用户为学生类别,当他选择用户类型为非学生类型的其他类型时系统拒绝其登陆并显示登陆帐号和用户类型不匹配。
d).当用户选择的类型正确,帐号也正确但密码错误系统将提示用户使用帐号密码错误,请核对信息后重新登陆。
1注册会话信息
HttpSessioncurrentSession=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);//设定页面会话永不失效,直到关闭
StringsessionId=currentSession.getId();
currentSession.setAttribute("session_id",sessionId);
StringremoteIp=request.getRemoteA
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 JSP 毕业设计 选题 系统 设计 实现