学生信息管理系统课程设计说明书
学生信息管理系统设计说明书

学生信息管理系统设计说明书一、引言1、编写目的:本文档是对学生信息管理系统的一个总体的把握,以便在下一步的开发设计中更好的控制开发,并且对其他教育系统有良好的接口。
设计系统的架构,以便使系统的开发能有效进行。
2、背景该项目的名称为“学生信息管理系统”。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
作为计算机应用的一部分,使用计算机对学生成绩信息进行管理,具有手工管理所无法比拟的优点。
例如,检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高学生档案管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。
因此,开发学生成绩管理系统很有必要。
3、定义学生成绩管理:对学生的基本信息、课程选择、成绩的录入、修改、删除、查询等一系列的操作。
4、参考资料《软件工程》《管理信息系统二、总体设计1、需求规定功能;能够实现老师和学生对成绩的管理,即完成一些基本的功能,查询,修改,删除,添加等,同时也要实现权限的管理。
性能:信息中心提供的学生成绩管理信息必须及时的反应出来,老师和学生能够及时的进行对成绩的管理输入要求:数据完整,详实。
输出要求:简洁,快速,实时。
说明对于该软件的时间特性要求,响应时间:少于3秒。
更新处理时间:少于2秒。
数据的转换盒传送时间:少于5秒。
说明对该软件的灵活性要求,即当需求发生某些变化时,该软件对这些变化的适应能力操作方式上的变化:更新性变化运行环境的变化:在WindowsXP或以上的版本都能运行2、运行环境服务器处理型号及内存容量:WindowsXP 主频2G,内存在512M以上即可;客户端:由于这系统是BS系统(浏览器访问模式),客户端只需借用浏览器即可;服务器数据库:MYSQL服务器:tomcat6.0服务器操作系统:WindowsXP 3、基本设计概念和处理流程软件的总体层次图:4、结构5、功能需求与程序的关系6、人工处理过程1.用户身份验证处理流程输入:用户名和密码。
学生管理系统详细设计说明书

软件详细设计说明书一、引言:1.编写目的:编写此文档的目的是为了更好的分析学生信息管理系统的细节问题,有利于软件的开发和使用。
本文档面向的读者主要是学校行政管理人员,希望能使本软件开发工作更具体直观。
2.编写目的该详细设计说明书是对学生信息管理系统的详细设计说明,有利于该软件的开发和使用,并作为开发该软件的一个文档。
3.项目背景:项目委托单位:***学校开发单位:学生信息管理系统开发小组工程的名称:学生信息管理系统工程产品的名称:学生信息管理系统工程组织者:学生信息管理系统开发小组产品用户:教育工作的行政人员产品设计者:学生信息管理系统开发小组产品生产者:学生信息管理系统开发小组产品所有权:学生信息管理系统开发小组拥有4.定义没有特别的专门词组以及外文词组5. 参考资料《软件工程导论(第四版)》——张海藩编著清华大学出版社《Visual Basic实验指导与测试(第二版)》——龚沛曾等编著高等教育出版社《数据库系统概论》——萨师煊王珊编著高等教育出版社二、系统的结构三、模块设计说明模块1:学生成绩(cj)说明3.1.1模块描述保存学生成绩的相关信息3.1.2性能对学生成绩输入3.1.3输入项学号、学期、类型、课程名、分数。
3.1.4输出项查询时显示:学号、学期、类型、课程名、分数。
3.1.5设计方法(算法)对于本软件,采用数据的输入输出与vb数据库链接等基本算法。
3.1.6流程逻辑3..1.7接口本模块与其它相关模块间根据学生学号平行方式连接。
3..1.8存储分配无特别存储分配的需要。
3.1.9注释设计程序说明性注释3.1.10限制条件本模块在运行使用中无特别限制条件。
3.1.11测试计划本模块针对学生成绩,在测试时要求对测试输入数据到数据库,同时能够在外部查询时准确的读出数据。
3.1.12尚未解决的问题对数据库的链接模块2:班级信息(class)说明3.2.1模块描述保存班级的相关信息3.2.2性能对学生班级信息的输入3.2.3输入项年级、班级、教室、年制、专业、班主任、备注3.2.4输出项查询时显示:年级、班级、教室、年制、专业、班主任、备注。
学生信息管理系统 系统设计说明书

