本科毕业设计管理系统

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

摘要
本文详细介绍了开发毕业设计管理系统的背景、意义、主要内容以及开发步骤,包括系统的需求分析,系统的功能设计,系统各个模块的具体实现,系统的界面设计,系统测试和文章的结论。

需求分析中以介绍B/S结构,Struts技术,JSP技术的基本概念及MyS QL数据库配置和本系统之间的联系为主。

另外还对具体的模块进行思路分析,并加以代码进行阐释。

本系统包括学生,教师和管理员三个用户组,由用户信息管理,公告管理,课题管理,选题管理,文档管理,权限管理等模块组成,实现了对整个毕业设计管理流程进行清晰完善的规划设计。

通过本系统,可以做到信息的规范化、科学化和迅速化,从而减少管理方面的工作量。

本系统中主要使用Java语言进行编写,利用B/S结构,通过MySQL数据库对毕业论文管理系统的基本信息进行存储。

在本系统中主要借助Struts框架技术实现对MySQL数据库的数据访问。

关键词:本科毕业设计管理系统,B/S结构,Struts,MySQL
ABSTRACT
This paper describes the development of design management system, school background, significance, main content and development steps, including system requirements analysis, system functional design, system specific implementation of each module, the system interface design , system testing and the conclusion. Requirement analysis is main to introduce the B / S structure, Struts technology, JSP technology, the basic concepts and MySQL database configuration ,which contact with the system. Also thinking of specific analysis module, and to explain the code.
The system, which includes students, teachers and administrators three user groups, is composed by the user information management, announced management, project management, topic management, document management, rights management and other modules to realize the design of the school management process clear sound planning and design. Through this system, information can be standardized, scientific, and quickly, and then to reduce the administration workload. The main use of this system to write Java language, the use of B / S structure of the thesis through the MySQL database management system to store basic information. In this system, mainly through Struts framework technology to achieve data access MySQL database.
Keywords:Management system for graduation project, B/S structure, Struts,MySQL
目录
摘要∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙I ABSTRACT∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙II 目录∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙III 第1章需求分析∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙1
1.1 引言∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙1
1.1.1 开发课题来源∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙1
1.1.2开发课题目的∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙1
1.1.3开发课题背景∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙1
1.2任务概述∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙2
1.2.1 任务目标∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙2
1.2.2 运行环境∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙2
1.3 功能需求∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙2
1.3.1登录模块∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙5
1.3.2学生管理模块∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙5 1.3.
2.2学生在线下载任务书及文档上传∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙6
1.3.3 教师管理模块∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙6
1.3.3管理员模块∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙7
1.4 数据需求∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙7第2章 B/S结构∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙9
2.1B/S结构简介∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙9
2.2B/S结构工作模式图∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙10第3章 Struts∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙11
3.1 Struts简介∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙11
3.2Struts的框架结构∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙11
3.2.1Model部分∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙11
3.2.2 view部分∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙12
3.2.3 Controller组件∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙12
3.2.4Struts框架结构图∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙12第4章 MYSQL∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙13
4.1 MYSQL数据库简介∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙13
4.2MYSQL数据库配置∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙13第5章 JSP∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙14
5.1 JSP简介∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙14
5.2 JSP基本语法∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙14第6章系统数据库设计∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙15
6.1 数据库名∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙15
6.2E-R图∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙15
6.3 数据库表设计∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙18第7章系统实现∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙21
7.1 登录管理模块∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙21
7.2 管理员操作模块∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙23
7.2.1 公告管理∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙23
7.2.2 管理员添加用户操作模块∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙26
7.2.3管理员查看学生选题情况操作∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙27
7.2.4 管理员查看课题信息和文档信息操作模块∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙29
7.3 教师管理模块∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙31
7.3.1 教师发布新课题∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙31
7.3.2教师审核学生选题∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙327.3.3
教师上传下载文档并审核学生文档∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙35
7.4 学生管理模块∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙36
7.4.1 学生选题操作∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙36
7.4.2学生更改密码操作(教师和管理员个人密码操作类似)∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙38第8章系统测试∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙40
8.1 登录测试∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙40
8.2管理员新建用户测试∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙41
8.3学生选题测试∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙43
8.4 教师审核学生选题或评估测试∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙45结论∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙47参考文献∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙48致谢∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙49
第1章需求分析
1.1 引言
1.1.1 开发课题来源
此课题来源于长沙学院计算机系,是一个针对本系老师对毕业设计网络化管理需求的实用系统。

