




已阅读5页,还剩19页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目 录1 绪论31.1 系统开发背景及现状31.2 系统开发的目的31.3 本文研究内容32 系统的功能需求42.1 系统功能42.1.1 功能描述42.1.2 登陆功能42.1.3 注册功能52.1.4 出题、选题功能52.1.5 作业管理功能52.1.6 文档上传、下载52.1.7 消息处理功能52.1.8 公告信息功能52.2 技术方案53 系统总体设计53.1系统开发关键技术与开发环境53.2框架设计63.3 总体功能模块图73.4数据库设计73.5 本章小结84 详细设计84.1 系统整体界面设计84.2 系统框架设计94.3 系统结构和流程图104.3.1 学生模块的结构104.3.2 教师模块的结构104.3.3 管理员模块的结构114.4 系统模块详细设计114.4.1系统模块详细设计概要114.4.2注册模块详细设计114.4.3查询模块详细设计124.4.4修改模块详细设计134.4.5删除模块详细设计134.5 数据库的设计和构建144.6 本章小结175 系统实现175.1 用户登陆功能的实现175.2 文件上传功能代码185.3 数据库连接185.4 查询数据功能185.5 删除数据功能195.6 修改数据功能19总结20致谢21参考文献22个人简介231 绪论1.1 系统开发背景及现状 随着计算机网络技术的发展,给信息时代的人们带来了很大的方便。如今在Internet上,你随处都可以看到很多的各类信息管理系统,如企业信息管理系统,电子商务系统,学校教务管理系统等各类信息管理系统的普及。而针对本科毕业设计的选题等相关事项,涉及到导师给出课题或学生自选课题,以及在各个阶段需要上交或是提交相关的文档资料等问题,目前主要还是由人为来处理操作,需要花费一定人力,这给整个工作带来了很多不便,而且容易出错。因此就需要一个对此流程进行管理的电子系统,使得此过程更加方便,更加透明,更加高效,以节省更多的人力和不必要的工作。11 而目前的此类系统或多或少的存在以下的问题: 不清楚建立网站的目的或没有根据自己的目的详细策划网站的功能,只适应一时之需;结果页面的设计,包括系统内的链接和功能未能真正提供方便;14缺少一个针对有效管理本科毕业设计(论文)工作的基于Web技术的B/S的管理系统,所以很多的管理系统远远达不到标准,没能很好地发挥管理系统应有的效果;现实还没有一个适合我校关于毕业设计管理工作的管理系统,或是直接针对我校的毕业设计管理工作而编写的管理系统。15通过对毕业设计管理工作的初步了解,从系统结构的组织,功能的实现,技术的要求以及可行性等多方面进行考虑,认为本课题是一个适应现今毕业设计管理工作需求的计算机信息管理系统,具有一定的实际开发价值和使用价值。1.2 系统开发的目的随着计算机信息技术、网络通讯等高新技术的发展,对高校毕业设计管理提出了更高的要求。这样不仅可以使教师从烦琐的事务中解脱出来,而且还能提供面向学生的快捷、灵活、方便的智能服务。12本课题旨在使目前校园内毕业设计管理信息网络化,解决已往信息传递不方便、不快捷等问题,如假期学生因不在校而无法上交文档,学院或导师为安排工作而必须通知到各个学生等繁琐的操作,通过本系统可实现管理的网络化,方便教师和学生,提高工作效率和效果,节省人力资源等,提高高校的管理水平,有利于推动高校管理的“无纸化办公”进程。161.3 本文研究内容基于WEB的毕业设计管理系统的设计与实现的任务是对学校毕业设计管理中的工作进行集中处理,使教师与教师之间,教师与学生之间能更快、更方便的交流,取代原来的电话(或Email)通知和联系,材料纸的发送等诸多不便,也使学院能更好、更快的发布最新的关于毕业设计(论文)的相关信息和通知,及监督学生毕业设计(论文)的完成情况和文档上交情况。该系统主要内容包括: 用户注册(包括学生和教师)、教师出题、学生选题、文档上交、相互留言等。通过这个系统,可以使广大师生从繁杂琐碎的事情中解脱出来,专心投入毕业设计(论文)的工作中去,提高整个毕业设计工作的工作效率。本设计结合了java 应用和mysql数据库的操作。Java应用采用MVC模式,它结合了Jsp,Servlet,JavaBean,其具有多个视图对应一个模型的能力;模型可以直接应用于接口的使用;一个应用的业务流程或者业务规则的改变只需改动MVC的模型层;控制层的概念很有效;有利于软件工程化管理。8Mysql数据库的操作这部分内容分成三部分来实现:首先,编写对数据库操作的类,包括:连接数据库、执行sql语句、关闭数据库连接等。其次,编写一个用于对学生信息进行数据库操作的类,包括:学生信息的增加、修改、删除和查询等。最后,编写一个用于对设计相关信息进行数据库操作的类,包括:毕业设计信息的增加、修改、删除、查询等等。5通过web应用和数据库编程,从而基本上实现了web毕业设计管理的基本功能,由于本人技术上的不足,难免有些地方需要改进,这些存在的问题都将成为本人前进的动力,并在日后更加完善本设计。252 系统的功能需求系统分析和设计是信息系统开发的一个重要环节。本章将主要说明一个基于WEB的B/S结构的毕业设计管理系统的功能需求、总体框架、以及系统开发原理等做系统的分析研究,并说明系统所拥有的特点。2.1 系统功能2.1.1 功能描述 该系统一般包括对选题的发布、更新、删除,学生毕业设计文档信息、导师文档信息的上传(在指导时间前才可提交)和相关信息的发布、查询、更新、输出等功能。如果人工直接操作的话,工作量将十分庞大,特别是,如果学生人数有几千或上万时,人工操作将变得相当繁杂。用计算机可使人们从繁重而又单调的工作中解脱出来,仅用一些简单的操作便可及时准确地获得需要的信息。毕业设计管理系统是一个为适应当前毕业设计管理工作的需求而设计开发的软件系统。对系统功能的规定:该系统的角色是学生、教师(导师)和系统管理员。学生和教师是系统的用户,而系统管理员是系统管理者,虽然系统管理者也是一个用户,但并不影响本系统的功能。如下图1所示。图1 系统结构图2.1.2 登陆功能 登录表单通常是站点中受保护内容或不允许匿名用户进入的入口点,合法用户可以根据用户名和密码登录,而非法用户被拒之门外。因此安全性相对要求比较较高。系统登录表单为E_index.jsp,该表单包含两个文本输入框、一个下拉菜单、一个“登录”按钮和一个“注册”按钮。用户输入用户名和密码并选择登录类型,单击“登录”按钮。系统验证数据有效性,并通过验证的数据查询数据库。如果找到匹配的数据,则显示登录成功的页面;否则提示用户输入错误。单击“注册”按钮,则转到注册页面,进行新用户的注册。下拉菜单分为学生、教师和管理员来实现用户权限的管理。2.1.3 注册功能 学生可以直接通过点击E_index.jsp的“注册”按钮,进行注册。教师则要在管理员端进行注册。用户注册的基本流程如下:用户填写注册表单后提交。程序根据用户提交的数据查找数据库,查询该用户名是否被占用,如果存在,给出提示;如果不存在,检查数据的合法性。如果正确,则将用户信息存储到数据库,并给出用户注册成功的提示。2.1.4 出题、选题功能 教师可以登录教师客户端,完成添加、删除毕业设计题目的管理。学生登录学生客户端,可以完成选择题目的操作。每位学生只能选择一个题目。如用户,已经选过题目,再次进行选题操作,将给出提示“您已经选过题目”。2.1.5 作业管理功能 学生提交作业到指定文件目录,教师下载作业,进行批改后,上传到相应文件夹。每个作业的标题被做成一个超链接的形式,点击他们即可跳转页面进行作业的下载。2.1.6 文档上传、下载 学生,教师可以上传文档,实现资源共享,管理员对文档进行分类和管理,管理员对文档具有删除的权限。该模块负责所有用户的文档上交工作,登陆后上传的文档(在指定时间前上传)将会被保留在相应的文件夹中。师生下载文档(这里的信息包括新闻公告、规章制度、设计安排、推荐范文、表格下载、优秀论文、课题的发布等):该模块负责分页列出网站所有的信息,包括标题、类型、来源部门字段及发布日期,每条文档的标题被做成一个超链接,点击它们就能跳转页面进行文档下载。2.1.7 消息处理功能 主要负责各个用户之间相互发送消息使用。用户可输入对方的用户名发送消息给对方。当学生选题成功后,学生和教师可以通过发送消息,直接进行联系,方便师生间讨论毕业设计内容。同时提供消息查询:该模块提供了信息查询功能,输入待查找的内容时间可以快速地找到符合条件的信息,并输出查询结果。2.1.8 公告信息功能信息管理:该模块负责分页罗列管理员曾发布过且未删除的信息,并可以对该条信息进行删除此信息除系统管理员外其他用户不具有对该信息的处理权限(除教师有发布选题、删除的权限外)。信息录入和修改:管理员录入一条信息所需要的内容,包含标题、关键字、类型、发布日期等,同时从登录块得到用户名,这些信息将被写入数据库中保存。该模块还负责编辑状态下的更新,这时,它将根据取得的Info_ID字段值对页面控件初始化。2.2 技术方案MyEclipse做前后台以及页面设计,后台数据库采用的是MYSQL数据库。浏览器:Netscape7.0,Opera7,Internet Explorer 6.0 sp1以及其它支持xhtml 1.0标准的移动设备。3 系统总体设计3.1系统开发关键技术与开发环境J2EE技术,系统基于J2EE的分布式多层应用体系架构进行构建,包括客户层、Web层、业务层和数据层。应用逻辑按照功能和既定的市场需求预测目标划分为不同的组件,包括分布在Web服务器上的实现界面显示和流程控制的Web组件和部署在应用服务器上的JavaBean及EJB组件等。1MYSQL技术,使用C和C+编写,并使用了多种编译器进行测试,保证源代码的可移植性。18 支持AIX、FreeBSD、HP-UX、Linux、Mac OS、Novell Netware、OpenBSD、OS/2 Wrap、Solaris、Windows等多种操作系统 。16为多种编程语言提供了API。这些编程语言包括C、C+、Eiffel、Java、Perl、PHP、Python、Ruby和Tcl等。 支持多线程,充分利用CPU资源 。优化的SQL查询算法,有效地提高查询速度 。既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的GB 2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名。20提供TCP/IP、ODBC和JDBC等多种数据库连接途径。 提供用于管理、检查、优化数据库操作的管理工具 。17可以处理拥有上千万条记录的大型数据库。J2EE的优势,J2EE为搭建具有可伸缩性、灵活性、易维护性的系统提供了良好的机制6高效的开发: J2EE允许把一些通用的、很繁琐的服务端任务交给中间件供应商去完成。这样开发人员可以集中精力在如何创建商业逻辑上,相应地缩短了开发时间。21 支持异构环境:J2EE能够开发部署在异构环境中的可移植程序。基于J2EE的应用程序不依赖任何特定操作系统、中间件、硬件,因此设计合理的基于J2EE的程序只需开发一次就可部署到各种平台。这在典型的异构企业计算环境中是十分关键的。J2EE标准也允许客户订购与32EE兼容的第三方的现成的组件,把他们部署到异构环境中,节省了由自己制订整个方案所需的费用。7 可伸缩性:企业必须要选择一种服务器端平台,这种平台应能提供极佳的可伸缩性去满足那些在他们系统上进行商业运作的大批新客户。基于J2EE平台的应用程序可被部署到各种操作系统上。例如可被部署到高端Unix与大型机系统,这种系统单机可支持64至256个处理器。(这是NT服务器所望尘莫及的)J2EE领域的供应商提供了更为广泛的负载平衡策略,能消除系统中的瓶颈,允许多台服务器集成部署。这种部署可达数千个处理器,实现可高度伸缩的系统,满足未来各种应用的需要。26稳定的可用性:一个服务器端平台必须能全天候运转以满足公司客户、合作伙伴的需要。因为Internet是全球化的、无处不在的,即使在夜间按计划停机也可能造成严重损失。若是意外停机,那会有灾难性后果。J2EE部署到可靠的操作环境中,他们支持长期的可用性。一些J2EE部署在Windows环境中,客户也可选择健壮性能更好的操作系统如Sun Solaris, IBM OS/390。最健壮的操作系统可达到99.999%的可用性或每年只需5分钟停机时间,这是实时性很强商业系统理想的选择。193.2框架设计3.2.1 框架设计 本系统采用的是基本的B/S结构模式开发,其具体的框架如下图2所示。图2 结构模式图3.2.2系统功能特点 操作简单、界面友好:完全控件式的页面布局,使得所有的录入工作更简便;另外,跟踪出现的提示信息也让用户随时清楚自己的操作情况。27即时可见:对操作的处理(包括上传、修改、删除等)将立即在页面的对应栏目显示出来,达到即时发布、即时见效的功能。功能完善:包括常见网站的管理的各个方面:录入、浏览、删除、修改、检索等各个方面,完整地实现了系统对各项工作的管理要求。方便移植:针对不同的学院,只需要稍作修改就可以开发出适合本学院特点的毕业设计管理系统。 233.3 总体功能模块图 工作流程为:用户登录通过权限判断,游客只能浏览首页内容,注册用户除了可以完成游客的操作外,还可以阅读和查询新闻、下载相关资料、进入学生(或教师)管理模块进行上传、修改和删除等操作。注册用户除系统管理员外只能对自己录入的内容进行删改操作。系统管理员具有最高权限,包括审核注册用户信息、发布信息等。如图3所示。图3 总体功能模块图3.4数据库设计 数据库模型描述了在数据库中结构化和操纵数据的方法,模型的结构部分规定了数据如何被描述(例如树、表等);数据库模型的分类:分层模型、关系模型、网络模型和对象模型。28本课题选择的关系模型,关系模型是目前最重要的一种数据模型。关系数据库系统采用关系模型作为数据的组织方式。关系数据模型具有下列优点11:关系模型与非关系模型不同,它是建立在严格的数学概念的基础上的。关系模型的概念单一。无论实体还是实体之间的联系都用关系表示。对数据的检索结构也是关系(即表)。所以其数据结构简单、清晰,拥护易懂易用。关系模型的存取路径对用户透明,从而具有更高的数据独立性、更好的安全保密性,也简化了程序员的工作和数据库开发建立的工作。29所以,关系数据模型诞生以后发展迅速,深受拥护的喜爱,这也是本课题选取关系数据模型的原因。当然,关系数据模型也有缺点,其中最主要的缺点是,由于存取路件对用户透明,查询效率往往不如非关系数据模型。因此为了提高性能,必须对用户的查询请求进行优化,增加了开发数据库管理系统的难度。本系统用到用户基本信息表, 用户详细信息表, 管理员信息表,新闻通知等信息表,用户之间互发的消息表,选题信息表和用户上传文档表来实现模型的操纵部分规定了数据的添加、删除、显示、维护、打印、查找、选择、排序和更新等操作。3.5 本章小结本章主要运用软件工程的基本方法,介绍了毕业设计管理系统的功能需求,并对系统进行了详细的介绍和分析,给出了系统各个功能模块的主要功能和设计指标,使整个系统的设计思路更加清晰,使用户和软件测试等人员对系统有了更加深刻的理解。为系统的具体实现和代码的编写工作做了很好的铺垫。4 详细设计详细设计的目的是为了确定应该怎样具体地实现符合要求的系统,在这个阶段的设计中我们应该对所要开发的系统有一个更加详细的描述,以方便在编码的过程中能把它直接翻译成程序语言书写的程序。4.1 系统整体界面设计经过需求分析和系统设计之后,我们就可以对系统的界面进行详细的设计。首先我们应该设计好系统界面布局的整体框架,不错,要想进入本毕业设计管理系统,前提条件你必须是该系统的用户,进入系统前必须经过系统用户登陆界面进行验证之后才可进入,进入系统后就可以看到系统的整体框架了。进入系统后的显示界面如图4所示。图4 系统界面图登陆进系统后可清晰的看到,整个系统界面由框架分为了四个部分,其功能说明如表1所示。 区 域名 称说 明对应文件1网站头部主要起一个辅助和显示美化的作用Head.jsp2用户信息主要用于显示用户姓名和所在位置Title.jsp3导航显示主要用于显示导航模块中的功能menu.jsp4内容显示主要用于显示系统各功能模块中的内容main.jsp4.2 系统框架设计 由于本系统是在Java语言的基础上使用SSH框架技术来进行的开发,在开发本系统编码之前,我们把网站中可能使用到的文件夹创建出来,放到整个系统的相应路径之下,这样可以方便以后的开发工作,规范网站的整体架构。本系统在MyEclipse中开发的项目名称为:project,在MyEclipse中的系统项目结构如图5所示。图5 系统项目结构图各包和文件夹的使用功能说明如下:在src路径下存放的是系统开发的所有程序代码。com.bysj.libs:存放基础公共类(如过滤器等);com.bysj.lib.util:工具类;com.bysj.db:操作数据库类;com.bysj.controls:存业务逻辑类;com.bysj.beans:存放系统交互式页面对应的Java bean对象。在WebRoot路径下中存放的是系统开发的整个界面文件及配置文件等。css文件夹:存放页面的css样式文件;images文件夹:存放系统需要用到的所有图片文件;student文件夹:存放系统的所有学生页面。Teacher文件夹:存放系统的所有教师页面。admin文件夹:存放系统的所有管理员页面。系统中还有四个极为核心的配置文件,它们分别是:web.xml:用来配置servlet的文件;perties:实现日志的配置文件;E_index.jsp:用户登陆页面; 其中web.xml配置文件存放在WEB-INF目录下,该文件中定义了大部分的Servlet的配置信息,包括名称、路径、初始化参数和启动装入优先级Servlet的映射等。24perties配置文件 引用Log4j.jar。Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件、甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。最令人感兴趣的就是,这些可以通过一个配置文件来灵活地进行配置,而不需要修改应用的代码。此外,通过Log4j其他语言接口,您可以在C、C+、.Net、PL/SQL程序中使用Log4j,其语法和用法与在Java程序中一样,使得多语言 分布式系统得到一个统一一致的日志组件模块。而且,通过使用各种第三方扩展,您可以很方便地将Log4j集成到J2EE、JINI甚至是SNMP应用中。94.3 系统结构和流程图4.3.1 学生模块的结构 学生在注册通过管理员审核后,登录系统进行相关操作,包括根据自己的导师进行毕业设计(论文)的选题或是自选课题,也可以浏览本站的所有信息,包括公告、工作安排等、下载文章、往年优秀论文范文以及系统本站提供的其它资料下载等。修改自己的基本资料和密码,以及上传和管理自己的文档资料,还可以给自己的导师留言等。其具体结构如下图6所示。图6 学生模块结构图4.3.2 教师模块的结构 教师用户同样需要注册,并通过管理员审核后方可登录本系统进行操作。具体包括如下操作:可以给自己所带的学生出毕业设计(论文)的课题,供学生选择。以及审核学生的选题情况。可以浏览本站的所有信息。可以查看自己学生的信息,以及文档上交情况。上交自己的文档和修改本人的资料、密码等。可以给自己的学生进行留言,并查阅自己的留言。其具体如下图7所示。图7 教师模块结构图4.3.3 管理员模块的结构 管理员拥有系统的最高权限,其权限包括对学生的管理、管理教师注册信息、个人信息维护、监督学生和教师的各种文档上交情况、发布学院最新消息和其他信息的添加、删除和更新,上传、下载相关文件及管理等权限。4.4 系统模块详细设计4.4.1系统模块详细设计概要 由前面的系统分析和系统设计我们已知,本系统是围绕以用户为中心来对信息进行有效的管理,而所有的这些管理操作其实都是在对相应的数据进行操作,基本上实现的也就是对数据的增加、查询、修改和删除这四项操作。所以在此所谓的系统模块详细设计就是指的对这四项功能模块实现的设计。因为系统的每个模块几乎都要进行反复的增、删、改、查操作,所以设计好这四项操作功能模块就显得尤为重要了。4.4.2注册模块详细设计注册模块功能注册模块的功能主要就是对一系列基本信息的录入,如要添加用户时就要把其相关信息录入到系统中。在设计录入操作时,我们要求数据能够正确的保存到数据库中,因此就要对录入的数据进行有效验证,在此分为两个步骤:首先在页面由JS脚本程序对数据进行验证;若页面验证通过则再到数据库中进行一次验证,看录入信息是否与数据库中的信息发生冲突,若没有冲突则可正确的录入。注册模块流程,如图8所示。图8 注册模块流程图4.4.3查询模块详细设计查询模块功能查询模块的功能主要就是对保存在数据库中的相关信息进行查找,然后把查找出来的信息通过页面显示出来供用户查看和维护。查询模块流程,如图9所示。图9 查询模块流程图4.4.4修改模块详细设计修改模块功能修改模块就是当某些信息发生变化时,我们就要对其保存在数据库中的信息进行相应的修改,从而保证数据的时效性。其实修改模块的设计是在录入模块的基础上进行了一些改动,也就是当你查找出某条信息时想对其进行修改,单击其对应的一个“修改”链接,就会跳转到一个修改界面,此时也就相当于对数据再次进行一次录入了。修改模块流程,如图10所示。图10 修改模块流程图4.4.5删除模块详细设计删除模块功能删除模块的功能就是对系统中无效的信息从数据库中给删除掉。该功能模块较为简单,并不需要过多的设计。我们只需在相关信息栏的操作字段下单击“删除”链接,然后弹出一个确认框,单击“确定”按钮则会从数据库中删除该条数据信息,单击“取消”按钮则会返回原界面。22删除模块流程,如图11所示。图11 删除模块流程图4.5 数据库的设计和构建数据库设计是项目开发中的系统设计中非常重要的一个关键环节,之所以强调数据库的重要性,是因为数据库设计就像在建设高楼大厦的根基一样,如果设计不好,在后来的系统维护、变更和功能扩充时,甚至在系统开发过程中,将会引起比较大的问题,会遇到非常大的困难,大量工作将会重新进行。 在本系统中所需要设计的数据库表如下表2所示。序号数据库表数据库表存储内容1User存储用户基本信息2User_info存储用户详细信息3admin存储管理员信息4Infomation存储新闻通知等信息5Massage存储用户之间互发的消息6Xuanti存储选题信息7up_docunment存储用户上传的文档下面将主要介绍关键数据表的数据库设计的详细说明。存储后台用户基本信息的数据库表User如5.1所示。表3 用户基本信息表User序号字段名字段类型说明备注1User_IDnumeric(9)ID 主键,唯一,非空2UsernameVarchar(16)用户名唯一,非空3passwordVarchar(32)用户密码非空4realnameVarchar(10)真实姓名非空5sexchar(2)性别非空6departmentVarchar(20)所属学院7questionVarchar(50)密码提示问题8answerVarchar(50)密码提示问题答案9validateVarchar(2)审核默认锁定10regtimedatetime(8)注册时间非空11timeoverDatetime(8)到期时间非空12usertypeVarchar(10)等级权限非空13lastloginDatetime(8)最后登陆时间表4 用户详细信息表User_info序号字段名字段类型说明备注1User_idnumeric(9)ID主键2UsernameVarchar(16)用户名外键3classVarchar(20)班级学生项4numbervarchar(10)学号学生项5telephoneVarchar(16)电话6mobilephonenumeric(16)手机7emailVarchar(20)电子邮件8teacherVarchar(16)导师学生项9titleVarchar(50)所选课题学生项10ZhichengVarchar(10)职称教师项11specialtyVarchar(20)专业用户基本信息表保存的是后台用户的基本信息。其中“用户名”和“用户密码”是用于以后登陆,为了不引起混乱,要求“用户名”在表中唯一;姓名、电话、电子邮件等是用户的基本信息。表5 管理员信息表admin序号字段名字段类型说明备注1Admin_idnumeric(9)编号主键,唯一,非空2Admin_usernameVarchar(16)用户名唯一,非空3Admin_passwordVarchar(32)管理密码非空4Admin_realnameVarchar(10)真实姓名非空5Admin_departVarchar(20)部门6Admin_mailVarchar(50)邮箱非空7Admin_levelVarchar(10)权限非空8Admin_validateVarchar(2)验证默认已审9Admin_regtimeDatetime(8)注册时间非空该表是用于保存系统管理人员的基本信息的,其中“管理员用户名”和“管理密码”是管理人员登陆系统进行管理的通行证,为了不引起混乱,“用户名”在表中是唯一的。表6 公告信息表Infomation序号字段名字段类型说明备注1Info_idnumeric(9)编号主键,唯一,非空2Info_titleVarchar(50)文章标题非空3Info_contentVarchar(2048)文章内容非空4Info_fromVarchar(16)文章来源非空5Info_classVarchar(16)文章分类非空6Info_timeDatetime(8)添加时间非空7Info_upfilenameVarchar(50)上传文件名8Info_upfilepathVarchar(100)文件路径公告信息主要包括以下几个方面:学校关于毕业设计方面的规章制度、设计安排,以及推荐范文、表格下载和历年的优秀论文,和最新的公告和通知等方面内容。该项只有管理员才有权限进行添加。表7 消息管理表Message序号字段名字段类型说明备注1M_idnumeric(9)编号主键,唯一,非空2M_titleVarchar(50)消息标题非空3M_contentVarchar(200)消息内容非空4M_fromVarchar(16)发送人外键,非空5M_toVarchar(16)收信人外键,非空6M_readVarchar(2)是否已读默认“未读”7M_timeDatetime(8)发送时间非空8M_upfilenameVarchar(50)附件名9M_upfilepathVarchar(100)附件地址此表是用来纪录用户之间相互发送的消息等信息,便于用户间的联系。表8 选题信息表Xuanti序号字段名字段类型说明备注1Xt_idnumeric(9)编号主键,唯一,非空2Xt_titleVarchar(50)选题标题非空3Xt_intrVarchar(100)选题简介4Xt_fromVarchar(16)来源外键,非空5Xt_addtimeDatetime(8)添加时间非空该表是用于纪录学院或教师所要求的论文的课题,供毕业生进行选择。表9 上传文档表up_docunment序号字段名字段类型说明备注1file_idnumeric(9)编号主键,唯一,非空2file_titleVarchar(50)文档标题非空3file_urlVarchar(100)文档存放路径非空4file_fromVarchar(16)来源外键,非空5file_addtimeDatetime(8)添加时间非空该表是用于纪录用户上传文档的保存信息的。4.6 本章小结本章主要介绍了毕业设计管理系统的学生模块、教师模块和管理员模块的结构设计、讨论了整个系统的主要数据库结构参数及其构建和连接访问的实现的、系统的界面设计以及框架设计。着重讲述了该系统的主要功能模块的实现。5 系统实现5.1 用户登陆功能的实现在一个系统中,用户登录验证是非常重要的,要考虑的问题也比较多,比如该用户是否存在、用户名和密码是否正确等等,在本系统中我们用如下代码进行用户登录的实现。String userName = (String)request.getParameter(userName);String userPassword = (String)request.getParameter(userPassword);String UserType = (String)request.getParameter(userType);response.setContentType(text/html;charset=GBK);Jdbc jdbc = new Jdbc();boolean falg = false;falg = jdbc.Dlu(userName,userPassword,UserType);/执行查询方法if (falg)/判断用户身份if(UserType.equals(1)HttpSession session = request.getSession(true);session.setAttribute(userName,userName);String url=./student/S_window.jsp;RequestDispatcher rd =request.getRequestDispatcher(url);rd.forward(request, response);else if(UserType.equals(0)HttpSession session = request.getSession(true);session.setAttribute(userName,userName);String url=./teacher/main/S_window.jsp;RequestDispatcher rd =request.getRequestDispatcher(url);rd.forward(request, response);else if(UserType.equals(2)HttpSession session = request.getSession(true);session.setAttribute(userName,userName);String url=./admin/main/S_window.jsp;RequestDispatcher rd =request.getRequestDispatcher(url);/页面跳转rd.forward(request, response);elserequest.setAttribute(error, 填写信息有误!);String url=./E_index.jsp;RequestDispatcher rd =request.getRequestDispatcher(url);rd.forward(request, response);5.2 文件上传功能代码文件的上传可以实现学生、教师的资源共享,同时学生也可以上传自己的作业,方便教师对作业进行管理。request.setCharacterEncoding(GBK);HttpSession session = request.getSession(true);String File_from = (String) session.getAttribute(userName);PageContext pagecontext = JspFactory.getDefaultFactory().getPageContext(this, request, response, null, true, 8192, true);com.jspsmart.upload.SmartUpload su = new com.jspsmart.upload.SmartUpload();su.initialize(pagecontext);su.setAllowedFilesList(doc,txt);/允许上传文档的格式su.setDeniedFilesList(exe,bat,jsp); /不允许上传文档的格式su.setMaxFileSize(50000000);su.upload();com.jspsmart.upload.File myfile =su.getFiles().getFile(0);String filep =null;String filename1 = null;if(!myfile.isMissing()filep=myfile.getFileName();/获取文件名System.out.println(filep);int size = filep.length();String filepath =C:Javastudent+filep;System.out.println(filepath);upd.File_addtime = DateUtil.getCurrentMilliTime();jdbc.Uadd(upd);/插入数据库request.setAttribute(error, 系统异常请通知管理员!);5.3 数据库连接 任何一种语言都可以连接数据库。java通过一种加JDBC的驱动程序来实现数据库的连接。JDBC相当于数据库和JAVA语言的接口。private Connection con =null;public Connection getConnection()Class.forName(com.mysql.jdbc.Driver);con=(Connection) DriverManager.getConnection(jdbc:mysql:/localhost:3306/bysj?user=root&password=8888&useUnicode=true&characterEncoding=gb2312);5.4 查询数据功能查询功能主要就是对保存在数据库中的相关信息进行查找,并在页面列出查询结果。DBContent db = new DBContent();Connection con = null;PreparedStatement ps = null;PreparedStatement ps1 = null;ArrayList array = new ArrayList();XuanTi xuanti = new XuanTi();con = db.getConnection();String sql1 = select Username,realname,department from user m,xuanti x where m.Username=x.xt_tea and xt_to =+ ausername+ ;ps1 = (PreparedStatement) con.prepareStatement(sql1);ResultSet rs1 = (ResultSet) ps1.executeQuery();for (; rs1.next();) User user = new User();user.setUserName(rs1.getString(1);user.setRealName(rs1.getString(2);user.setDepartment(rs1.getString(3);array.add(user);5.5 删除数据功能删除功能主要就是对保存在数据库中的相关信息进行删除。DBContent db = new DBContent();Connection con = null;PreparedStatement ps = null;Boolean falg1 = false;con = db.getConnection();con.setAutoCommit(false);String sql = delete from xuanti where Xt_id= + ausername + ;ps = (PreparedStatement) con.prepareStatement(sql);ps.execute();mit();falg1 = true;5.6 修改数据功能删除功能就是对保存在数据库中的相关信息进行修改操作。DBContent db = new DBContent();Connection con = null;PreparedStatement ps = null;Boolean falg = false;con = db.getConnection();con.setAutoCommit(false);String sql = update user set question= + aquestion+ , answer= + aanswer + where username=+ ausername + ;ps = (PreparedStatement) con.prepareStatement(sql);ps.execute();mit();falg = true;总结基于Web的高校毕业设计管理系统有着广阔的前景,必将对传统管理模式产生深远影响。本文从计算机学科的两个重要领域计算机网络技术和数据库技术出发,分析了Web数据库及JSP技术在毕业设计管理系统中的应用。本文的主要工作如下:1、探讨了运用软件工程的基本原理去分析和设计实现毕业设计管理系统的过程。并对系统的开发原理、功能设计和模块的设计做出系统的分析。2、论文详尽介绍了毕业设计管理系统的总体框架和使用的主要技术、以及功能的实现。3、本文通过理论联系实际,对B/S结构上的Web数据库的不同实现方法作了详尽的分析,同时使用JSP技术开发的一个毕业设计管理系统。本文仅在我们工作的基础上对这一问题作了初步的探讨,怎样更好地利用网络资源,怎样使教师与学生、学生与学生、教师与教师间的交流更为方便、快捷,怎样在网上查询中引入多媒体技术、人工智能技术和最新的网络技术等等,这些问题还有待进一步研究。 联系 qq:11129585参考文献1 刘卫宏.MYSQL实用教程M北京:北京希望电子出版社
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 三菱移位案例讲解
- 网店休闲零食讲解
- 无尽漫画创作核心教程
- 消防泵房清理方案(3篇)
- 软件技术商城平台架构
- 生物抗生素概述
- 投影技术讲课教程
- 项目竣工验收汇报
- 教学设计与教案质量检查制度
- 学校物业假期管理制度规范
- 2025上海市八年级升九年级数学暑假提升讲义:相似三角形压轴题(六大题型)原卷版
- 2025年工业互联网工程技术人员考核试题题库及答案
- 供货组织方案范文
- 农行OCRM系统讲解
- 2025年《药品经营和使用质量监督管理办法》培训试题及答案
- 2024年云南省县乡教师选调考试《教育学》真题汇编带解析(原创题)
- 工贸安全员考试题库及答案大全
- 羊肚菌栽培及其管理课件
- 教师身体健康管理指南
- 2025全国农业(水产)行业职业技能大赛(水生物病害防治员)选拔赛试题库(含答案)
- 网约车停运损失赔偿协议书范文
评论
0/150
提交评论