学生信息管理系统系统设计说明书班级:组长:小组成员指导老师:时间:目录1.学生信息管理系统分析 (3)1.1系统需求分析 (3)1.1.1系统开发背景 (3)1.1.2功能结构图 (4)1.2系统业务流程调查分析 (4)1.3系统数据流程调查分析 (7)1.4数据字典 (8)1.4.1数据项 (8)1.4.2数据结构 (8)1.5系统逻辑处理分析 (9)2.系统设计......................................... 错误!未定义书签。
2.1数据库设计................................. 错误!未定义书签。
2.1.1 概念模型设计(系统总E-R图)......... 错误!未定义书签。
2.1.2 逻辑模型设计........................ 错误!未定义书签。
2.1.3 物理模型设计........................ 错误!未定义书签。
2.2系统处理流程设计 (16)3、系统实施 (17)3.1欢迎界面的设计 (17)3.2登陆界面的设计 (18)3.3系统主程序界面的设计 (20)3.4功能界面的设计 (22)4.总结 (23)学生信息管理系统1.学生信息管理系统分析1.1系统需求分析1.1.1系统开发背景系统的功能取决开用户的需求。
学生信息档案的管理对于学校的管理者来说至关重要,学生信息是高等学校非常重要的一项数据资源,是一个教育单位不可缺少一部分。
特别是近几年来,国家政策的调整,我国高等院校大规模的扩招,给高等院校的教学管理、学生管理、后勤管理等方面都带来不少的冲击。
数据量大,涉及的人员面广,而且需要及时更新,难以单纯地依靠人工管理,而且传统的人工管理方式既不易于规范化,管理效率也不高,目前我国各类高等院校中还有相当一部分学生档案管理还停留在纸介质的基础上,尤其是中、小学对学生档案的管理更是落后,这样的管理机制已经不能适应时代发展的要求,其管理方法将浪费许多人力和物力。
学生信息管理系统课程设计说明书

宜春学院数学与计算机科学学院课程设计说明书课程名称:课程设计课程代码:题目:学生信息管理系统设计说明书年级/专业/班:12软件工程学生姓名:学号:指导教师:开题时间: 2014 年 12 月 08 日完成时间: 2014 年 12 月 27目录一、引言............................................................................................... 错误!未指定书签。
二、设计目的与任务............................................................................... 错误!未指定书签。
三、设计方案........................................................................................... 错误!未指定书签。
四、结论............................................................................................... 错误!未指定书签。
五、致谢............................................................................................... 错误!未指定书签。
六、参考文献........................................................................................... 错误!未指定书签。
课程设计一、引言随着国际互联网的发展,越来越多的企业开始建造自己的网站。
基于的信息服务,商务服务已经成为现代企业一项不可缺少的内容。
学生信息管理系统课程设计说明书