1.1.2开发课题目的
对于我们院系来说,目前还缺乏有效的网络化信息管理,而本科毕业设计是教学管理的重要方面,也是培养学生综合素质和实践能力的重要环节;另外,倘若所有工作都是在互联网上进行,整个课程设计的系统化管理使老师管理学生的各种材料节省了很多时间和空间,也令整个毕业设计的流程更加便捷、自由,因此,选择此课题毋庸置疑。

随着社会的发展,各个大学都在持续扩招,学生的数量日益庞大,使传统的手工毕业设计管理不仅工作量大,而且容易出现问题,我校也不例外,因此为我系开发一个毕业设计信息管理系统刻不容缓;另外,我系所有学生的毕业设计统一起来后数据资料十分庞大,容易丢失,不易查询;再次,传统手工的学生毕业设计管理,不仅管理过程繁琐而复杂,执行效率低,而且任何高校毕业设计的管理过程中存在着很多问题,比如选题较复杂、指导老师较多及由于学生在外实习导致毕业设计地点较分散等特点。

由此可知,传统的手工
管理模式大大影响工作的效率,而在计算机技术突飞猛进,办公自动化的今天建立网络化的一个完善的毕业设计信息管理支撑系统对于原始选课存在的问题的解决已经成为一种必然的趋势。

这个系统相对于我系原始管理方式为老师和学生提供了一个很好的信息交流平台,并能提高毕业设计的管理水平和质量。

通过这样的系统,我们可以做到信息的规范管理和快速查询,实现学生毕业设计管理的系统化、规范化和自动化,这样不仅减少了管理工作量,还提高了管理效率,降低了管理成本。

1.1.3开发课题背景
本科毕业设计管理工作是教学管理工作的重要环节,工作量大、灵活性强、时间要求紧、对本科教学质量影响大。

特别是近年来,高校本科扩招工作进一步深入,每年毕业
生人数不断增加,另外院校扩建带来的异地办学等,使得毕业设计的管理工作难度越来越大。

随着教学改革的不断深入,如何有效地增强教学管理水平,充分调动学生的学习
积极性,提高毕业设计的教学质量是各高校教学管理工作的重点之一。

针对毕业设计教学管理中,课题的立项与学生选题的手工操作方式,采用java语言开发平台myeclipse,构建基于三层体系结构的适合于高校的Web毕业设计信息管理系统,实现网上双向选择等,从而筛选有一定理论基础、应用价值及可操作性强的毕业设计题目,把好教师毕业设计立题关及审核学生论文关,同时充分满足学生选题及论文提交要求,体现毕业设计中的个性化培养模式,增强学生的专业技术能力。

以此实现毕业设计管理工作的无纸化、电子化和网络化,提高本科毕业设计的整体质量。

1.2任务概述
1.2.1 任务目标
本系统主要实现以下功能:
1.本科毕业设计课题指南的在线填写、在线导入、发布和Excel文件格式导出。

2.本科毕业设计选指导老师。

3.本科毕业设计任务书的在线填写、在线导入、浏览和PDF文件导出。

4.本科毕业毕业论文的导入、PDF导出。

1.2.2 运行环境
操作系统:WindowsXP(SP3)
数据库:MYSQL5.1
开发环境:jdk1.6 MyEclipse6.0
服务器:Tomcat6.0
1.3 功能需求
根据毕业设计信息管理系统的特性,可以将该系统分为四个模块:登录模块,学生管理模块,教师管理模块和管理员模块。

系统功能模块图如图1.1所示。

图1.1系统功能模块图
学生管理模块主要有学生选题,提交文档,下载文档(任务书),查看选题成绩及选题状态,浏览公告及更改账户密码。

学生功能模块图如图1.2所示。

图1.2学生功能模块图
教师管理模块主要有公告浏览,课题管理(申报发布课题包含任务书,老师选学生,最终成绩评定),文档管理(上传下载),学生管理(查看学生选题状态),更改账户密码。

教师功能模块图如图1.3所示。

图1.3教师功能模块图
管理员模块主要有公告管理(增删改),课题管理和选题管理(查询与删除),文档管理(下载,删除和查询),学生及教师管理(添加用户),更改账户密码。

管理员功能模块图如图1.4所示。

图1.4管理员功能模块图1.3.1登录模块
登录用例描述见表1.1。

