1、本科毕业论文(科研训练、毕业设计)题 目:基于 B/S 模式的工程硕士教学与学籍管理系统的实现-界面设计和系统测试姓 名:学 院:软件学院系:软件工程专 业:软件工程年 级: 学 号:指导教师: 职称:年 月基于 B/S 模式的工程硕士教学与学籍管理系统的设计和实现I摘要 随着工程硕士教育蓬勃发展,各学院亟需一套专门用于工程硕士教学与学籍管理系统平台。本文系统地探讨该管理系统的设计和实现技术。教学管理是工程硕士管理的主要日常工作之一,涉及到教学秘书、教师以及工程硕士三个角色。涉及的工作有教师管理、学生管理、课程管理、成绩管理以及其他管理五个模块。课程管理又分为选课管理、排课管理、课表管理。本系
2、统的目标角色为教学秘书、教师和工程硕士。采用面向对象设计方法,采用中心 4层架构的 B/S 模式,JSP 语言作为系统开发的语言。平台方面,采用EclipseMyEclipseTomcatMySQL 作为开发环境。本文介绍了项目背景以及研究内容与目标,然后介绍了该系统的设计的总体目标、功能体系结构、数据库设计和开发环境。开发环境中包括开发语言 JSP、数据库 MYSQL、系统开发平台、系统运行环境。第四章至第六章介绍个人负责的界面设计、密码修改模块和测试工作。测试用例报告附在附录中。关键词 教学与学籍管理;界面设计;测试基于 B/S 模式的工程硕士教学与学籍管理系统的设计和实现IIAbstra
3、ctWith the vigorous development of education, the College of the urgent needs for a specialized engineering master teaching and school management system platform. This paper described the system management system design and implementation of technology. Teaching Master of Engineering Management is t
4、he main daily work of the Secretary related to teaching, teachers and engineering masters degree three roles. The work includes teacher anagement, student management, curriculum management, performance management and other management five modules. Course management is divided into classes management
5、, arranging schedule management, Timetable management. The goal of the system for the role of the Secretary of teaching, teachers and Master of Engineering . Object-oriented design methods, using four-tier structure of the Centre for B / S model, JSP language as the language of system development. I
6、n the Platform, the system uses Eclipse + MyEclipse + Tomcat + MySQL as a development environment. This paper introduced the first item on the background and content and objectives, and then introduced the system of the overall objectives, functional architecture, database design and development env
7、ironment. Development environment including the development of language JSP, database MYSQL, system development platform, operating system environment. From the fourth chapter to chapter six, Introduce individuals responsible for the interface design, Change password modules and testing work. The re
8、port of Test Case attached to the appendix.Keywords Teaching and school management; Interface design; Testing基于 B/S 模式的工程硕士教学与学籍管理系统的设计和实现III目录 第一章 引言 11.1 项目背景 .11.2 研究内容与目标 .1第二章系统设计及设计目标 .22.1 系统设计总体目标 .22.2 功能体系结构 .22.3 系统结构设计 42.4 数据库设计 .5第三章 开发环境 .133.1 开发语言 JSP.133.2 数据库 MYSQL.143.3 系统开发平台 15
9、3.4 系统运行环境 15第四章 界面设计 .164.1 界面设计的理念 164.1.1 网页布局类型 .164.1.2 网页布局 .204.1.3 网页设计的色彩 .204.1.4 设计的 3C 原则 204.1.5 页面设计要点 .214.1.6 CSS224.2 系统界面 234.2.1 登陆界面 .234.2.2 密码修改界面 .234.2.3 教师学生信息管理 .244.2.4 课程管理 .264.2.5 成绩管理 .29基于 B/S 模式的工程硕士教学与学籍管理系统的设计和实现IV4.2.6 留言管理 .30第五章 密码修改 .33第六章 软件测试 .366.1 软件测试的定义 3
10、66.2 软件测试的目标 366.3 软件测试用例选择 376.3.1 等价类划分方法 .376.3.2 边界值分析法 .386.3.3 错误推测法 .396.3.4 因果图法 .396.3.5 功能图 .406.4 软件测试的原则 406.5 测试结果 40结束语 43参考文献 44致 谢 45附 录 46基于 B/S 模式的工程硕士教学与学籍管理系统的设计和实现VContentsChapter 1 Foreword.11.1 The bearing of study.11.2 The purpose of study and individual work1Chapter 2 The st
11、atus of study and the goal of design.22.1 The goal of system design .22.2 The structure of function system 22.3 The design of system structure 42.4 The design of data-base.5Chapter 3 Development environment133.1 Development language JSP.133.2 Data base MYSQL .143.3 Development platform 153.4 Running
12、 environment .15Chapter 4 The design of interface .164.1 The request of design interface164.1.1 Page layout type 164.1.2 Page layout 204.1.3 Wed design color .204.1.4 The 3C principle of design .214.1.5 The point of interface design214.1.6 CSS224.2 Designed interface .234.2.1 The interface of logini
13、ng.234.2.2 The interface of changing password 244.2.3 The interface of managing students and teachers.244.2.4 The interface of managing classes 264.2.5 The interface of managing score294.2.6 The interface of managing leave word.30Chapter 5 Chang pasword.33Chapter 6 Software testing366.1 The definiti
14、on of testing 366.2 The goal of testing366.3 Select software Test Case .376.3.1 Equivalence class of methods376.3.2 Boundary value analysis 386.3.3 Wrong to speculate Law.39基于 B/S 模式的工程硕士教学与学籍管理系统的设计和实现VI6.3.4 Causal method.396.3.5 Figure.406.4 The principles of software testing.406.5 The result of
15、test.40The end .43Referrence.44Acknowledgement 45Appendix 46基于 B/S 模式的工程硕士教学与学籍管理系统的设计和实现1第一章 引言1.1 项目背景当今时代是飞速发展的信息时代。在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了安全性。尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。在学校里,学校教务资料繁多,包含很多的信息数据的管理,涉及到校、院、导师、学生的诸多方面。随着教学体制的不断改革,尤其是学分制、选课制的展开和深入,教学日常管理工作日趋
16、繁重、复杂。为了使教学管理工作规范、系统化、程序化、避免教务管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改教学档案,一套管理软件成为必要的。1.2 研究内容与目标为了使教学管理工作规范、系统化、程序化,免教务管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改教学档案。本系统利用Internet技术的B/S体系结构,建立一套简洁、实用、高效、经济的工程硕士教学管理体系,使信息和资源的操作与管理过渡到一个真正开放的,与平台无关的环境。本人主要负责界面设计、系统测试工作以及密码修改功能。本论文介绍软件学院教学管理系统的设计目标、总体设计等,以及界面
17、设计的理念和系统测试。基于 B/S 模式的工程硕士教学与学籍管理系统的设计和实现2第二章系统设计及设计目标2.1 系统设计总体目标本系统设计的总体目标是充分利用Internet技术的B/S体系结构,建立一套简洁、实用、高效、经济的工程硕士教学管理体系,使信息和资源的操作与管理过渡到一个真正开放的,与平台无关的环境。即:1.本系统是一个集教学工作自动化和信息化为一体,集Browser/Server和Web技术于一体的先进的电脑网络系统。在为我院教学秘书提供优质、高效的教学管理和事务处理的同时,采用安全可靠的现代化处理和控制技术,及时、准确、可靠地采集和传输信息,建立完备、可靠的工程硕士教学管理信
18、息系统。2.本系统借助防火墙与校园网隔离,以抵御来自外部网络的恶意攻击。建成的系统应能避免软、硬件故障造成的数据损失,保证数据在传输过程中安全、保密。系统要有足够大的吞吐量,不会因过多的服务请求而出现系统崩溃。界面友好,易于学习,非计算机专业人员通过学习用户使用手册即可掌握基本操作。3.借助于教学管理信息系统的建设,促进教学管理效率的提高。通过提供多层次的教务信息服务和实用的使用手段,满足院内教师对教务信息共享和利用的要求,并为学院领导的决策提供有效的帮助。4.师生共同参与教学管理信息系统。虽然本系统的主要操作用户是教学秘书,但同样也须要由教师和工程硕士共同参与完成。这样就可以使学院工程硕士的
19、教学管理信息更加透明、高效化,免去了以往借助发布过多通知的手段来辅助教学的不必要的麻烦。5.教学管理信息系统是为我院量身定制的,系统的需求部分是由我院教学秘书直接参与,为整个系统的架构打下了良好的基础,也为实现此系统提供了充分的保障。而建成的系统将会是一个高效的,实用的,符合我院教学模式的系统。2.2 功能体系结构硕士教学与学籍管理系统是软件学院管理信息系统建设的重要组成部分,是提高工程硕士教学管理质量和效益,提高信息化服务水平的关键环节,在学院建设过程中具有重要的地位。此管理系统是建立在以 Internet 技术为核心,以 Web 技术为基础的集成环境之上,基于网络对象超链接技术,采用新型
20、Browser/Server 架构实现的。整个管理系统将被分割为基于 B/S 模式的工程硕士教学与学籍管理系统的设计和实现3三个子系统:秘书系统,教师系统和学生系统。他们的主要功能是:1. 秘书系统:(1)开课计划管理:把每个学期开设的课程添加进入系统 (2)排课计划管理:添加各门课详细信息,生成课程表。(3)学生信息管理:学生基本信息的录入,修改和学生信息的删除。(4)教师信息管理:教师的基本信息的录入,修改和删除(5)选课计划管理:将排课计划中的专业选修课提取出来供学生选择(6)成绩信息管理:可以录入,修改,查看和删除每个学生的各科成绩(7)导师信息管理:根据各个导师录入,修改,查看和删除
21、对应的学生(8)留言板:可以看到学生的留言并回复学生。可管理留言信息。2.教师系统:(1)开课计划查看:查看每个学期开设的课程。(2)排课计划查看:即查看教学秘书制定的课程表。(3)修课信息查看:查看每门课修课的学生名单,并打印名单。(4)成绩信息管理:查看每个学生的各科成绩,对自己主讲的课程,可以输入和修改学生成绩。(5)导师信息查看:可查看老师指导的学生的名单。(6)个人信息查看:查看自己的基本信息。(7)留言板:可以看到学生的留言并回复学生。3.学生系统:(1)开课计划查看:查看每个学期开设的课程。(2)排课计划查看:即查看教学秘书制定的课程表。(3)选课:根据排课计划选修自己的课,并可
22、退选。(4)成绩查询:查看自己所修课程的成绩。(5)个人信息查询:查看自己的基本信息。(6)留言板:可以在留言板上发表留言,可查看回复。功能结构图如图 2-1:基于 B/S 模式的工程硕士教学与学籍管理系统的设计和实现4图 2-1 功能体系结构2.3 系统结构设计基于B/S模式的学院级教学管理信息系统是服务器端执行的应用系统,在客户端只需运行统一的浏览器软件。系统结构框架图如图2-2所示。基于 B/S 模式的工程硕士教学与学籍管理系统的设计和实现5图2-2 基于B/S模式的教学管理信息系统结构框架图1.表示层:表示层在本系统中是浏览器。系统运行时,客户从Web服务器下载它所需要执行的程序或脚本
23、,而在此层不需要安装系统的应用软件,这样做体现了瘦客户端的系统概念。瘦客户端指的是在B/S网络体系中的一个基本无需应用程序的计算机终端,它通过一些协议和服务器通信,进而接入局域网。2.中间层:中间是Web 服务器,它由三部分组成:(1)业务处理逻辑,即应用服务器。这是中间层的主要部分,所有的业务逻辑和规则都在这里得到体现。业务处理逻辑负责业务规则的解释和执行,并根据客户端用户指令,响应客户端的请求,同时向数据库连接发送或请求数据。(2)用户身份验证,负责对客户端用户的身份进行验证,防止非法用户的侵入。用户身份验证根据用户的输入信息,授权或禁止用户访问某些特定的资源。(3)数据库连接,Web服务
24、器是通过数据库连接和数据库管理系统交互信息的。对于不同的数据库系统,其访问方式是不同的,但是通过标准连接接口来访问数据库,可以使需要得到数据库服务的程序存取异地数据库。3.数据服务层:数据服务层是数据库管理系统(DBMS),它负责数据的存储管理,安全性管理和完整性管理。2.4 数据库设计数据库设计应该遵循规范化理论的要求,尽量使结构更合理,消除存储异常,使数据冗余尽量小,便于插入、删除和更新 。根据工程硕士教学系统的用户需求和设计要求,以将基于 B/S 模式的工程硕士教学与学籍管理系统的设计和实现6数据库设计分为 12 个表。1.学生信息表存储软件学院工程硕士的基本信息,以学生学号作为主键,学
25、生学号是以大写字母 X 开头,后跟 10 位数字作为编码的,例如 X2004369001,X2004369002。选修课修课学生表 course_student,导师对应关系表 teacher_student 和学生成绩表 studentscore的学生学号 stu_id 与此表的 stu_id 外键相关联,当学生信息被删除时,此学生所选的选修课,对应的导师关系和成绩将被删除。学生信息表如表 2-1 所示。表 2-1 学生信息表 student_info字段名 描述 类型 长度 是否允许为空 主键stu_id 学号 VARCHAR 11 否 是name 名字 VARCHAR 20 否 否pas
26、sword 登陆密码 VARCHAR 45 否 否Class_id 所在班级 VARCHAR 2 否 否sex 性别 VARCHAR 2 否 否nationality 民族 VARCHAR 20 否 否stu_grade 年级 VARCHAR 4 否 否len_of_schooling 学制 VARCHAR 2 否 否specialty 专业 VARCHAR 20 否 否come_from 生源 VARCHAR 20 是 否born 出生日期 VARCHAR 45 是 否charact 政治面貌 VARCHAR 10 是 否email 电子邮件 VARCHAR 45 是 否telephone
27、电话 VARCHAR 12 是 否address 地址 VARCHAR 100 是 否description 备注 TEXT 是 否2.教师信息表存储软件学院教师的基本信息,由于教师的工号较复杂,有些 4 位,有些更多,所以用院内教工号作为主键,院内教工号是以 4 位数字作为编码的,例如0001,0002。排课计划明细表 course_arrangedetail 的任课教师 course_teacher,导师对应关系表 teacher_student 的教工号 teacher_id 与此表的学院内教工号 teacher_id 外键关基于 B/S 模式的工程硕士教学与学籍管理系统的设计和实现7联
28、,当教师信息被删除时,此教师的排课,相应的导师关系将被删除。教师信息如表 2-2 所示。表 2-2 教师信息表 teacher_info字段名 描述 类型 长度 是否允许为空 主键teacher_id 学院内教工号 VARCHAR 4 否 是name 名字 VARCHAR 20 否 否password 登陆密码 VARCHAR 45 否 否college 所在学院 VARCHAR 20 否 否sex 性别 VARCHAR 2 否 否place 职称 VARCHAR 5 否 否remark 备注 TEXT 是 否3.管理员教学秘书信息表存储教学秘书的信息。包括了登录名和密码。其中登录名默认为“教
29、学秘书” ,登录后可自行修改密码。教学秘书信息如表 2-3 所示。表 2-3 管理员教学秘书信息表 manager字段名 描述 类型 长度 是否允许为空 主键manager_id 登陆名 VARCHAR 8 否 是password 登陆密码 VARCHAR 45 否 否4.开课计划表存储了所开课程的基本信息,包括了开课学年,学期,课程的名称,类型,学时,学分和开课年级。以一个自增的 int 型字段 course_id 作为主键。排课计划表course_arrange 的课程号 course_id 与此表的 course_id 的外键相互关联,因为开课与排课的关系是有开才能排,在有排课的前提下一
30、定有开课,有开不一定有排。所以当要开课的课程被删除时,相应此课程的排课也会删除,而当一门课的排课被删除时,开课计划表中还会保留此课程的信息。开课计划如表 2-4 所示。表 2-4 开课计划表 course_open基于 B/S 模式的工程硕士教学与学籍管理系统的设计和实现8字段名 描述 类型 长度 是否允许为空 主键course_id 课程号 INTEGER 否 是course_name 课程名称 VARCHAR 45 否 否course_type 课程类型 VARCHAR 5 否 否course_grade 开课年级 VARCHAR 4 否 否course_period 开课学年 VARCH
31、AR 10 否 否course_season 开课学期 VARCHAR 5 否 否course_score 课程学分 INTEGER 否 否course_long 课程学时 INTEGER 否 否course_arrange 是否已排课标记 VARCHAR 1 否 否course_description 课程描述 TEXT 是 否5.排课计划表 course_arrange 存储了开课计划表中需要进行排课的课程信息,包括了课程的上课起始周和结束周。此表的课程号 course_id 与开课计划表 course_open 的课程号course_id 外键关联,当开课计划表 course_open
32、的课程数据删除的时候,排课计划表course_arrange 的相应课程也会被数据库自动删除。此表与排课计划明细表 course_ rrangedetail 共同存储了一门课程的排课信息:任课老师,上课时间地点等。将排课信息分为两个表的原因是安排一门课,它的上课的时间即起始周和结束周是一定的。但这门课可以由多个老师一起来上。所以将任课教师,上课时间地点这些信息存入排课计划明细表,排课计划明细表是以课程号 course_id 作为索引字段的,此表没有任何主键,这样就保证了一门课的多次排课。排课计划明细表 course_arrangedetail 的课程号 course_id 与此表的课程号 co
33、urse_id 外键相关联,当此表的排课信息被删除时,相应排课的其他信息也会被删除的。排课计划如表 2-5 所示。表 2-5 排课计划表 course_arrange字段名 描述 类型 长度 是否允许为空 主键course_id 课程号 INTEGER 否 是course_start 上课起始周 INTEGER 否 否course_end 上课结束周 INTEGER 否 否基于 B/S 模式的工程硕士教学与学籍管理系统的设计和实现96.排课计划明细表 course_arrangedetail 存储了排课的具体信息。此表的课程号course_id,任课教师 course_teacher 分别与排
34、课计划表 course_arrange 的课程号course_id,教师信息表 teacher_info 的教工号 teacher_id 外键相关联,当排课计划表course_arrange 的数据或者教师信息表 teacher_info 的数据被删除时,排课计划明细表course_arrangedetail 的相应课程数据也会被数据库自动删除。排课计划明细如表 2-6 所示。表 2-6 排课计划明细表 course_arrangedetail字段名 描述 类型 长度 是否允许为空 主键course_id 课程号 INTEGER 否 否course_teacher 任课教师 VARCHAR 4
35、 否 否course_weeks 上课周属性 VARCHAR 5 否 否course_time 上课时间 VARCHAR 45 否 否course_address 上课地点 VARCHAR 45 否 否course_class 上课班级 INTEGER 否 否7.选修课状态管理表 choosecontrol 存储了已排课的课程中类型是专业选修课的状态管理信息。以课程号 course_ id 作为主键。通过这张表,教学秘书就可以管理专业选修课的状态了。当选课标识 choose 的值为 Y 时,学生就可以在自己的系统中进行这门课的选修和退选操作。当选课标识 choose 的值为 N 时,学生在自己
36、的系统中就无法进行这门课的选修和退选操作了。这样就避免因为学生随时可以选修和退选课程而造成的混乱。此表的课程号course_id 与排课计划表 course_arrange 的课程号 course_id 外键相关联。当排课计划表course_arrange 的课程数据删除的时候,选修课状态管理表 choosecontrol 的相应课程数据也会被数据库自动删除。选修课状态管理如表 2-7 所示。表 2-7 选修课状态管理表 choosecontrol字段名 描述 类型 长度 是否允许为空 主键course_id 课程号 INTEGER 否 是choose 选课标识 VARCHAR 1 否 否基于
37、 B/S 模式的工程硕士教学与学籍管理系统的设计和实现108.选修课修课学生表 course_student 存储了学生的选课信息。为了保证表中数据的唯一性,用课程号 course_id 和学生学号 stu_id 作为联合主键。当所排的课程为专业选修课,同时此门课程开放选课时,学生就可以登录系统进行选课了此表的课程号 course_id,学生学号 stu_id 分别与排课计划表 course_arrange 的课程号 course_id,学生信息表student_info 的学生学号 stu_id 外键关联。当排课计划表 course_arrange 的数据或者学生信息表 student_in
38、fo 的数据被删除时,选修课修课学生表 course_student 的对应数据也会被数据库自动删除。选修课修课学生如表 2-8 所示。表 2-8 选修课修课学生表 course_student字段名 描述 类型 长度 是否允许为空 主键course_id 课程号 INTEGER 否 是stu_id 学生学号 VARCHAR 11 否 是9.导师对应关系表 teacher_student 存储了导师和其研究生的对应关系。为了保证表中数据的唯一性,用院内教工号 teacher_id 和学生学号 stu_id 作为联合主键。此表的教师院内教工号 teacher_id,学生学号 stu_id 分别与
39、教师信息表 teacher_info 的教工号teacher_id,学生信息表 student_info 的学生学号 stu_id 外键关联。当教师信息表teacher_info 的数据或者学生信息表 student_info 的数据被删除时,导师对应关系表teacher_student 的对应数据也会被数据库自动删除。导师对应关系如表 2-9 所示。表 2-9 导师对应关系表 teacher_student字段名 描述 类型 长度 是否允许为空 主键teacher_id 教师院内教工号 VARCHAR 4 否 是stu_id 学生学号 VARCHAR 11 否 是10.学生成绩表 stude
40、ntscore 存储了学生所修课程的成绩。为了保证表中数据的唯一性,用课程号 course_id 和学生学号 stu_ id 作为联合主键。此表的课程号 course_id,学生学号 stu_id 分别与排课计划表 course_ arrange 的课程号 course_id,学生信息表student_info 的学生学号 stu_id 外键关联。当排课计划表 course_arrange 的数据或者学生信息表 student_info 的数据被删除时,学生成绩表 studentscore 的对应数据也会被数据库自动删除。学生成绩如表 2-10 所示。基于 B/S 模式的工程硕士教学与学籍管理
41、系统的设计和实现11表 2-10 学生成绩表 studentscore字段名 描述 类型 长度 是否允许为空 主键course_id 课程号 INTEGER 否 是stu_id 学生学号 VARCHAR 11 否 是score 学生成绩 FLOAT 否 否11.留言板信息表 message_info 存储了一条留言的基本信息:留言者,留言者 IP,留言时间和留言内容。以一个自增的 int 型字段作为主键。留言板信息如表 2-11 所示。表 2-11 留言板信息表 message_info字段名 描述 类型 长度 是否允许为空 主键id 信息编号 INTEGER 否 是author 留言者 VA
42、RCHAR 20 否 否ip 留言者 IP VARCHAR 45 否 否add_time 留言时间 VARCHAR 100 否 否content 留言内容 TEXT 否 否12.留言板回复信息表 message_answer_info 存储了一条留言的回复的内容。此表message_answer_info 的信息编号 message_id 与留言板信息表 message_info 的信息编号message_id 外键关联。当留言板回复信息表 message_answer_info 的留言数据被删除时,留言板回复信息表 message_answer_info 的相应回复也会被数据库删除的。留言板
43、回复信息如表 2-12 所示。表 2-12 留言板回复信息表 message_answer_info字段名 描述 类型 长度 是否允许为空 主键message_id 信息编号 INTEGER 否 否content 回复内容 TEXT 否 否各表之间的对应关系如图 2-3 所示。基于 B/S 模式的工程硕士教学与学籍管理系统的设计和实现12图 2-3 数据表间的关系图中的对应关系为:1.一个学生只有一位导师,而一位导师可以指导多名学生。2.一个学生可以选修多门课程,一门课程可供多名学生选修。3.一个学生有多门课程的成绩,一门课程的成绩也是多个学生的成绩集合。4.一门开课可以多次排课,一次排课只属
44、于一门开课。5.一门专业选修课只有两种状态可选和非可选,一种状态为多门专业选修课拥有。6.一门课程可由多名老师授课,一位老师可以多门课程。7.一条留言只有一条回复,一条回复只 属于一条留言。基于 B/S 模式的工程硕士教学与学籍管理系统的设计和实现13基于 B/S 模式的工程硕士教学与学籍管理系统的设计和实现14第三章 开发环境3.1 开发语言 JSP根据系统的功能和特点,我们小组成员经过讨论,决定采用 JSP 作为系统的开发语言。JSP(Java Server Pages)是由 Sun Microsystems 公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP 是在传统的网页 H
45、TML 文件(*.htm,*.html)中插入 Java 程序段(Scriptlet)和 JSP 标记(tag),从而形成 JSP 文件(*.jsp)。作为新一代站点开发语言,JSP为创建显示动态内容的 Web 页面提供了一个简捷而快速的方法。同目前常用的两种动态网页语言 ASP ( Active Server Pages) , PHP (Hypertext Preprocessor)相比,JSP 完全解决了他们一个通病脚本执行。JSP 具有很多优势:1.将内容的产生和显示进行分离使用 JSP 技术,Web 页面开发人员可以使用 HTML 或者 XML 标识来设计和格式化最终页面。使用 JSP
46、 标识或者小脚本来产生页面上的动态内容,产生内容的逻辑被封装在标识和JavaBeans 群组件中,并且捆绑在小脚本中,所有的脚本在服务器端执行。如果核心逻辑被封装在标识和 Beans 中,那么其它人,如 Web 管理人员和页面设计者,能够编辑和使用 JSP页面,而不影响内容的产生。在服务器端,JSP 引擎解释 JSP 标识,产生所请求的内容(例如,通过存取 JavaBeans 群组件,使用 JDBC 技术存取数据库),并且将结果以 HTML(或者XML)页面的形式发送回浏览器。这有助于作者保护自己的代码,而又保证任何基于 HTML的 Web 浏览器的完全可用性。2.强调可重用的群组件绝大多数
47、JSP 页面依赖于可重用且跨平台的组件(如:JavaBeans 或者 Enterprise JavaBeans)来执行应用程序所要求的更为复杂的处理。开发人员能够共享和交换执行普通操作的组件,或者使得这些组件为更多的使用者或者用户团体所使用。基于组件的方法加速了总体开发过程,并且使得各种群组织在他们现有的技能和优化结果的开发努力中得到平衡。3.采用标识简化页面开发JavaServer Page 技术封装了许多功能,这些功能是在易用的、与 JSP 相关的 XML 标识中进行动态内容产生所需要的。标准的 JSP 标识能够存取和实例化 JavaBeans 组件,设定或者检索群组件属性,下载 Appl
48、et,以及执行用其它方法更难于编码和耗时的功能。基于 B/S 模式的工程硕士教学与学籍管理系统的设计和实现15通过开发定制化标识库,JSP 技术是可以扩展的。第三方开发人员和其它人员可以为常用功能建立自己的标识库。这使得 Web 页面开发人员能够使用熟悉的工具和如同标识一样的执行特定功能的构件来工作。JSP 技术很容易整合到多种应用体系结构中,以利用现存的工具和技巧,并且扩展到能够支持企业级的分布式应用。作为采用 Java 技术家族的一部分,以及 Java 2EE 的一个成员,JSP 技术能够支持高度复杂的基于 Web 的应用。由于 JSP 页面的内置脚本语言是基于 Java程序设计语言的,而
49、且所有的 JSP 页面都被编译成为 Java Servlet,JSP 页面就具有 Java技术的所有好处,包括健壮的存储管理和安全性。JSP 可以一次编写,可到处运行,系统的多平台支持。JSP 基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。具有强大的可伸缩性,也有多样化和功能强大的开发工具支持。JSP 有六种内置对象:request, response, session, application, out,cookie。3.2 数据库 MYSQL在数据库方面,选用 MYSQL。因为它的运行速度很快,体积小、速度快、总体拥有成本低,源码开放,支持标准查询语言 SQL,对一般 web 的开发可以达到非常理想的效果。MySQL 是一种开放源代码的关系型数据库管理系统(RDBMS) ,MySQL 因为其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,MySQL 是管理内容最好的选择。同目前流行的另一种后台数据库 SQL Server 相比,MySQL 具有如下特点:1.可扩展,开放的存储引擎SQL Server 服务器的存储引擎是狭隘的,保守的,而 MySQL 服务器的存储引擎是可扩展,开放的。可以使用 SQL Server 服务器的 Sybase 引擎,但