《数据库原理课程设计》任务书题目:高校学生信息管理系统学生姓名:学号:班级:题目类型:软件工程(R)指导教师:一、数据库课程设计题目简介该设计要求学生以兰州理工大学学生档案管理业务为背景,设计、开发一套“高校学生信息管理系统”软件。
通过该题目的设计、开发,使学生初步得到数据库开发的训练,全面培养软件开发过程中的分析、设计、编码、测试及文档规范书写的能力,得到软件开发的综合训练,提高解决实际问题的能力。
二、数据库课程设计的任务1、查阅文献资料,一般在10篇以上;2、以客户关系管理系统为背景,通过调研、分析现有的管理模式和已有的管理软件,建立系统模型;3、完成软件结构设计、数据库设计和算法设计;4、完成客户关系管理系统的软件开发和测试工作。
5、撰写设计说明书;6、做好答辩工作。
三、数据库课程设计的主要内容、功能及技术指标1、系统功能的基本要求:(1)整个系统由学生基本信息管理子系统、学生奖励惩罚信息管理子系统、学生毕业工作信息管理子系统等组成;(2)系统要实现基本信息录入、修改、查询等功能;2、数据库要求:(在数据库中至少应该包含下列数据表)(1)学生基本表。
包括的数据项有:学号、姓名、性别、民族、出生年月、籍贯、培养方式、政治面貌、所在院系、专业、家庭住址、通讯地址、邮政编码、联系人、联系电话等。
(2)奖励惩罚信息表。
包括的数据项有:奖励、惩罚名称、原因、各种评价等。
(3)毕业工作信息表。
包括的数据项有:毕业情况、毕业去向、档案派遣地、户口派遣地等。
3、其它要求:(1)系统要实现满足多种条件的统计分析功能,有些统计数据要采用图表的格式呈现;(2)系统要有一定的安全控制策略;(3)系统要采用实际数据进行测试。
四、数据库课程设计提交的成果1. 课程设计说明书一份, A4打印稿,正文部分要求不少于20 页,所有英文字体采用Arial。
正文及目录格式参考(毕业设计论文格式要求)正文内容包括:(1) 需求分析;(2) 数据库概念结构设计;(3) 数据库逻辑结构设计;(4) 数据流图及程序结构框图;(5) 程序源代码及其说明;(6) 总结;(7) 参考文献。
学生信息管理系统详细设计说明书最新版本

学生信息管理系统详细设计说明书最新版本学生信息管理详细设计说明书1引言1.1编写目的说明编写这份详细设计说明书的目的,更好的详细分析学生信息管理系统的细节问题,有利于软件的开发和使用。
本文档面向的读者主要是学校管理人员,编码人员及其学生,希望能使本软件开发工作更具体直观1.2背景1.3背景学生信息管理系统是由任课老师赵老师提出,由软件101班学生编写,用户是学校管理人员以及徐州工业职业技术学院的所有师生。
1.3定义计算机的程序设计语言。
学生信息管理系统:对学生的信息进行管理操作。
1.4参考资料a.本项目的经核准的计划任务书;b.可行性分析报告;c.需求分析说明书;d.概要设计说明书;e.《实用软件工程与实训》。
2程序系统的结构3 程序设计说明3.1程序描述该程序段是学生信息管理系统,它包括普通用户和管理员的登录界面,,使用户以自己的身份(管理员或学生)登录进入学生信息管理系统。
管理员可以对学生信息添加,查询,删除以及修改等操作,而普通用户的权限则没有,普通用户只可以查看和查询自己的信息。
3.2功能3.3性能操作简便,应用能力强,安全性高,可维护性好。
3.4输人,输出项1、登录信息正确,则进入与用户身份一致的信息管理界面;2、登录信息不正确,则在登录界面输出提示信息:请重新输入登录信息!3.5算法3.7流程逻辑3.8接口3.9存储分配数据库与存储架构分配。
3.10注释设计每个用户使用的功能及权限都要受到相应的限制,用户在登录时要受到密码及用户名的限制。
而且用户的权限也不相同,一般用户没有随便修改资料的权限。
保证信息的安全性高。
3.11限制条件本程序要求电脑配置不高,在学校的机房即可完成。
3.12测试计划3.12尚未解决的问题操作流程以及数据库的详细设计。
[此文档可自行编辑修改,如有侵权请告知删除,感谢您的支持,我们会努力把内容做得更好]。
学生信息管理系统详细设计说明书-V1