表1.1 登录用例描述功能描述输入用户名和密码进行登录
参与者学生、教师和系统管理员
前置条件无
最小保证输入用户名、密码并选择角色
成功保证所输入的用户名、密码与角色都正确触发条件点击“登录”按钮
主要成功场景输入正确用户名和密码
若角色为学生生则进入学生操作界面若为导师则进入指导老师操作界面若为管理员则进入管理员页面
扩展场景输入信息不正确则跳转至错误提示界面,然后用户返回登录界面
1.3.2学生管理模块
1.3.
2.1学生在线选题
学生在线选题用例描述见表1.2。

表1.2 学生选题用例描述
功能描述查看所有课题及自己选题状态,然后进行在线选题参与者学生
前置条件学生用户登录并进入“选题管理”
最小保证规范信息无缺陷
成功保证填入信息无重复,无遗漏的存入数据库中
触发条件未选题点击“新建”,已选需要更改则点击“编辑”,然后点击“确定”
主要成功场景“选题管理”界面会显示学生选题并等待审核
“课题管理”界面会显示选择课题的指导老师及“人数已满”的信息
扩展场景
1.3.
2.2学生在线下载任务书及文档上传
学生上传下载相关文档用例描述见表1.3。

表1.3 学生在线下载任务书及上传各种相应文档用例描述功能描述查看相应课题任务书及设计文档的上传
参与者学生
前置条件学生登录进入“课题管理”下载任务书,或“文档管理”上传文档最小保证有操作权限,且上传文档时填写信息与所选课题对应
成功保证填入信息无重复,无遗漏的存入数据库中
触发条件“课题管理”点击“查看”;“文档管理”点击“新建”和“确定”
主要成功场景“课题管理”点击“查看”学生可直接下载相应课题的任务书“文档管理”点击“新建”学生可上传开题报告,中期报告和论文然后可以在“文档管理”界面中查看上传文档信息
扩展场景输入信息不正确则跳转至错误提示页面1.3.3 教师管理模块
1.3.3.1教师在线课题管理即完成对学生选题的审核与评分
教师在线课题管理用例描述见表1.4。

表1.4 教师在线课题管理用例描述
功能描述对个人课题新建与编辑或对选择课题成员管理,如审核与评估管理
参与者教师
前置条件教师登录进入“课题管理”新建课题或进行成员管理操作
最小保证学生已选择此课题,且教师应该按照规定时间进行审核与评估
成功保证填入信息无重复,无遗漏的存入数据库中
触发条件“课题管理”点击“成员管理”,再点击“编辑”;点击“删除”
主要成功场景“课题管理”点击“成员管理”,教师审核选择该课题的学生:1.教师选择该学生,则审核后会显示当前课题“已审核”信息2.教师不选择该学生,则可以直接删除该选题信息
3.答辩完成后,教师可以帮自己所指导的学生录入成绩
扩展场景没有选择会跳转到错误提示页面
1.3.3.2教师在线下载学生文档并上传课题申报表及审核后的学生文档
教师在线上传下载并审核文档用例描述见表1.5。

表1.5教师在线下载并审核学生文档及上传相应文档用例描述
功能描述上传已选课题课题申报表,下载学生文档并审核,最后上传管理员
参与者教师
前置条件教师登录进入“文档管理”上传申报表,或“文档管理”上传文档最小保证有操作权限,且上传文档时填写信息与所选课题对应
成功保证填入信息无重复,无遗漏的存入数据库中
触发条件“文档管理”点击“查看”;“文档管理”点击“新建”和“确定”
主要成功场景“文档管理”点击“查看”教师可直接下载相应学生课题的文档“文档管理”点击“新建”教师可上传申报表及学生文档
然后可以在“文档管理”界面中查看上传文档信息或再编辑
扩展场景
1.3.3管理员模块
管理员发布公告用例描述见表1.6。

表1.6 管理员发布公告用例描述功能描述管理员发布公告
参与者系统管理员
前置条件管理员登录进入“公告管理”
最小保证有操作权限,且发布公告时填写信息无错误成功保证填入信息无重复,无遗漏的存入数据库中触发条件“公告管理”点击“新建”或点击“删除”
主要成功场景公告添加完成后,公告栏会显示添加的公告信息,然后学生和老师登录后都可以浏览到该条公告
扩展场景
1.4 数据需求
数据需求主要是用来描述本系统的数据来源。

根据该系统的实际情况,本系统要有以下数据信息:
用户信息:用于存储用户注册和登录的基本信息,比如:自动编号、用户名、用户密码、真实姓名、操作权限等。