学生信息管理系统详细设计说明书-V1
本文将重新整理“学生信息管理系统详细设计说明书”的内容,旨在为读者提供一个清晰的结构和条理分明的阅读体验。
以下是本文的主要内容:
一、背景介绍
本章将介绍学生信息管理系统设计的背景和目的。
二、系统需求分析
本章将概述学生信息管理系统的需求和功能。
三、系统架构设计
本章将解释学生信息管理系统的架构组成和各个模块之间的关系。
四、数据库设计
本章将详细描述学生信息管理系统的数据库设计和相关表结构。
五、界面设计
本章将介绍学生信息管理系统的用户界面设计和交互体验。
六、系统安全设计
本章将说明学生信息管理系统的安全设计和应对安全问题的策略。
七、系统部署与维护
本章将概述学生信息管理系统的部署和维护相关的考虑与流程。
八、总结与展望
本章将简要回顾学生信息管理系统的设计过程并展望其未来可能的发
展。
以上就是本文的主要内容框架。
在这篇文章中,我们将对学生信息管理系统进行详细的设计说明,从背景介绍到系统需求分析,再到系统架构设计和数据库设计等方面进行阐述,同时也会考虑安全性和用户交互,最后对系统的部署和维护也会进行介绍。
通过本文的分享,相信读者们对学生信息管理系统的设计与开发都能有更深入的理解和认识。
学生管理信息系统设计详细说明说明书

详细说明说明书1.引言1.1编写目的详细设计说明书是对该学生信息系统架构进行详细直观描述,从而完成详细设计,作为软件实现的基础。
本详细说明说明书读者对象为ⅹⅹ学院教务处专业计算机系统开发人员。
1.2项目背景学生信息管理系统对学校加强学生信息管理有着极其重要的作用,由于ⅹⅹ学院的学生数量不断增加,传统的手工信息管理不仅工作量大,而且容易出现问题,不方便管理,开发出方便快捷的学生信息管理系统,实现学院学生信息管理信息化。
系统开发提出者:ⅹⅹ学院教务处开发者:ⅹⅹⅹⅹⅹⅹⅹⅹ系统使用者:ⅹⅹ学院教务处1.3定义总体设计:即对有关系统全局问题的设计,也就是设计系统总的处理方案,又称系统概要设计。
它包括:计算机配置设计、系统模块结构设计、数据库和文件设计、代码设计以及系统可靠性与内部控制设计等内容。
接口设计:即一些方法头和大量常量属性的结合。
数据结构设计:即给出本系统内所使用的每个数据结构的名称、标识符以及它们之中每个数据项、记录、文卷和系的标识、定义、长度及它们之间的层次的或表格的相互关系。
运行设计:即对系统施加不同的外界运行控制时所引起的各种不同的运行模块组合,说明每种运行所历经的内部模块和支持软件。
出错设计:即用一览表的方式说朗每种可能的出错或故障情况出现时,系统输出信息的形式、含意及处理方法。
1.4参考资料[1]黄梯云《管理信息系统》. 高等教育出版社.[2] 张海潘《软件工程》. 人民邮电出版社.[3]谭浩强《C语言设计》. 清华大学出版社.[4]萨师煊,王珊. 数据库系统概论第三版.高等教育出版社[5]李楠、祁梅. Visual Basic5.0编程实例及技巧 .人民邮电出版社[6]启明工作室. Visual Basic + Access数据库应用系统开发与实例 .人民邮电出版社2.总体设计2.1需求概述学生作为学校的主体,在学校的日常工作中有着举足轻重的地位,学生工作能否顺利高效地完成是学校日常工作的重要评判标准,所以,新的学生信息管理系统应用之后一定会受大广大学生工作者的倾睐,给他们带来愉快的体验。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
宜春学院数学及计算机科学学院课程设计说明书课程名称: JSP课程设计课程代码:题目:学生信息管理系统设计说明书年级/专业/班: 12软件工程学生姓名:学号:指导教师:开题时间: 2014 年 12 月 08 日完成时间: 2014 年 12 月 27目录一、引言 (2)二、设计目的及任务 (2)三、设计方案 (3)四、结论 (28)五、致谢 (28)六、参考文献.................................... 错误!未定义书签。
课程设计一、引言随着Internet国际互联网的发展,越来越多的企业开始建造自己的网站。
基于Internet的信息服务,商务服务已经成为现代企业一项不可缺少的内容。
很多企业都已不满足于建立一个简单的仅仅能够发布信息的静态网站。
现代企业需要的是一个功能强大的,能提供完善的电子商务服务的动态商务网站。
同时人们的生活方式也在随着发生改变,传统的购物方式已不能满足人们的需求。
JSP是Sun公司推出的一种网站开发技术,Sun公司借助自己在Java 上的不凡造诣,又把人们引进JSP时代,JSP即Java Server Page,它可以在Servlet和JavaBean的支持下,完成功能强大的Web应用程序。
所以,在我的毕业设计中,我采用了JSP作为开发工具,构建了一个能实现基本的信息管理的小型动态网站——学生信息管理系统。
二、设计目的及任务该系统为广大高校的学生提供学生信息管理平台。
它作为现代化管理工具,把同学们的信息在网上实现信息的保存,修改,插入操作,有效提高了管理的效率。
为了完成所选项目的任务,要求实现以下目标:(1)向广大的同学们介绍本系统在管理方面的优越性,可靠性,实用性,必要性(2)利用B/S的体系结构建立管理系统的理论模型(3)使用jsp进行功能模块的定制和交互界面的具体开发(4)系统的维护方案通过以上内容的研究,将开发出一套使用方便,功能型强的学生信息管理系统要完成的任务:(1)根据系统的使用范围结合实际情况对系统需求分析文档进行编写(2)根据需求分析,对系统的代码进行合理的编写(3)代码的调试和运行三、设计方案3.1 学生信息管理系统需求分析1、软件功能总体需求描述及各子系统功能要求2、系统角色分析按软件工程的方法完成系统所涉及角色的分析角色分为1种:(1)用户: 对本系统拥有所有权限,包括增加,修改,查询,删除学生信息和班级信息的权限。
3、系统用例分析及建模在这一节我们将以“体系结构”为中心,以“用例驱动”的分析方法采用UML来完成系统需求阶段模型的建立,在这一阶段的主要完成的任务是根据上一节中分析得出的系统参及者,从参及者的角度出发完成用例的分析,采用面向对象的方法用UML为系统建立用例模型(1)用户用例模型4、系统用例描述上一节从系统参及者的角度建立了整个系统的用例模型,下面我们将对前面得到的用例进行描述,在用例描述中我们将为每个用例进行编号,确定用例名称,对每个用例的功能进行简要的描述,明确每个用例的参及者以及执行该用例需要的前置条件和执行完用例的后置条件,并且会对每个用例的活动流程进行描述。
(1)学生信息管理学生信息增加用例描述用例编号:01用例名称:增加学生信息功能:向数据库中添加学生信息执行者:用户前置条件:用户已经登录本系统后置条件:增加的学生信息能够保存到数据库主事件流:1、登录学生信息管理系统;2、进入学生信息添加界面;3、确定信息无误后进行添加;3.2 系统分析及设计1、系统总体设计从需求上来讲,学生信息管理系统在总体架构上并不复杂,因此可以使用简单的三层架构来实现。
具体的系统逻辑架构图2、学生信息管理系统静态结构模型在本节中我们将根据前面定义的系统需求以及建立的学生信息管理系统用例模进行进一步的分析,寻找发现系统中存在的类、类的相关的属性和方法,并且找出这些类之间的关系,同时为学生信息管理系统建立系统的静态模型,最终得到完整的系统类图以及它们之间的关系,这个过程也是面向对象分析的基本任务 [13]。
(1)识别学生信息管理系统中的类用例识别法、实体识别法和名词识别法是在这阶段采用的主要方法,在这一阶段我们主要是对前面定义的需求以及建立的用例模型分析来找出系统中的持久类,持久类的确立也可以为我们后面的数据设计工作打下良好的基础。
下面我们来描述学生信息管理系统涉及到的主要的实体类的属性和方法,主要包括了以下几种:1、用户信息类(StudentInformation)用户信息类描述了学生信息管理系统中用户的基本信息,包括:用户姓名、密码。
2、系统用户界面类以上分析得到的是系统的实体类,在系统在完成这些实体类的操作用户还需要通过界面来完成,这些用户及系统之间的交互的界面也属于系统类,一般称为界面类,一个好的系统通常具备友好的图形用户界面,因此,还需要找出并定义系统中的界面类。
3、学生信息管理系统动态模型的建立前面建立的用例模型和类模型只是对系统具备的功能和需要处理的数据进行了描述,而一个系统的这些功能是如何实现的,对数据如何操作的并不能体现出来,而要使一个系统描述更完整,在面向对象的分析方法中还需要采用动态模型从另一个角度来对系统进行描述,系统的动态模型图主要由以下几种图组成:协作图、时序图、状态图和活动图,它们对系统描述的侧重点各不相同,在接下来的分析中我们将采用状态图来描述对象在系统运行过程中状态的变化,用活动图和顺序图对系统用例进行进一步的描述 [16] 。
(1)系统活动图1、登录活动图登录活动对任何一个系统来说都是最基本的活动之一,在学生信息管理系统中登录活动主要验证用户的用户名和密码如果验证通过就可以进入系统的主界面,根据需求及相关工作流程画出其活动图如图所示。
图1 登录活动图4、数据库设计1.概念设计2、逻辑设计设计数据库的逻辑结构,及具体的DBMS无关,主要反映业务逻辑。
3、物理设计(1)确定数据的存储结构:顺序存储和链式存储(2)设计数据的存取路径:E:\学生信息管理系统(3)确定数据的存放位置:E:\学生信息管理系统\Database\(4)确定系统配置:MYSQL,ECLIPSE , WIN7系统4、数据库表设计数据库表结构设计如下所示:(1)用户信息表如下表所示:用户信息表(2)学生表如下表所示:(3)班级表如下表所示:列名是否主键数据类型长度备注: Id 是int11班级idgradeName否varchar 20班级名称gradeDesc否varchar1000班级描述3.3学生信息管理系统的实现在系统实现部分主要完成两项工作:把前期面向对象设计的成果用jsp实现;测试并调试实现的程序。
在代码实现阶段以前期的分析及设计为基础,以用例为驱动来实现各个功能模块,除了功能上及设计阶段的各功能保持一致之外还应该注重代码的风格和系统的界面设计,在代码实现时良好的程序风格比较重要同时系统的界面设计也应该得到重视,用户界面设计的一条总的原则是:以人为本,以用户的体验为准。
学生信息管理系统部分功能模块的实现(1)学生信息管理系统登录功能模块该界面主要用来完成对登录用户身份的验证。
运行系统首先进入登录界面,输入用户名、密码,验证通过后进入主界面。
该模块通过对用户帐号和用户密码的验证来完成对用户登录身份的验证,登录界面如图所示。
学生信息管理系统登录界面图核心代码:package com.dao;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import er;public class UserDao {//登陆验证public User login(Connection conn,User user) throws Exception{User resultUser = null;String sql = "select * from t_user where userName=? and password=?";PreparedStatement pstmt = conn.prepareStatement(sql);pstmt.setString(1, user.getUserName());//设置第一个问号的内容pstmt.setString(2, user.getPassword());ResultSet rs = pstmt.executeQuery();if(rs.next()){resultUser = new User();resultUser.setUserName(rs.getString("userName"));resultUser.setPassword(rs.getString("password"));}return resultUser;}}package com.model;public class User {private int id;private String userName;private String password;public User() {super();// TODO Auto-generated constructor stub}public User(String userName, String password) { super();erName = userName;this.password = password;}public int getId() {return id;}public void setId(int id) {this.id = id;}public String getUserName() {return userName;}public void setUserName(String userName) { erName = userName;}public String getPassword() {return password;}public void setPassword(String password) { this.password = password;}}package com.servlet;import java.io.IOException;import java.sql.Connection;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;import erDao;import er;import com.util.DbUtil;import com.util.StringUtil;public class LoginServlet extends HttpServlet {DbUtil dbUtil = new DbUtil();UserDao userDao = new UserDao();@Overrideprotected void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {this.doPost(request, response);}@Overrideprotected void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {String userName = request.getParameter("userName");String password = request.getParameter("password");request.setAttribute("userName", userName);request.setAttribute("password", password);if(StringUtil.isEmpty(userName) || StringUtil.isEmpty(password)){request.setAttribute("error", "用户名或密码为空!");request.getRequestDispatcher("login.jsp").forward(request, response);return;}User user = new User(userName,password);Connection conn = null;try {conn = dbUtil.getCon();User currentUser = userDao.login(conn, user);if(currentUser == null){request.setAttribute("error", "用户名或密码错误!");//服务器端跳转request.getRequestDispatcher("login.jsp").forward(request, response);}else{//获取sessionHttpSession session = request.getSession();session.setAttribute("currentUser",currentUser);//客服端跳转response.sendRedirect("index.jsp");}} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();} finally {try {dbUtil.closeCon(conn);} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}}}(2)学生信息管理系统班级信息管理模块这部分能对班级的信息进行增,删,改,查,基本上满足动态网站的要求:班级信息管理界面图核心代码:package com.model;public class Grade {private int id;private String gradeName;private String gradeDesc;public Grade() {super();// TODO Auto-generated constructor stub }public Grade(String gradeName, String gradeDesc) { super();this.gradeName = gradeName;this.gradeDesc = gradeDesc;}public int getId() {return id;}public void setId(int id) {this.id = id;}public String getGradeName() {return gradeName;}public void setGradeName(String gradeName) { this.gradeName = gradeName;}public String getGradeDesc() {return gradeDesc;}public void setGradeDesc(String gradeDesc) { this.gradeDesc = gradeDesc;}}package com.dao;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import com.model.Grade;import com.model.PageBean;import com.util.StringUtil;public class GradeDao {public ResultSet gradeList(Connection con,PageBean pageBean,Grade grade)throws Exception{StringBuffer sb=new StringBuffer("select * from t_grade");if(grade!=null && StringUtil.isNotEmpty(grade.getGradeName())){sb.append(" and gradeName like '%"+grade.getGradeName()+"%'");}if(pageBean!=null){sb.append(" limit "+pageBean.getStart()+","+pageBean.getRows());}PreparedStatementpstmt=con.prepareStatement(sb.toString().replaceFirst("and", "where"));return pstmt.executeQuery();}public int gradeCount(Connection con,Grade grade)throws Exception{StringBuffer sb=new StringBuffer("select count(*) as total from t_grade");if(StringUtil.isNotEmpty(grade.getGradeName())){sb.append(" and gradeName like '%"+grade.getGradeName()+"%'");}PreparedStatementpstmt=con.prepareStatement(sb.toString().replaceFirst("and", "where"));ResultSet rs=pstmt.executeQuery();if(rs.next()){return rs.getInt("total");}else{return 0;}}/*** delete from tableName where field in (1,3,5)* @param con* @param delIds* @return* @throws Exception*/public int gradeDelete(Connection con,String delIds)throws Exception{String sql="delete from t_grade where id in("+delIds+")";PreparedStatement pstmt=con.prepareStatement(sql);return pstmt.executeUpdate();}public int gradeAdd(Connection con,Grade grade)throws Exception{String sql="insert into t_grade values(null,?,?)";PreparedStatement pstmt=con.prepareStatement(sql);pstmt.setString(1, grade.getGradeName());pstmt.setString(2, grade.getGradeDesc());return pstmt.executeUpdate();}public int gradeModify(Connection con,Grade grade)throws Exception{String sql="update t_grade set gradeName=?,gradeDesc=? where id=?";PreparedStatement pstmt=con.prepareStatement(sql);pstmt.setString(1, grade.getGradeName());pstmt.setString(2, grade.getGradeDesc());pstmt.setInt(3, grade.getId());return pstmt.executeUpdate();}}package com.servlet;import java.io.IOException;import java.sql.Connection;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import net.sf.json.JSONArray;import net.sf.json.JSONObject;import com.dao.GradeDao;import com.model.Grade;import com.model.PageBean;import com.util.DbUtil;import com.util.JsonUtil;import com.util.ResponseUtil;public class GradeListServlet extends HttpServlet{ DbUtil dbUtil=new DbUtil();GradeDao gradeDao=new GradeDao();@Overrideprotected void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {this.doPost(request, response);}@Overrideprotected void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {String page=request.getParameter("page");String rows=request.getParameter("rows");String gradeName=request.getParameter("gradeName");if(gradeName==null){gradeName="";}Grade grade=new Grade();grade.setGradeName(gradeName);PageBean pageBean=new PageBean(Integer.parseInt(page),Integer.parseInt(rows));Connection con=null;try{con=dbUtil.getCon();JSONObject result=new JSONObject();JSONArrayjsonArray=JsonUtil.formatRsToJsonArray(gradeDao.gradeList(con, pageBean,grade));int total=gradeDao.gradeCount(con,grade);result.put("rows", jsonArray);result.put("total", total);ResponseUtil.write(response, result);}catch(Exception e){e.printStackTrace();}finally{try {dbUtil.closeCon(con);} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}}}package com.servlet;import java.io.IOException;import java.sql.Connection;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import net.sf.json.JSONObject;import com.dao.GradeDao;import com.dao.StudentDao;import com.util.DbUtil;import com.util.ResponseUtil;public class GradeDeleteServlet extends HttpServlet{ DbUtil dbUtil=new DbUtil();GradeDao gradeDao=new GradeDao();StudentDao studentDao=new StudentDao();@Overrideprotected void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {this.doPost(request, response);}@Overrideprotected void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {String delIds=request.getParameter("delIds");Connection con=null;try{con=dbUtil.getCon();JSONObject result=new JSONObject();String str[]=delIds.split(",");for(int i=0;i<str.length;i++){boolean f=studentDao.getStudentByGradeId(con, str[i]);if(f){result.put("errorIndex", i);result.put("errorMsg", "班级下面有学生,不能删除!");ResponseUtil.write(response, result);return;}}int delNums=gradeDao.gradeDelete(con, delIds);if(delNums>0){result.put("success", "true");result.put("delNums", delNums);}else{result.put("errorMsg", "删除失败");}ResponseUtil.write(response, result);}catch(Exception e){e.printStackTrace();}finally{try {dbUtil.closeCon(con);} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}}}package com.servlet;import java.io.IOException;import java.sql.Connection;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import net.sf.json.JSONArray;import net.sf.json.JSONObject;import com.dao.GradeDao;import com.model.Grade;import com.model.PageBean;import com.util.DbUtil;import com.util.JsonUtil;import com.util.ResponseUtil;import com.util.StringUtil;public class GradeSaveServlet extends HttpServlet{ DbUtil dbUtil=new DbUtil();GradeDao gradeDao=new GradeDao();@Overrideprotected void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {this.doPost(request, response);}@Overrideprotected void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {request.setCharacterEncoding("utf-8");String gradeName=request.getParameter("gradeName");String gradeDesc=request.getParameter("gradeDesc");String id=request.getParameter("id");Grade grade=new Grade(gradeName,gradeDesc);if(StringUtil.isNotEmpty(id)){grade.setId(Integer.parseInt(id));}Connection con=null;try{con=dbUtil.getCon();int saveNums=0;JSONObject result=new JSONObject();if(StringUtil.isNotEmpty(id)){saveNums=gradeDao.gradeModify(con, grade);}else{saveNums=gradeDao.gradeAdd(con, grade);}if(saveNums>0){result.put("success", "true");}else{result.put("success", "true");result.put("errorMsg", "保存失败");}ResponseUtil.write(response, result);}catch(Exception e){e.printStackTrace();}finally{try {dbUtil.closeCon(con);} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}}}四、结论本次JSP的课程设计对我们来说是一个很好地锻炼机会,是对我们语言组织能力和表达能力的一次考验。