课题信息:用于描述毕业设计课题的基本信息。

比如:自动编号、课题名称、课题要求(任务书)、课题类型、指导老师等。

文档信息:用于描述毕业设计相关文档信息。

比如:自动编号、文档标题、文档类型、路径、提交者、审核者、评分等。

公告信息:用于描述毕业设计相关公告信息。

比如:自动编号、公告标题、公告内容、提交时间等。

第2章 B/S结构
此系统使用该技术进行基于WEB系统的开发。

2.1B/S结构简介
B/S结构,即Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起,对C/S 结构的一种变化或者改进的结构。

在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现,形成所谓3-
tier结构。

B/S结构,主要是利用了不断成熟的WWW浏览器技术,结合浏览器的多种Scrip t语言(VBScript、JavaScript…)和ActiveX技术,用通用浏览器就实现了原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。

随着Windows 98/Windows
2000将浏览器技术植入操作系统内部,这种结构更成为当今应用软件的首选体系结构。

B/S三层体系结构采用三层客户/服务器结构,在数据管理层(Server)和用户界面层(Client)增加了一层结构,称为中间件(Middleware),使整个体系结构成为三层。

三层结构是伴随着中间件技术的成熟而兴起的,核心概念是利用中间件将应用分为表示层、业务逻辑层和数据存储层三个不同的处理层次,如图2所示。

三个层次的划分是从逻辑上分的,具体的物理分法可以有多种组合。

中间件作为构造三层结构应用系统的基础平台,提供了以下主要功能:负责客户机与服务器、服务器与服务器间的连接和通信;实现应用与数据库的高效连接;提供一个三层结构应用的开发、运行、部署和管理的平台。

这种三层结构在层与层之间相互独立,任何一层的改变不会影响其它层的功能。

随着Windows将浏览器技术植入操作系统内部,这种结构已成为当今应用软件的首选体系结构。

显然B/S结构应用程序相对于传统的C/S结构应用程序是一个非常大的进步。

B/S结构的主要特点是分布性强、维护方便、开发简单且共享性强、总体拥有成本低。

但数据安全性问题、对服务器要求过高、数据传输速度慢、软件的个性化特点明显降低,这些缺点是有目共睹的,难以实现传统模式下的特殊功能要求。

例如通过浏览器进行大量的数据输入或进行报表的应答、专用性打印输出都比较困难和不便。

此外,实现复杂的应用构造有较大的困难。

虽然可以用ActiveX、Java等技术开发较为复杂的应用,但是相对于发展已非常成熟C/S的一系列应用工具来说,这些技术的开发复杂,并没有完全成熟的技术工具供使用。

2.2B/S结构工作模式图
在B/S体系结构系统中,用户通过浏览器向分布在网络上的许多服务器发出请求,服务器对浏览器的请求进行处理,将用户所需信息返回到浏览器。

而其余如数据请求、加工、结果返回以及动态网页生成、对数据库的访问和应用程序的执行等工作全部由We b Server完成。

1
B/S工作模式图如图2.1所示:
图2.1 B/S工作模式图
第3章 Struts
该技术在SSH框架中主要作用于业务逻辑层。

3.1 Struts简介
Struts是Apache 基金会Jakarta 项目组的一个Open Source
项目,它采用MVC模式,能够很好地帮助java
开发者利用J2EE开发Web应用。

和其他的java架构一样,Struts
也是面向对象设计,将MVC模式"分离显示逻辑和业务逻辑"的能力发挥得淋漓尽致。

Str ucts 框架的核心是一个弹性的控制层,基于如 Java
Servlets,JavaBeans,ResourceBundles与XML等标准技术,以及 Jakarta Commons
的一些类库。

Struts由一组相互协作的类(组件)、Servlet以及jsp tag
lib组成。

基于struts构架的web应用程序基本上符合JSP
Model2的设计标准,可以说是一个传统 MVC设计模式的一种变化类型。

除此之外,Struts的优点主要集中体现在两个方面:Taglib和页面导航。

Taglib是S truts的标记库,灵活运用,能大大提高开发效率。

另外,就目前国内的JSP开发者而言,除了使用JSP自带的常用标记外,很少开发自己的标记,或许Struts是一个很好的起点。

3.2Struts的框架结构
Struts对Model,View和Controller都提供了对应的组建。

在上图中,ActionServle t,这个类是Struts的核心控制器,负责拦截来自用户的请求。

Action,这个类通常由用户提供,该控制器负责接收来自ActionServlet的请求,并根据该请求调用模型的业务逻辑方法处理请求,并将处理结果返回给JSP页面显示。

3.2.1Model部分
由JavaBean组成,ActionForm用于封装用户的请求参数,封装成ActionForm对象,该对象被ActionServlet转发给Action,Action根据ActionForm里面的请求参数处理用户的请求。

JavaBean则封装了底层的业务逻辑,包括数据库访问等。

2
3.2.2 view部分
该部分采用JSP实现。

Struts提供了丰富的标签库,通过标签库可以减少脚本的使用,自定义的标签库可以实现与Model的有效交互,并增加了现实功能。

对应图中JSP部分。

3.2.3 Controller组件
Controller组件有两个部分组成——系统核心控制器,业务逻辑控制器。

系统核心控制器,对应上图的ActionServlet。

该控制器由Struts框架提供,继承Ht tpServlet类,因此可以配置成标注的Servlet。

该控制器负责拦截所有的HTTP请求,然后根据用户请求决定是否要转给业务逻辑控制器。

业务逻辑控制器,负责处理用户请求,本身不具备处理能力,而是调用Model来完成处理。

对应Action部分。

3.2.4Struts框架结构图
Struts结构流程图如图3.1所示。

图3.1 Struts结构流程图
第4章 MYSQL
4.1 MYSQL数据库简介
MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL
AB公司。

在2008年1月16号被Sun公司收购。

而2009年,SUN又被Oracle收购.对于Mysql的前途,没有任何人抱乐观的态度.目前MySQL被广泛地应用在Internet上的中小型网站中。

由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。

4.2MYSQL数据库配置
(1)MYSQL数据库连接地址是:jdbc:mysql://localhost:3306/topics
(2)驱动形式为连接池类型,即:MYSQL Connector/J
(3)数据库驱动程序是:org.gjt.mm.mysql.Driver
(4)数据库驱动包是:mysql-connector-java-5.1.15-bin.jar
MYSQL连接配置图如图4.1所示。

图4.1 MYSQL连接配置图
第5章 JSP
5.1 JSP简介
JavaServer Pages
(JSP)是基于Java的技术,用于创建可支持跨平台及跨Web服务器的动态网页。

JSP可与微软的Active Server Pages
(ASP)相媲美,但JSP使用的是类似于HTML的标记和Java
代码片段而不是用VBScript。

当你使用不提供ASP本地支持的Web服务器(例如
Apache或Netscape服务器)时,你就可以考虑使用JSP了。

你虽然也可以为这些服务器弄一个ASP附加软件模块,但是太昂贵了。

现在Sun公司并不会因你使用JSP向你收费(虽然将来可能要收),况且用于Solaris、 Linux以及Windows系统的组件都很容易获得。

不要把JSP与服务器端的javascript语言搞混了。

Web服务器自动将通过JSP生成的J ava代码片段转换成Java 片段(servlets)。

JSP也可自动控制许多功能,如过去用Perl脚本编写功能程序或像ASP这样的服务器专用API(应用编程接口)。

在你用JSP进行开发的过程中,进行更多的开发的过程中,如果创建了JavaBeans或发现JSP文件中加入了太多的Java源代码,你就需要创建起支持作用的Java分类(class)了,它可以协助你重复利用源代码并减少JSP网页编译时间。

5.2 JSP基本语法
基本语法主要有JSP指令、脚本元素、
JavaBeans和隐含对象,共有五种JSP指令和脚本元素。

在JSP
1.0版中,大部分JSP被一个以“<%”
开头和以“%>”结尾的的标记括在其中,JSP指令是为JSP引擎而设计的。

他们并不直接产生任何可见输出,而只是告诉引擎如何处理其余JSP页,这些指令始终被括在 “<%@ %>”标记中。

两个最重要的指令是“pagePage”和“Include”。

几乎在所有JSP页面顶部都会看到“Page”指令,而“Include”指令可以把你的内容分成更多可管理的元素,比如包括一个普通页面页眉或页脚的元素,包含的网页可以是一个固定的HTML页面或更多的JSP内容。

3
第6章系统数据库设计6.1 数据库名
系统数据库名:topics
数据库: MySQL5.1
6.2E-R图
实体间联系E-R图如图6.1所示。

图6.1 系统实体联系E-R图用户信息E-R图如图6.2所示。

图6.2 用户信息E-R图学生信息E-R图如图6.3所示。

图6.3 学生信息E-R图教师信息E-R图6.4所示。

图6.4 教师信息E-R图文档信息E-R图如图6.5所示。

图6.5 文档信息E-R图
课题信息E-R图如图6.6所示。

图6.6 课题信息E-R图
公告信息E-R图如图6.7所示。

图6.7 公告信息E-R图6.3 数据库表设计
administrator(用户信息表)用于描述用户信息,见表6.1。

gonggao(公告信息表)用于描述公告信息,见表6.2。

biaoti标题String50否否否neirong内容String10
00
否否否smtuser提交者String50否否否
smttime提交时

DateTi
me
8否否否
jiaoshi(教师信息表)用于描述教师信息,见表6.3。

xuesheng(学生信息表)用于描述学生信息,见表6.4。

表 6.4 学生信息表
xueshe ng 姓名String25
5
否否否
xuehao学号String25
5
否否否
xingbie性别String25
5
否否否
yuanxi院系String25
5
否否否
zhuany e 专业String25
5
否否否
userna me
用户

String25
5
否否否
wendang(文档信息表)用于描述文档信息,见表6.5。

xid所属选
Int3211否否是

keti(课题信息表)用于描述课题信息,见表6.6。

第7章系统实现
7.1 登录管理模块
登录管理模块关键是将用户输入信息与数据库中已存在的用户名、密码和角色进行匹配,如果正确则进入用户操作首页;否则跳转到错误页面。

此功能的实现原理是从数据库中查询是否存在用户输入信息,且完全一致。

而且登录的过程中,我使用MD5加密技术来保证用户密码的安全性,使用验证码防止灌水性登录。

登录管理模块流程图如图7.1所示。

图7.1登录管理模块流程图
主要代码:
UrlBuilder urlBuilder = new UrlBuilder(request);
String action = urlBuilder.getAction();
if(TypeConvert.IsNullOrEmpty(action)) //判断是否为空
{response.sendRedirect(Utils.getHelperUrl(MSGID.NON_ENTRY));
}else if(TypeConvert.Equals(action,"LoginSubmit"))
// LoginSubmit与表单Login.jsp的“登录”提交按钮对应
{
StringUserGroupId=TypeConvert.ToDecodeString(request.getParameter("txtUserGroupId ")); //获取用户角色ID
String UserName = TypeConvert.ToDecodeString(request.getParameter("txtUserName"));
//获取用户名
String PassWord=TypeConvert.ToMd5(TypeConvert.ToDecodeString(request.getParameter ("txtPassWord"))); //运用MD5加密,获取用户输入密码
Boolean RestoreInfo = TypeConvert.ToBoolean(request.getParameter("cbxRestoreInfo"));
Debug.write(RestoreInfo);
if(TypeConvert.IsNullOrEmpty(UserGroupId,UserName,PassWord))
{ response.sendRedirect(Utils.getHelperUrl(MSGID.INPUT_FAILED));
}else if(Users.SignIn(UserName,PassWord,UserGroupId))
{ //写cookie
Users.setRestoreInfo(response,RestoreInfo);
Users.setUserName(response,UserName);
Users.setUserGroupId(response,UserGroupId);
//写Session ,记录用户名和角色ID
Users.setUserInfo(session,UserName,UserGroupId);
//登录成功
response.sendRedirect("../"+UserGroupId+"/Default.jsp"); }
else{response.sendRedirect(Utils.getHelperUrl(MSGID.LOGIN_FAILED)); } }
登录界面图如图7.2所示。

图7.2 用户登录界面
选择角色界面图如图7.3所示。

图7.3 用户登录角色选择界面
7.2 管理员操作模块
7.2.1 公告管理
此模块主要用于管理员对公告进行新建、删改、查询和编辑。

当管理员需要发布公告时,点击新建按钮,然后系统提交页面gonggaoAction.jsp?Action=New,系统自动跳转到创建公告管理信息页面,当用户点击确定按钮时,系统提交页面到gonggaoAction.jsp Action=EditSubmit, 并调用 CGonggaoDal.Insert
方法插入公告管理信息;需要修改时系统调用CGonggaoDal.Update
方法更新公告管理信息。

操作成功时,系统将自动跳转到浏览公告管理信息页以查看编辑结果,操作失败时,系统将自动调用系统消息报错。

.
管理员发布公告流程图如图7.4所示。

是。

相关文档
最新文档