jsp学生管理系统课程设计报告
jsp学生管理系统课程设计报告
目录一.概述 (3)二.系统的结构分析与设计 (3)2.1 整体设计 (3)2.2 模块设计 (4)三.系统的实现 (5)3.1 登录界面 (5)3.2 学生信息界面 (6)3.3 学生信息查询,编辑,新增界面 (7)3.4 连接数据库 (11)四.总结................................................................................................. .16一概述一直以来学生的成绩管理是学校工作中的一项重要内容,我国的大中专院校的学生成绩管理水平普遍不高。
随着办学规模的扩大和招生人数的增加,建立一个成绩维护系统是非常必要的。
普通的成绩管理已不能适应时代的发展,因为它浪费了许多的人力和物力。
在当今信息时代这种传统的管理方法必然被以计算机为基础的信息管理系统所代替。
为了提高成绩管理的效率,我选择了学生成绩管理系统作为毕业设计的课题。
本系统在大多数成绩管理系统的基础上,主要增加了教师对成绩的操作,教师改完试卷后不用在往学院的教务处办公室报送成绩,可以直接的把成绩上传到网络上,学生也可以方便快速的查询到自己的成绩,考试后教务管理人员也不必总呆在学院的办公室,他们都不受时间,位置,空间的限制,只要有上网的条件,在家里就可二系统的结构分析与设计2.1 整体结构设计基于系统的使用对象是管理员,系统根据功能需要分为三个模块,即学生基本信息管理、新增学生信息管理和查询学生信息管理。
采用B/S模式,jsp+SQL 2008+JavaBean 的技术形式实现。
2.1.1 用户角色设计及权限分配管理员:拥有管理系统所有功能的权限,同时负责系统的用户的增删,服务功能的起停,数据的备份、还原等维护操作;2.1.2 系统模块设计学生信息管理系统包括三个基本模块:学生基本信息管理、新增学生信息管理和查询学生信息管理。
三个模块管理功能不一,同时相互之间又有联系。
基于JSP设计的教务系统中的学生信息管理系统课程报告
JSP程序设计与网站开发课程报告教务管理系统中学生信息管理1、模块简介1.1登录模块用户输入用户名和密码,jsp页面把得到的用户名和密码与数据中的数据进行对比,验证是否登录成功。
1.2查看学生信息模块用户可在该页查看学生信息表(student)中的所有数据且所有信息按学号排序。
1.3查询学生信息模块用户可在该模块对学生信息进行查询,该模块为用户提供了三种查询方式分别为学号、班级、姓名。
1.4修改学生信息模块该模块用户通过输入学号,来修改相应的学生信息记录。
1.5添加学生信息模块用户可在该模块向学生信息表中添加记录。
1.6删除学生信息模块用户可在该模块对学生表中的信息进行删除,该模块用户可以根据学号进行删除,该模块还为用户提供两个快捷删除功能分别为删除最近一次修改的学生信息记录和删除最近一次添加的信息记录。
2、数据库设计2.1用户表(mytable)2.2学生信息表(student)3、程序功能说明与程序设计流程图3.1登录登录部分涉及的jsp文件:Denglu.jsp、Denglu2.jsp,success.jsp:Denglu.jsp通过定义两个文本框:name="logname" ,name ="password"获取用户输入的用户名和密码并把值传递给Denglu2.jsp Denglu2.jsp把传递过来的用户名和密码存放在String logname1、String password1中,连接数据库通过遍历mytable表中的数据,对比两次,第一次对比用户名,第二次对比用户名和密码,同时定义两个int型变量,用户名正确则n=1,用户名和密码同时正确则m=1,再判断n与m的值,当n=1 &&m=1正确登录,n=1 &&m!=1 提示密码错误,n!=1 提示用户名不存在。
Success.jsp登录已成功,能够显示登录的用户名,显示出功能选项。
jsp学生管理系统课程设计
jsp学生管理系统课程设计一、课程目标知识目标:1. 掌握JSP基本语法和常用内置对象,理解JSP与Java Servlet的关系;2. 学会使用JDBC连接数据库,掌握基本的数据库操作;3. 了解学生管理系统的功能模块,能运用所学知识实现学生信息的增删改查功能。
技能目标:1. 培养学生运用JSP技术进行Web开发的能力;2. 培养学生独立分析问题、解决问题的能力;3. 培养学生团队协作、沟通表达的能力。
情感态度价值观目标:1. 培养学生对编程的兴趣和热情,提高对计算机科学的认识;2. 培养学生严谨、细心的学习态度,养成良好的编程习惯;3. 培养学生具备一定的项目意识和实际操作能力,为以后从事相关工作打下基础。
本课程针对高年级学生,具有较强的实践性和应用性。
结合学生特点,课程目标注重知识技能与实际操作相结合,培养学生具备实际项目开发的能力。
教学要求强调理论与实践相结合,注重学生的主动参与和实际操作,以达到课程目标的实现。
通过本课程的学习,学生能够掌握JSP学生管理系统开发的基本技能,为以后从事相关工作奠定基础。
二、教学内容1. JSP基本概念与语法:包括JSP简介、JSP运行原理、JSP内置对象、JSP基本语法结构等内容,对应教材第1章和第2章。
2. 数据库连接与操作:介绍JDBC技术,实现与数据库的连接,掌握基本的SQL语句,实现学生信息的增删改查操作,对应教材第3章和第4章。
3. 学生管理系统功能模块设计:分析学生管理系统的需求,设计系统功能模块,包括学生信息管理、成绩管理、课程管理等,对应教材第5章。
4. JSP页面设计与实现:利用JSP技术,结合HTML、CSS等前端技术,实现学生管理系统的页面设计,对应教材第6章。
5. 学生管理系统综合实践:将所学知识运用到实际项目中,分组完成学生管理系统的开发,实现系统的基本功能,并进行测试与优化,对应教材第7章。
教学内容安排和进度如下:1. 第1周:JSP基本概念与语法;2. 第2周:数据库连接与操作;3. 第3周:学生管理系统功能模块设计;4. 第4周:JSP页面设计与实现;5. 第5-6周:学生管理系统综合实践。
jsp课程设计学生管理系统
jsp 课程设计学生管理系统一、教学目标本课程旨在通过学习JSP技术,让学生掌握构建学生管理系统的基本原理和方法。
通过课程学习,学生将能够理解并运用JSP技术开发具备基本功能的学生管理系统,提高其对Java Web开发的认识和实际操作能力。
在知识目标方面,学生需要掌握JSP的基本语法、内置对象、指令、标签库等基本知识。
在技能目标方面,学生需要能够独立完成学生管理系统的页面设计、逻辑处理和数据库交互。
在情感态度价值观目标方面,学生应培养对编程工作的热爱和敬业精神,以及团队协作和解决问题的能力。
二、教学内容本课程的教学内容主要包括JSP技术的基本原理和应用。
首先,学生将学习JSP的基本语法和内置对象,了解JSP页面的运行原理。
接着,学生将学习JSP的指令和标签库,掌握如何使用JSP技术实现页面布局和数据展示。
然后,学生将学习如何使用JSP与数据库进行交互,实现对学生信息的管理。
最后,学生将通过实际操作,独立完成一个学生管理系统的开发。
三、教学方法为了提高学生的学习兴趣和主动性,本课程将采用讲授法、讨论法、案例分析法和实验法等多种教学方法。
在理论教学中,将以讲授法为主,辅以案例分析法,帮助学生理解JSP技术的原理和应用。
在实践教学中,将以实验法为主,让学生通过动手实践,加深对JSP技术的理解和掌握。
同时,课程还将鼓励学生进行讨论和交流,以提高其团队协作和解决问题的能力。
四、教学资源为了支持教学内容和教学方法的实施,我们将选择和准备适当的教材、参考书、多媒体资料和实验设备。
教材方面,我们将选择权威、实用的JSP教程,以保证学生对JSP技术的学习。
参考书方面,我们将推荐一些经典的JSP技术书籍,供学生深入学习和参考。
多媒体资料方面,我们将准备一些教学视频和示例代码,以丰富学生的学习体验。
实验设备方面,我们将确保实验环境的稳定和充足,以保证学生能够顺利地进行实验操作。
五、教学评估本课程的评估方式包括平时表现、作业和考试三部分,以全面客观地评估学生的学习成果。
jsp学生管理系统课程设计报告
杭州师范大学钱江学院课程设计题目学生信息管理系统教学院信息与机电工程分院专业计算机科学与技术班级计算机091姓名方伟宏指导教师吕明琪2011 年12 月25 日目录一.概述 (3)二.系统的结构分析与设计 (3)2.1 整体设计 (3)2.2 模块设计 (4)三.系统的实现 (5)3.1 登录界面 (5)3.2 学生信息界面 (6)3.3 学生信息查询,编辑,新增界面 (7)3.4 连接数据库 (11)四.总结................................................................................................. .16一概述一直以来学生的成绩管理是学校工作中的一项重要内容,我国的大中专院校的学生成绩管理水平普遍不高。
随着办学规模的扩大和招生人数的增加,建立一个成绩维护系统是非常必要的。
普通的成绩管理已不能适应时代的发展,因为它浪费了许多的人力和物力。
在当今信息时代这种传统的管理方法必然被以计算机为基础的信息管理系统所代替。
为了提高成绩管理的效率,我选择了学生成绩管理系统作为毕业设计的课题。
本系统在大多数成绩管理系统的基础上,主要增加了教师对成绩的操作,教师改完试卷后不用在往学院的教务处办公室报送成绩,可以直接的把成绩上传到网络上,学生也可以方便快速的查询到自己的成绩,考试后教务管理人员也不必总呆在学院的办公室,他们都不受时间,位置,空间的限制,只要有上网的条件,在家里就可二系统的结构分析与设计2.1 整体结构设计基于系统的使用对象是管理员,系统根据功能需要分为三个模块,即学生基本信息管理、新增学生信息管理和查询学生信息管理。
采用B/S模式,jsp+SQL 2008+JavaBean 的技术形式实现。
2.1.1 用户角色设计及权限分配管理员:拥有管理系统所有功能的权限,同时负责系统的用户的增删,服务功能的起停,数据的备份、还原等维护操作;2.1.2 系统模块设计学生信息管理系统包括三个基本模块:学生基本信息管理、新增学生信息管理和查询学生信息管理。
jsp课程设计学生管理系统
jsp课程设计学生管理系统一、教学目标本课程的教学目标是使学生掌握JSP技术,能够设计并实现一个学生管理系统。
具体包括以下三个方面的目标:1.知识目标:学生需要了解JSP的基本概念、原理和语法,掌握JSP页面的编写和调试方法,熟悉Java语言基础。
2.技能目标:学生能够运用JSP技术开发一个功能完善的学生管理系统,包括学生的增删改查等基本操作,具备一定的实际项目经验。
3.情感态度价值观目标:学生通过课程学习,能够培养团队协作精神,增强解决问题的能力,培养对编程技术的热情和持续学习的动力。
二、教学内容本课程的教学内容主要包括JSP技术的基本概念、语法和应用,具体包括以下几个部分:1.JSP概述:介绍JSP的定义、特点和应用场景。
2.JSP基本语法:讲解JSP页面的基本结构、指令、脚本语言、内建对象等。
3.JSP常用标签:介绍常用的JSP标签,如、表单、按钮等。
4.JSP与数据库的交互:讲解如何使用JSP技术实现与数据库的连接和数据操作。
5.学生管理系统实战:通过一个具体的学生管理系统项目,让学生综合运用所学知识解决问题。
三、教学方法为了达到课程目标,我们将采用以下几种教学方法:1.讲授法:讲解JSP基本概念、语法和应用,让学生掌握基础知识。
2.案例分析法:分析实际项目案例,让学生了解JSP在实际项目中的应用。
3.实验法:让学生动手实践,完成学生管理系统项目,提高实际操作能力。
4.讨论法:学生进行小组讨论,培养团队协作和解决问题的能力。
四、教学资源为了支持课程教学,我们将准备以下教学资源:1.教材:选择权威、实用的JSP教材,为学生提供系统的学习资料。
2.参考书:提供一些与JSP相关的参考书籍,丰富学生的知识体系。
3.多媒体资料:制作课件、视频等多媒体资料,增强课堂教学的趣味性和生动性。
4.实验设备:提供计算机、服务器等实验设备,确保学生能够进行实际操作。
五、教学评估本课程的教学评估将采用多元化的评估方式,全面客观地评价学生的学习成果。
JSP学生选课管理系统课程设计
JSP学生选课管理系统课程设计一、课程目标知识目标:1. 理解JSP技术的基本原理,掌握其基本语法和常用标签;2. 学会使用JDBC连接数据库,实现数据的增删改查功能;3. 掌握学生选课管理系统的需求分析、设计及实现方法;4. 了解软件工程中的系统分析、设计与实现等基本流程。
技能目标:1. 能够运用JSP技术独立开发简单的动态网页;2. 能够运用JDBC技术实现数据库的连接和操作;3. 能够根据需求分析,设计并实现一个完整的学生选课管理系统;4. 能够运用所学知识解决实际问题,具备一定的项目实践能力。
情感态度价值观目标:1. 培养学生对计算机编程的兴趣,激发学习积极性;2. 培养学生团队合作意识,提高沟通与协作能力;3. 培养学生分析问题、解决问题的能力,增强自信心;4. 培养学生具备良好的职业道德,关注用户需求,为用户提供优质服务。
课程性质:本课程为实践性较强的课程,旨在让学生通过动手实践,掌握JSP 技术及其应用。
学生特点:学生具备一定的Java基础,了解Web开发基本概念,对JSP技术有一定了解。
教学要求:结合学生特点,以实践为主,注重理论知识与实际应用的结合,培养学生的动手能力和创新能力。
在教学过程中,将目标分解为具体的学习成果,以便进行教学设计和评估。
二、教学内容1. JSP基本原理与语法- JSP页面生命周期- JSP脚本元素、指令和标准标签库- JSP内置对象及作用域2. 数据库连接与操作- JDBC技术原理与使用方法- 数据库连接池技术- SQL语句编写与执行3. 学生选课管理系统需求分析- 功能模块划分- 数据库表设计- 系统界面设计4. 学生选课管理系统设计与实现- 系统架构设计- JSP页面编写与调试- 数据库操作实现5. 软件工程实践- 系统分析、设计与实现流程- 代码规范与注释- 项目测试与优化教学内容安排与进度:第一周:JSP基本原理与语法学习第二周:数据库连接与操作学习第三周:学生选课管理系统需求分析与设计第四周:学生选课管理系统实现与调试第五周:软件工程实践与项目优化教材章节关联:1. JSP基本原理与语法——教材第3章2. 数据库连接与操作——教材第4章3. 学生选课管理系统需求分析、设计与实现——教材第6章4. 软件工程实践——教材第7章教学内容确保科学性和系统性,结合课程目标,使学生能够系统地掌握JSP技术及其在实际项目中的应用。
jsp学生管理系统的课程设计
jsp学生管理系统的课程设计一、课程目标知识目标:1. 理解JSP技术的基本原理,掌握JSP页面的基本结构和语法。
2. 学会使用JDBC连接数据库,实现数据的增、删、改、查功能。
3. 掌握学生管理系统中常用的功能模块,如学生信息管理、成绩管理和课程管理。
技能目标:1. 能够独立设计并实现一个基于JSP的学生管理系统。
2. 能够运用所学知识解决实际编程问题,具备一定的编程调试能力。
3. 能够通过小组合作,进行项目分工与协作,提高团队沟通与协作能力。
情感态度价值观目标:1. 培养学生对计算机编程的兴趣,激发学生学习Java技术的热情。
2. 增强学生的自信心,让他们相信自己具备解决实际问题的能力。
3. 培养学生严谨、踏实的编程态度,提高他们面对挫折和困难时的心理承受能力。
课程性质:本课程为实践性较强的课程,注重培养学生的动手能力和实际操作技能。
学生特点:学生已具备一定的Java基础,了解基本的编程概念,对JSP技术有一定了解。
教学要求:结合学生特点和课程性质,将课程目标分解为具体的学习成果,注重实践操作,提高学生的实际编程能力。
在教学过程中,关注学生的个体差异,鼓励学生积极参与,培养他们的团队协作精神。
通过本课程的学习,使学生能够掌握JSP学生管理系统的设计与实现,为后续项目开发打下坚实基础。
二、教学内容1. JSP基本原理与页面结构:介绍JSP技术的基本概念、工作原理和页面结构,包括JSP生命周期、指令、脚本语言和标准标签库的使用。
教材章节:第1章 JSP技术概述,第2章 JSP页面元素2. 数据库连接与操作:讲解JDBC的使用,实现与数据库的连接、数据的增删改查等操作。
教材章节:第3章 数据库连接与JDBC,第4章 数据库操作3. 学生管理系统功能模块设计:- 学生信息管理:实现学生信息的添加、修改、删除和查询功能。
- 成绩管理:实现学生成绩的添加、修改、删除和查询功能。
- 课程管理:实现课程的添加、修改、删除和查询功能。
jsp课程设计报告学生管理系统
...课程设计报告课程 :jsp学号::班级:教师:师大学......课程设计任务书姓名学号班级课程名称数据库系统概论课程性质课程设计同构成员分工学生选课操作、教师管理操作两部分功能的实现设计时间设计名称学生选课管理信息系统的设计与实现设计要求设计思路与设计过程系统功能基本要求:教师信息, 包含教师编号、教师、性别、年纪、学历、职称、毕业院校,健康状况等。
学生信息,包含学号、、所属院系、已选课状况等。
教室信息,包含,可容纳人数、安闲时间等。
选课信息,包含课程编号、课程名称、任课教师、选课的学生状况等。
成绩信息,包含课程编号、课程名称、学分、成绩。
按必定条件能够查问,并将结果打印输出。
设计思路:,本系统联合数据库和JSP 编程实现了学生选课管理系统。
学生选课管理系统分为三个子模块:第一模块是学生选课的页面操作,包含个人信息,密码改正,查问成绩,选课,退选五个功能;第二模块是教师操作页面,包含个人信息,密码改正,录入成绩,查问选课状况,查察教室信息;第三模块是管理员,包含学生信息管理(增加、改正、删除、查问),教师信息管理(增添、改正、删除、查问),管理员信息管理(增添、改正、删除、查问)。
计划与进度任课教师意见说明...构想整个系统的框架,在数据库中建表主要对学生选课的一些操作进行jsp 编码主要对教师的有关操作进行jsp 编码整合整个实验 , 并进行改正写课程设计的报告学生选课管理系统一.系统需求剖析学生选课系统是一个学校不行缺乏的部分 , 它的容关于学校的决议者和管理者来说都至关重要 , 所以学生选课系统应当能够为用户供给充分的信息和快捷的查问手段。
跟着科学技术的不停提升 , 计算机科学日渐成熟 , 其强盛的功能已为人们深刻认识 ,它已进入人类社会的各个领域并发挥着愈来愈重要的作用。
作为计算机应用的一部分, 使用计算机对选课信息进行管理, 有着手工管理所没法比较的长处。
这些长处能够极提升人事劳资管理的效率, 也是公司的科学化、正规化管理 , 与世界接轨的重要条件。
jsp版学生成绩管理系统课程设计报告
《java语言程序设计》课程设计报告设计题目:学生成绩管理系统班级:计算机四班学号:20104777报告人姓名:蔺天震指导老师:费老师实验地点:东校区机房完成起止日期:2010-—2011学年第二学期16周目录一、引言 (3)二、功能规划 (3)1学生的需求 (3)2老师的需求 (3)3管理员的需求 (4)三、具体设计 (4)1、数据库设计: (5)2、程序界面设计: (8)3、servlet设计: (12)四、程序测试 (22)1、测试项目 (22)2、各模块的测试结果 (22)五、课程设计感想 (22)六、总结 (24)学生成绩管理系统设计报告一、引言1.1 课程设计目的(1) 复习,巩固Java语言的基础知识,进一步加深对Java语言的理解和掌握;(2)课程设计为我们提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼我们的分析解决实际问题的能力,提高学生适应实际,实践编程的能力;(3) 培养我们在项目开发中团队合作精神,创新意识及能力。
1.2 题目说明一个学生成绩管理系统,能够实现对学生、老师基本信息、课程信息、成绩信息的管理。
学生端:能够实现查看自己的成绩、排名、选课信息等;老师端:能够让老师查看学生的信息、查看学生的成绩、输入学生的成绩;管理员端:能够实现对学生和老师的综合管理,能查看所有的学生、老师的基本信息和课程信息,能够添加、修改老师学生的课程信息和密码等。
二、功能规划1学生的需求(1)在第一时间查询自己所有的成绩(自己的平时成绩、卷面成绩、总成绩)(2) 查询某一科成绩(3)查询自己的上课信息及选课信息(4)修改登录密码2老师的需求(1)查询某一学生的所有成绩(平均成绩,总成绩)(2) 查询某一学生某一科成绩,该科平均成绩,所在名次,最高成绩,最低成绩(3) 查询某一班级的成绩(所有成绩,某一学期的所有成绩,某一学期的某一科目的所有成绩)(4) 对某一科成绩进行统计(及格人数,及格率,不及格人数,不及格率,优秀人数,优秀率,某一分数段的人数)(5) 录入考试成绩和补考成绩(自己所教授的那一科成绩)(6)查询自己的上课信息(7)修改登录密码3管理员的需求(1) 查询某一学生的所有成绩(平均成绩,总成绩)(2) 查询某一学生某一科成绩,该科平均成绩,所在名次,最高成绩,最低成绩(3)查询某一班级的成绩(所有成绩,某一学期的所有成绩,某一学期的某一科目的所有成绩)(4)对某一科成绩进行统计(及格人数,及格率,不及格人数,不及格率,优秀人数,优秀率,某一分数段的人数)(5)录入成绩和修改成绩(6) 对学生和老师进行管理(7)数据库管理三、具体设计本系统MVC三层模式进行开发,使模型,视图和控制分开,业务逻辑和显示分开,这样有利于错误的查找和系统的升级。
教务管理系统jsp课程设计
教务管理系统jsp课程设计一、教学目标本课程的目标是让学生掌握教务管理系统JSP的基本原理和应用,通过学习,学生能够理解教务管理系统的需求,能够使用JSP技术进行教务管理系统的开发。
1.理解教务管理系统的需求和功能。
2.掌握JSP的基本语法和指令。
3.掌握JSP内置对象和常用标签库。
4.理解JSP与数据库的连接和操作。
5.能够使用JSP技术开发简单的教务管理系统功能模块。
6.能够进行JSP代码的调试和优化。
7.能够根据需求设计和实现教务管理系统的功能。
情感态度价值观目标:1.培养学生对计算机科学的兴趣和热情。
2.培养学生解决问题的能力和团队合作的精神。
二、教学内容本课程的教学内容主要包括教务管理系统的需求分析、JSP基本语法和指令、JSP内置对象和常用标签库、JSP与数据库的连接和操作。
1.教务管理系统的需求分析:介绍教务管理系统的功能和需求,让学生理解教务管理系统的作用和重要性。
2.JSP基本语法和指令:介绍JSP的基本语法和指令,包括页面指令、脚本指令、注释等,让学生掌握JSP的基本编写规范。
3.JSP内置对象和常用标签库:介绍JSP内置对象和常用标签库,包括request、response、session等对象,以及标签库的使用,让学生能够利用内置对象和标签库实现常用的功能。
4.JSP与数据库的连接和操作:介绍JSP与数据库的连接和操作,包括数据库的连接技术、SQL语句的编写、数据的增删改查等,让学生能够掌握数据库操作的基本技能。
三、教学方法本课程的教学方法采用讲授法、案例分析法、实验法相结合的方式。
1.讲授法:通过教师的讲解,让学生掌握JSP的基本语法和指令、内置对象和标签库、与数据库的连接和操作等知识。
2.案例分析法:通过分析典型的教务管理系统案例,让学生理解教务管理系统的需求分析和设计过程,培养学生的实际操作能力。
3.实验法:通过实验课的形式,让学生动手实践,巩固所学的知识,培养学生的实际编程能力。
jsp课程设计学生管理系统
jsp 课程设计学生管理系统一、课程目标知识目标:1. 学生能理解JSP技术的基本原理,掌握其基本语法和常用标签。
2. 学生能运用JSP结合JavaBean和Servlet技术开发动态Web应用。
3. 学生能掌握学生管理系统的功能需求,理解其数据库设计。
技能目标:1. 学生能运用HTML、CSS和JavaScript实现用户界面的设计与布局。
2. 学生能通过JSP实现数据的显示、查询和更新操作。
3. 学生能利用JavaBean和Servlet进行业务逻辑处理和页面控制。
情感态度价值观目标:1. 培养学生的团队协作意识,提高沟通与协作能力。
2. 培养学生勇于尝试、积极探究的学习态度,增强解决问题的信心。
3. 培养学生关注实际应用,认识到编程技术在现实生活中的重要作用。
课程性质:本课程为实践性较强的课程,结合课本知识,注重培养学生的动手能力和实际应用能力。
学生特点:学生具备一定的Java基础,熟悉Web开发基本概念,但对JSP技术及其应用尚不熟悉。
教学要求:通过本课程的学习,使学生能够将所学知识应用于实际项目中,提高编程实践能力,培养解决实际问题的能力。
教学过程中,注重引导学生主动探究、团队合作,实现课程目标的分解与达成。
二、教学内容1. JSP技术基础- JSP基本语法和结构- JSP内置对象和常用标签- JSP与JavaBean结合使用2. Servlet技术- Servlet的生命周期和基本方法- 使用Servlet处理请求和响应- Servlet与JSP的交互3. 数据库设计与连接- 学生管理系统数据库设计- JDBC连接数据库- 数据库操作实现学生信息管理4. 前端技术- HTML/CSS布局与设计- JavaScript实现动态效果- 前端与JSP的交互5. 学生管理系统功能实现- 学生信息添加、删除、修改和查询- 用户登录与权限管理- 班级与学生信息管理6. 项目实践- 功能模块划分与分工- 团队协作开发- 项目测试与优化教学内容安排与进度:1-2周:JSP技术基础学习与实践3-4周:Servlet技术学习与实践5-6周:数据库设计与连接学习与实践7-8周:前端技术学习与实践9-10周:学生管理系统功能实现11-12周:项目实践、测试与优化本教学内容与课本关联性紧密,涵盖JSP技术、Servlet技术、数据库设计和前端技术等方面,旨在帮助学生掌握Web应用开发的核心知识,提高实际项目开发能力。
JSP课程设计报告-学生成绩管理系统
沈航北方科技学院JSP程序设计报告程序名称学生成绩管理系统教学系专业班级学号学生姓名指导教师2014年12月目录一、设计目的 (3)二、设计思路 (3)三、具体实现 (4)1.功能介绍: (4)2.数据库构成 (5)3.程序构成 (7)四、设计体会与小结 (10)附录1-用户手册.................................................................................................. 错误!未定义书签。
附录2-源程序. (14)一、设计目的1.通过开发具体系统,了解并熟悉jsp2.掌握网络编程的一般模式,使用jsp+javabean+servlet编写具体可用的系统3.通过开发学生成绩管理系统,充分体会MVC模式的优点及在网络开发的流行性,培养运用此模式解决实际问题的能力4.通过设计系统,在开发过程中碰到问题解决问题的过程中,逐渐提高自己的开发能力二、设计思路本系统采用传统的MVC开发模式,即Jsp+Javabean+Servlet,使用mysql数据库。
其中Jsp实现视图端,Javabean是模型端,Servlet是控制端。
Servlet担当主要逻辑控制,通过接受Jsp传来的用户请求,调用以及初始化JavaBean,再通过Jsp传到客户端,本系统中SqlBean担当主要的与数据库的连接与通信,JavaBean在本系统中主要担当配合Jsp以及Servlet来完成用户的请求,而Jsp主要担当接受与响应客户端。
体系结构图如图1所示:图1 体系结构图三、具体实现1.功能介绍:管理员端管理员可以进行的操作如下:1、对学生信息进行增加、删除、修改、查询2、对教师信息进行增加、删除、修改、查询3、对课程信息进行增加、删除、修改、查询4、查看个人信息并进行性修改5、查看学生的选课信息、学生的成绩以及排名情况,其中在查看学生排名时,可以根据学生的所学课程和所在专业进行排名查询6、对学生的选课信息进行添加、删除等操作教师端教师可以进行的操作如下:1、查看个人信息并修改登录密码2、查看学生信息,其中包括对学生成绩进行查询与修改,在本系统中,将教师的成绩录入功能与成绩修改功能合并3、查看学生的排名情况,包括学生的课程排名与专业排名学生端学生可以进行的操作如下:1、修改个人登录系统的密码2、查看自己的课表3、进行选课4、查询自己成绩以及成绩排名情况,同时拥有通过学号查询其他人成绩的权利框图结构程序的框图结构如图2所示:图2 框架结构2.数据库构成数据库作为后台数据存储空间,由7张表组成,设计遵循数据库设计要求,力求规范,各表的结构如下:manager 管理员信息表teacher 教师信息表student 学生信息表course 课程信息表studentcourse 学生选课信息表score 学生成绩表rank 学生平均学分积点表3.程序构成Jsp各个输入界面,显示界面,用于信息的输入输出以及显示Errorpage.jsp错误信息显示界面Exist.jsp退出系统Login.jsp登录界面Manager:addcourse.jsp添加课程界面addstucourse.jsp为学生选课界面addstudent.jsp添加学生界面addteacher.jsp添加教师操作m1.jsp显示页面的上栏信息m2.jsp显示页面左栏信息m3.jsp显示页面右栏信息manager.jsp划分分配页面比例Searchonescore.jsp查看某个学生成绩界面Showcourse.jsp显示课程信息界面Showstucou.jsp显示学生选课信息界面Showstudent.jsp显示学生信息Showteacher.jsp显示教师信息Updatecourse.jsp更改课程信息updateMpassword.jsp更改密码界面Teacher:StudentSelectcourse.jsp选课界面Showstucou.jsp显示个人选课信息Student.jsp划分分配页面比例updateSpassword.jsp修改密码JavaBeanJavaBean定义各种功能类※sqlBean 对数据库的各种操作※coursescore 课程成绩信息※student 学生类※teacher 教师类※course 课程※studentcourse 学生选课信息Servelet作为整个系统的控制者,Servlet接受Jsp的请求与数据,调用JavaBean完成程序功能,并将结果转交给Jsp显示各Servlet如下:Addcourse添加课程Addstudent添加学生Addteacher添加教师Check验证登录信息Delcourse删除课程Delstucou删除学生选课信息Delstudent删除学生信息Delteacher删除教师M_selectcourse管理员为学生选课四、设计体会与小结通过学生成绩管理系统的设计,我对软件开发又有了更深一些的认识,对MVC模式的特点有了一定的看法。
学生信息管理系统设计报告 jsp
学生信息管理系统1 课题规划1.1软件功能通过对该系统的设计实现对用户登录信息的查看,对学生信息的管理:查看,添加,查找,修改,删除1.2 程序流程1.3 数据库设计数据库:student表:students : person:2 程序实现2.1 首页模块(index.jsp)代码如下:<%@ page contentType="text/html;charset=gb2312"%><%@ page import="java.sql.*"%><html><head><title>信息管理系统</title><style type="text/css"><!--body {background-image: url(image/dan.jpg);}--></style></head><center><td hight="100" ><h1 align="center">学生信息管理系统――<font size="7" face="华文隶书" > JSP</font></h1><hr></td></center><body>  <font size="4"></font><font face="隶书" size="4">指导老师:刁文广<br><br><br><br></font><br><br><br<a href="login.jsp">点击进入</a><br><br><a href="end.jsp">退出</a>; <font size="5"><fontcolor="#000080">制作:王文玉<br></font><fontcolor="#000080">Z08050605</font><br></font></font></body></html>2.2 登录模块(login.jsp ,login_conf.jsp,login_success.jsp)Login.jsp login_conf.jsp到login_success.jsp的跳转①Login.jsp 代码如下<body><table width="400" border="1" cellspacing="0" cellpadding="0" bgcolor="#080ffee"><td><form name="form1" method="post" action="login_conf.jsp"><center><h2>用户登陆</h2></center><hr size=2 bgcolor=#dce3f5></hr> <table align="center" cellspacing="15" cellpadding="0"><tr bgcolor=#dce3f5><td>用户名:</td> <td><input type="text" name="id"></input></td><tr bgcolor=#c6f5be><td>密码:</td><td><input type="password" name="password" style="*"></input></td> </tr><tr bgcolor=#dce3f5><td><input type="submit" value="登陆"></input></td><td><input type="reset" value="重填"></input></td></tr></table></form></td></tr></table></body>②Login_conf.jsp 代码:<body><br><%!String DBDRIVER = "com.mysql.jdbc.Driver" ;String DBURL = "jdbc:mysql://127.0.0.1:3306/student";String DBUSER = "root" ;String DBPASSWORD = "root" ;Connection conn = null ;PreparedStatement pstmt = null ;ResultSet rs = null ;%><%// 声明一个boolean变量,用于保存用户是否合法的状态boolean flag = false ;// 接收参数String id = request.getParameter("id") ;String password = request.getParameter("password") ;%><%String sql = "SELECT name FROM person WHERE id=? and password=?";try{Class.forName(DBDRIVER) ;conn = DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD) ;pstmt = conn.prepareStatement(sql) ;pstmt.setString(1,id) ;pstmt.setString(2,password) ;rs = pstmt.executeQuery() ;if(rs.next()){ // 用户合法 flag = true ;// 将用户名保存在session之中session.setAttribute("uname",rs.getString(1)) ;}else{// 保存错误信息request.setAttribute("err","错误的用户名及密码") ;} rs.close() ;pstmt.close() ;conn.close() ; }catch(Exception e) {}%><%// 跳转if(flag) {// 用户合法%><jsp:forward page="login_success.jsp"/><%}else{// 用户非法%><jsp:forward page="login.jsp"/><%}%>③Login_success.jsp 代码如下:<br><%if(session.getAttribute("uname")!=null){// 用户已登陆%><h2>登陆成功</h2><h2>欢迎<font color="red" size="12"><%=session.getAttribute("uname")%></font>光临学生信息管理程序</h2><h3><a href="main.jsp">进入学生信息管理页面</a></h3> <%}else{ // 用户未登陆,提示用户登陆,并跳转response.setHeader("refresh","2;URL=login.jsp") ;%>您还未登陆,请先登陆<br>两秒后自动跳转到登陆窗口<br>如果没有跳转,请按<a href="login.jsp">这里</a><br> <% } %></body>2.3 信息功能列表模块(main.jsp)main.jsp 代码如下:<body><center><h1><font size="7" color="#730039" face="隶书"><b>欢迎你的登陆</b></font></h1><br><br><h2><font face="华文新魏"><a href="dchakan.jsp">登陆信息查看</a><font face="华文新魏"><a href="result.jsp">学生信息查询</a></font></font></h2><h2><font face="华文新魏"><font face="华文新魏"><a href="list_notes.jsp">学生信息一览</a><a href="up.jsp">学生信息修改</a></font></font></h2><h2><font face="华文新魏"><font face="华文新魏"><a href="insert.jsp">学生信息添加</a><ahref="delete.jsp">学生信息删除</a> <br></font></font></h2><h2><ahref=“/flash/1380.htm”>轻松一刻</a><a href="end.jsp">退出系统</a>2.4 登录信息查看模块(dchakan.jsp)代码如下:<body ><center><br><br><h1 style="font-weight: normal;"><font color="#ff00ff"><strong><font face="华文仿宋">欢迎您的登录</font></strong></font></h1><h2></h2><td width="%100"><table width="383" border="2" bordercolor="#6ff2f9" cellspacing="10" height="180"><tr><td bgcolor="#98fcae"><h3><font size="3">欢迎:<%=session.getAttribute("uname")%></font></h3></td></tr><tr><td bgcolor="#bdcffd"><h3><font size="3">你的登陆地址为:<%=request.getRemoteAddr() %></font></h3></td></tr><tr><td bgcolor="#98fcae"><h3><font size="3">你的登陆时间为:2010-6-23</font></h3></td></tr></table></td><tr><td><table cellpadding="0" cellspacing="0" width="376" height="160"><tr><td><center><font face="华文行楷" size="5"></font></center><center ><font size="5" color="#FF0EFF" face="华文行楷">08级网络六班<br>王文玉<br>Z08050605<br></font></center><center><center ><font size="5" color="#FF0EFF" face="华文行楷">地址:中国河南洛阳理工学院</font></center></td></tr></table></td></tr><h3><a href="main.jsp">回到功能列表页</a></h3></body>2.5 查看全部学生信息(list_notes.jsp)代码如下:<body><center><h1><font face="华文琥珀">学生信息一览表</font></h1> <%// 编码转换request.setCharacterEncoding("GB2312") ;if(session.getAttribute("uname")!=null){// 用户已登陆%><%!String DBDRIVER = "com.mysql.jdbc.Driver" ;String DBURL = "jdbc:mysql://127.0.0.1:3306/student";String DBUSER = "root" ;String DBPASSWORD = "root" ;Connection conn = null ;PreparedStatement pstmt = null ;ResultSet rs = null ; %><%// 如果有内容,则修改变量i,如果没有,则根据i的值进行无内容提示int i = 0 ;String sql = null;String keyword = request.getParameter("keyword") ;// out.println(keyword) ;if(keyword==null){// 没有任何查询条件sql = " SELECT num,name,sex,score,indate FROM students ";}else{// 有查询条件sql = " SELECT num,name,sex,score,indate FROM students WHERE num like ? or name like ? or score like ? " ;}try{Class.forName(DBDRIVER) ;Conn= DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD) ;pstmt = conn.prepareStatement(sql) ;// 如果存在查询内容,则需要设置查询条件if(keyword!=null){// 存在查询条件pstmt.setString(1,"%"+keyword+"%") ;pstmt.setString(2,"%"+keyword+"%") ;pstmt.setString(3,"%"+keyword+"%") ;pstmt.setString(4,"%"+keyword+"%") ;pstmt.setString(5,"%"+keyword+"%") ;}rs = pstmt.executeQuery() ; %><table width="400" border="1" height="163"><tr><td>学号</td><td>姓名</td><td>性别</td><td>成绩</td><td>入学时间</td></tr><%while(rs.next()){i++ ;// 进行循环打印,打印出所有的内容,以表格形式// 从数据库中取出内容String num = rs.getString(1) ;String name = rs.getString(2) ;String sex = rs.getString(3) ;String score = rs.getString(4) ;String indate = rs.getString(5) ;if(keyword!=null) {// 需要将数据返红num = num.replaceAll(keyword,"<fontcolor=\"red\">"+keyword+"</font>") ;name = name.replaceAll(keyword,"<fontcolor=\"red\">"+keyword+"</font>") ;sex = sex.replaceAll(keyword,"<fontcolor=\"red\">"+keyword+"</font>") ;score = score.replaceAll(keyword,"<fontcolor=\"red\">"+keyword+"</font>") ;indate = indate.replaceAll(keyword,"<font color=\"red\">"+keyword+"</font>") ; }%><tr><td><%=num%></td><td><%=name%></td><td><%=sex%></td><td><%=score%></td><td><%=indate%></td><td></td></tr><%}// 判断i的值是否改变,如果改变,则表示有内容,反之,无内容if(i==0) {// 进行提示%><tr><td colspan="5">没有任何内容</td></tr><%}%></table> <%rs.close() ; pstmt.close() ; conn.close() ;}catch(Exception e){}%><%}else{// 用户未登陆,提示用户登陆,并跳转response.setHeader("refresh","2;URL=login.jsp") ;%>您还未登陆,请先登陆<br>两秒后自动跳转到登陆窗口<br>如果没有跳转,请按<a href="login.jsp">这里</a><br> <%}%><h3><a href="main.jsp">回到功能列表页</a></h3></center></body>2.6学生信息添加模块(insert.jsp insert_do.jsp)①insret.jsp代码如下:<body><center><br><%if(session.getAttribute("uname")!=null) {// 用户已登陆%> <form action="insert_do.jsp" method="post"><table><tr><td colspan="1">添加新信息</td></tr><tr><tr><td>姓名:</td><td><input type="text" name="name"></td></tr><tr> <td>性别:</td><td><input type="text"name="sex"></td></tr><tr><td>成绩:</td><td><input type="text"name="score"></td></tr><tr> <td>入学日期:</td><td><input type="text"name="indate"></td></tr> <tr><td colspan="2"><input type="submit" value="添加"> <input type="reset" value="重置"></td></tr></table></form> <h3><a href="main.jsp">回到功能列表页</a></h3><%}else{// 用户未登陆,提示用户登陆,并跳转response.setHeader("refresh","2;URL=login.jsp") ;%>您还未登陆,请先登陆<br>两秒后自动跳转到登陆窗口<br>如果没有跳转,请按<a href="login.jsp">这里</a><br><%}%></center></body>Insert_do.jsp②Insert_do.jsp代码如下:<body><center><br><%// 进行乱码处理request.setCharacterEncoding("GB2312") ; %><%if(session.getAttribute("uname")!=null){// 用户已登陆%><%! String DBDRIVER = "com.mysql.jdbc.Driver" ;String DBURL = "jdbc:mysql://127.0.0.1:3306/student";String DBUSER = "root" ;String DBPASSWORD = "root" ;Connection conn = null ;PreparedStatement pstmt = null ; %><%// 声明一个boolean变量boolean flag = false ; // 接收参数String name = request.getParameter("name") ;String sex = request.getParameter("sex") ;String score = request.getParameter("score") ;String indate = request.getParameter("indate") ;%><%// 现在note表中的主键是sequence生成String sql = " insert into students (name,sex,score,indate)values(name,sex,score,indate) " ;Try{Class.forName(DBDRIVER) ;conn = DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD) ;pstmt = conn.prepareStatement(sql) ;pstmt.setString(1,name);pstmt.setString(2,sex);pstmt.setString(3,score);pstmt.setString(4,indate);pstmt.executeUpdate() ; pstmt.close() ; conn.close() ;// 如果插入成功,则肯定能执行到此段代码flag = true ; }catch(Exception e) {}%><%response.setHeader("refresh","2;URL=main.jsp") ;if(flag) {%>信息添加成功,两秒后跳转到功能列表页<br>如果没有跳转,请按<a href="main.jsp">这里</a> <%}else{%>信息添加失败,两秒后跳转到信息列表页<br>如果没有跳转,请按<a href="main.jsp">这里</a> <%}%><%}else{// 用户未登陆,提示用户登陆,并跳转response.setHeader("refresh","2;URL=login.jsp") ; %>您还未登陆,请先登陆<br>两秒后自动跳转到登陆窗口<br>如果没有跳转,请按<a href="login.jsp">这里</a><br> <%}%></center></body>2.7 学生信息查询模块(result.Jsp,commom.jsp)①result.jsp代码如下:<body><center><br><blockquote><h2><font face="华文新魏">查询学生信息</font></h2></blockquote><br><br><br><form action="common.jsp" method="post">输入查询学号: <input type="text" name="num" /><br><br><input type="submit" name="button" value="查询" /><input type="reset" name="reset" value="重置" /></form><h3><a href="main.jsp">回到功能列表页</a></h3></body>②common.jsp代码如下:<body><center><br><%if(session.getAttribute("uname")!=null){// 用户已登陆%><%!String DBDRIVER = "com.mysql.jdbc.Driver" ;String DBURL = "jdbc:mysql://127.0.0.1:3306/student";String DBUSER = "root" ;String DBPASSWORD = "root" ;Connection conn = null ;PreparedStatement pstmt = null ;ResultSet rs = null ; int id ; %><%// 接收参数try{id = Integer.parseInt(request.getParameter("num")) ; }catch(Exception e) {}%><%String sql = " SELECT num,name,sex,major,score,indate FROMstudents WHERE num = ? " ; try{Class.forName(DBDRIVER) ;conn = DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD) ;pstmt = conn.prepareStatement(sql) ;// 设置查询条件pstmt.setInt(1,id);rs = pstmt.executeQuery() ; %><%if(rs.next()){// 进行循环打印,打印出所有的内容,以表格形式// 从数据库中取出内容String num = rs.getString(1) ;String name = rs.getString(2) ;String sex = rs.getString(3) ;String score = rs.getString(4) ;String indate = rs.getString(5) ;%><form action="" method="post"><table><tr><td colspan="2"><center>查询信息显示</center></td></tr><tr><td>学号:</td><td><input type="text" name="num"value="<%=num%>"></td></tr><tr><td>姓名:</td><td><input type="text" name="name"value="<%=name%>"></td></tr><tr><td>性别:</td><td><input type="text" name="sex"value="<%=sex%>"></td></tr><tr><td>成绩:</td><td><input type="text" name="score" value="<%=score%>"></td></tr> <tr><td>入学日期:</td><td><input type="text" name="indate"value="<%=indate%>"></td></tr></table></form><%}else{%>没有发现,要查找的内容!!<br>请确认要查找的信息是否存在!!<br><%}%><%rs.close() ; pstmt.close() ; conn.close() ; }catch(Exception e) {}%><h3><a href="result.jsp">重新输入</a><br><br><a href="main.jsp">回到功能列表页</a></h3><%}else{// 用户未登陆,提示用户登陆,并跳转response.setHeader("refresh","2;URL=login.jsp") ; %>您还未登陆,请先登陆<br>两秒后自动跳转到登陆窗口<br>如果没有跳转,请按<a href="login.jsp">这里</a><br> <%}%></center></body>2.8、学生信息修改模块(up.jsp ,update.Jsp update_do.jsp)① up.Jsp代码如下:<body><center><br><br><font face="华文彩云" color="#00ff40"><br></font><h1><font face="华文彩云" color="#8000ff">学生信息的修改</font></h1><form action="update.jsp" method="post"><h4><strong><font face="华文楷体">请输入你要修改的学生学号:</font></strong><input type="text" name="num"></h4><br><input type="submit" name="button" value="修改" /><input type="reset" name="reset" value="重置" /></form><h3><a href="main.jsp">回到功能列表页</a></h3></body>②Update.jsp,代码如下:<body><center><h1><font face="楷体_GB2312" color="#ff00ff">修改学生信息</font></h1><%if(session.getAttribute("uname")!=null) {// 用户已登陆%><%!String DBDRIVER = "com.mysql.jdbc.Driver" ;String DBURL = "jdbc:mysql://127.0.0.1:3306/student";String DBUSER = "root" ;String DBPASSWORD = "root" ;Connection conn = null ;PreparedStatement pstmt = null ;ResultSet rs = null ;int id ;%><%// 接收参数try{id = Integer.parseInt(request.getParameter("num")) ;}catch(Exception e){}%><%String sql = " SELECT num,name,sex,score,indate FROM students WHERE num = ? " ;try{Class.forName(DBDRIVER) ;conn = DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD) ;pstmt = conn.prepareStatement(sql) ;// 设置查询条件pstmt.setInt(1,id);rs = pstmt.executeQuery() ;%><%if(rs.next()){// 进行循环打印,打印出所有的内容,以表格形式// 从数据库中取出内容String num = rs.getString(1) ;String name = rs.getString(2) ;String sex = rs.getString(3) ;String score = rs.getString(4) ;String indate = rs.getString(5) ;%> <form action="update_do.jsp" method="post"><table><tr><td colspan="2"><center>修改学生信息</td></tr> <tr><td>学号:</td><td><input type="text" name="num"value="<%=num%>"></td></tr><tr><td>姓名:</td><td><input type="text" name="name"value="<%=name%>"></td></tr><tr><td>性别:</td><td><input type="text" name="sex"value="<%=sex%>"></td></tr><tr><td>成绩:</td><td><input type="text" name="score"value="<%=score%>"></td></tr><tr><td>入学日期:</td><td><input type="text" name="indate" value="<%=indate%>"></td></tr><tr><td colspan="2"><input type="submit" value="更新"><input type="reset" value="重置"></td></tr></table></form><%}else{%>没有发现,要更新的内容!!<br>请确认要更新的信息是否存在!!<br><%}%><%rs.close() ;pstmt.close() ;conn.close() ; }catch(Exception e) {}%><h3><a href="main.jsp">回到功能列表页</a></h3><%}else{// 用户未登陆,提示用户登陆,并跳转response.setHeader("refresh","2;URL=login.jsp") ; %>您还未登陆,请先登陆<br>两秒后自动跳转到登陆窗口<br>如果没有跳转,请按<a href="login.jsp">这里</a><br> <%}%></center></body>③update_do.jsp代码如下:<body><center><%// 进行乱码处理request.setCharacterEncoding("GB2312") ;%><%if(session.getAttribute("uname")!=null){// 用户已登陆%><%!String DBDRIVER = "com.mysql.jdbc.Driver" ;String DBURL = "jdbc:mysql://127.0.0.1:3306/student";String DBUSER = "root" ;String DBPASSWORD = "root" ;Connection conn = null ;PreparedStatement pstmt = null ;%><%// 声明一个boolean变量boolean flag = true ;// 接收参数String num = request.getParameter("num") ;String name = request.getParameter("name") ;String sex = request.getParameter("sex") ;String score = request.getParameter("score") ;String indate = request.getParameter("indate") ;int id = 0 ;try{id = Integer.parseInt(num) ; }catch(Exception e) {}%><%// 更新note表中的数据String sql = " update students set num =?,name =?,sex =?,score =?,indate =? where num = ? " ;try{Class.forName(DBDRIVER) ;conn = DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD) ;pstmt = conn.prepareStatement(sql) ;pstmt.setInt(1,id);pstmt.setString(2,name);pstmt.setString(3,sex);pstmt.setString(4,score);pstmt.setString(5,indate);pstmt.setInt(6,id);pstmt.executeUpdate() ;pstmt.close() ;conn.close() ;// 如果修改成功,则肯定能执行到此段代码flag = true ;}catch(Exception e) {}%><%response.setHeader("refresh","2;URL=main.jsp") ;if(flag) {%>信息修改成功,两秒后跳转到功能列表页<br>如果没有跳转,请按<a href="main.jsp">这里</a><%}else{%>信息修改失败,两秒后跳转到功能列表页<br>如果没有跳转,请按<a href="main.jsp">这里</a> <%}%><%}else{// 用户未登陆,提示用户登陆,并跳转response.setHeader("refresh","2;URL=login.jsp") ; %>您还未登陆,请先登陆<br>两秒后自动跳转到登陆窗口<br>如果没有跳转,请按<a href="login.jsp">这里</a><br> <%}%></center></body>2.9学生信息删除模块(delete,jsp delete_do.jsp)①delete.jsp代码如下:<body><center><br><%// 编码转换request.setCharacterEncoding("GB2312") ;if(session.getAttribute("uname")!=null){// 用户已登陆%><%!String DBDRIVER = "com.mysql.jdbc.Driver" ;String DBURL = "jdbc:mysql://127.0.0.1:3306/student";String DBUSER = "root" ;String DBPASSWORD = "root" ;Connection conn = null ;PreparedStatement pstmt = null ;ResultSet rs = null ; %><%// 如果有内容,则修改变量i,如果没有,则根据i的值进行无内容提示int i = 0 ;String sql = null;String keyword = request.getParameter("keyword") ;// out.println(keyword) ;if(keyword==null){// 没有任何查询条件sql = " SELECT num,name,sex,score,indate FROM students " ; } else{// 有查询条件sql = " SELECT num,name,sex,score,indate FROM students WHERE num like ? or name like ? or score like ? " ;} try{Class.forName(DBDRIVER) ;conn = DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD) ;pstmt = conn.prepareStatement(sql) ;// 如果存在查询内容,则需要设置查询条件if(keyword!=null) {// 存在查询条件pstmt.setString(1,"%"+keyword+"%") ;pstmt.setString(2,"%"+keyword+"%") ;pstmt.setString(3,"%"+keyword+"%") ;pstmt.setString(4,"%"+keyword+"%") ;pstmt.setString(5,"%"+keyword+"%") ; }rs = pstmt.executeQuery() ; %><table width="600" border="1" height="212"><tr><td>学号</td><td>姓名</td><td>性别</td><td>成绩</td><td>入学时间</td><td>操作</td></tr><%while(rs.next()){i++ ; // 进行循环打印,打印出所有的内容,以表格形式// 从数据库中取出内容String num = rs.getString(1) ;String name = rs.getString(2) ;String sex = rs.getString(3) ;String score = rs.getString(4) ;String indate = rs.getString(5) ;if(keyword!=null){// 需要将数据返红num = num.replaceAll(keyword,"<fontcolor=\"red\">"+keyword+"</font>") ;name = name.replaceAll(keyword,"<fontcolor=\"red\">"+keyword+"</font>") ;sex = sex.replaceAll(keyword,"<fontcolor=\"red\">"+keyword+"</font>") ;score = score.replaceAll(keyword,"<fontcolor=\"red\">"+keyword+"</font>") ;indate = indate.replaceAll(keyword,"<fontcolor=\"red\">"+keyword+"</font>") ;}%><tr><td valign="top"><br><%=num%><br></td><td><%=name%><br></td><td><%=sex%><br></td><td><%=score%><br></td><td><%=indate%><br></td><td><a href="delete_do.jsp?num=<%=num%>">删除</a></td></tr><%}// 判断i的值是否改变,如果改变,则表示有内容,反之,无内容if(i==0) {// 进行提示%><tr><td valign="top"><br></td><td valign="top"><br></td><tdcolspan="5">没有任何内容</td></tr><%}%></table><%rs.close() ;pstmt.close() ;conn.close() ;}catch(Exception e) {}%><%}else{// 用户未登陆,提示用户登陆,并跳转response.setHeader("refresh","2;URL=login.jsp") ;%>您还未登陆,请先登陆<br>两秒后自动跳转到登陆窗口<br>如果没有跳转,请按<a href="login.jsp">这里</a><br> <%}%><h3><a href="main.jsp">回到功能列表页</a></h3></center></body>②Delete_do.jsp代码如下:<body><center><br><%if(session.getAttribute("uname")!=null){// 用户已登陆%><%! String DBDRIVER = "com.mysql.jdbc.Driver" ;String DBURL = "jdbc:mysql://127.0.0.1:3306/student";String DBUSER = "root" ;String DBPASSWORD = "root" ;Connection conn = null ;PreparedStatement pstmt = null ; %><%// 接收参数int id = 0 ;try{id = Integer.parseInt(request.getParameter("num")) ;}catch(Exception e) {}%><%String sql = " delete from students where num = ? " ;boolean flag = false ;try{Class.forName(DBDRIVER) ;conn = DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD) ;pstmt = conn.prepareStatement(sql) ;// 设置删除条件pstmt.setInt(1,id) ;pstmt.executeUpdate() ;pstmt.close() ;conn.close() ;flag = true ; }catch(Exception e) {}%><%response.setHeader("refresh","2;URL=list_notes.jsp") ;if(flag) {%>信息删除成功,两秒后跳转到留言列表页<br>如果没有跳转,请按<a href="list_notes.jsp">这里</a> <%}else{%>信息删除失败,两秒后跳转到留言列表页<br>如果没有跳转,请按<a href="list_notes.jsp">这里</a> <%}%><%}else{// 用户未登陆,提示用户登陆,并跳转response.setHeader("refresh","2;URL=login.jsp") ;%>您还未登陆,请先登陆<br>。
JSP学生信息管理系统(报告)
重庆科技学院《Web应用程序设计》课程设计报告摘要随着社会信息化程序不断提高,越来越多的软件开发人员需要开发Web应用程序。
目前网络编程主要有两大技术体系:基于JavaEE的网络开发和基于.NET的网络开发。
JavaEE技术以其开放性,灵活性的技术成熟度,赢得了广大编程爱好者的青睐,并且在目前企业级信息系统开发领域也占领了很大的市场,取得了许多成功的案例。
此次课程设计我使用JavaEE编程技术,利用MyEclipse开发工具设计了一个学生信息管理系统。
用户的身份分为学生和管理员,用户登陆系统时系统根据用户身份提供相应的功能。
学生的功能包括:学生信息的查询,个人信息的修改,密码修改和留言。
当用户登陆时若有新留言,系统提示用户查看新留言。
管理员在此基础上还有添加学生信息和删除学生信息的功能,修改的权限也大于学生。
本系统采用JSP 和Servlet 结合,JSP和JavaBean结合的技术。
通过JDBC连接到数据库,实现数据库的操作。
关键词:JavaEE编程技术 Servlet JavaBean 数据库目录一、需求分析 (1)1.1功能需求 (1)1.2环境需求 (1)二、概要设计 (2)2.1系统总体结构 (2)2.2开发环境的配置 (2)三、详细设计 (3)3.1数据库设计 (3)3.1.1数据字典 (3)3.1.2逻辑设计 (4)3.1.3物理设计 (4)3.1.4数据库实施 (5)3.1.5 JAVAEE数据库连接 (6)3.2功能设计 (7)3.2.1登陆功能 (7)3.2.2查询功能 (9)3.2.3添加功能 (11)3.2.4 删除功能 (13)3.2.5修改功能 (15)3.2.6留言功能 (17)四、调试与测试 (20)4.1学生登陆测试 (20)4.2管理员登陆测试 (22)五、总结 (25)参考文献: (26)致谢 (27)一、需求分析1.1功能需求前台功能:1)学生信息浏览功能:学生和管理员都可进行查询和浏览,学生可以按学号、姓名查询和查询全部学生信息,管理员可以按班级,专业查询。
jsp代码学生管理系统课程设计
jsp代码学生管理系统课程设计一、课程目标知识目标:1. 学生能够掌握JSP基本语法和常用内置对象,理解其运行原理;2. 学生能够运用JavaBean和SQL技术,实现对数据库的增、删、改、查操作;3. 学生了解学生管理系统的功能需求,能够根据需求设计合理的数据库表结构。
技能目标:1. 学生能够独立完成学生管理系统的前端和后端代码编写,实现用户登录、学生信息管理、成绩管理等功能;2. 学生能够运用所学知识解决实际编程问题,具备一定的编程调试能力;3. 学生能够运用合适的软件工具进行项目开发,如Eclipse、MySQL等。
情感态度价值观目标:1. 学生通过本课程的学习,培养对编程的兴趣和热情,树立正确的计算机应用观念;2. 学生能够认识到团队合作的重要性,培养良好的团队协作精神;3. 学生能够遵循编程规范,养成良好的编程习惯,提高自身的职业素养。
课程性质:本课程为信息技术课程,旨在让学生掌握JSP技术,结合数据库知识,实现一个实用的学生管理系统。
学生特点:学生具备一定的Java基础,对Web编程有一定了解,对数据库知识有一定掌握。
教学要求:教师需结合学生实际情况,采用案例教学、任务驱动等方法,引导学生掌握JSP技术,培养学生编程实践能力和团队协作精神。
同时,注重培养学生的编程规范意识和职业素养。
通过本课程的学习,使学生在知识、技能和情感态度价值观方面均取得具体的学习成果。
二、教学内容1. JSP基本语法与内置对象:介绍JSP页面的基本结构,讲解常用内置对象(如request、response、session等)的作用和使用方法,结合实例使学生理解其工作原理。
相关教材章节:第2章 JSP基本语法与内置对象。
2. JavaBean技术:讲解JavaBean的定义、编写规范以及如何在JSP页面中调用JavaBean,使学生掌握JavaBean在Web编程中的应用。
相关教材章节:第3章 JavaBean技术。
学生管理系统jsp课程设计
学生管理系统jsp课程设计一、课程目标知识目标:1. 理解JSP技术的基本原理和其在Web开发中的应用;2. 掌握学生管理系统需求分析、功能设计和数据库构建;3. 学会使用JSP、JavaBean和Servlet技术实现学生管理系统的前后端交互;4. 掌握常用的JSP内置对象和标签库的使用。
技能目标:1. 能够独立进行学生管理系统需求分析,完成系统功能模块设计;2. 能够运用所学知识,编写JSP代码实现系统功能,并进行调试和优化;3. 能够运用JavaBean和Servlet技术实现系统业务逻辑处理;4. 能够解决实际开发过程中遇到的技术问题,具备一定的独立解决问题的能力。
情感态度价值观目标:1. 培养学生的团队合作精神,学会与他人共同解决问题;2. 激发学生的学习兴趣,培养主动学习和积极进取的态度;3. 培养学生严谨的编程习惯,注重代码规范性和可维护性;4. 增强学生的自信心,使其具备敢于面对挑战、克服困难的勇气。
本课程针对高年级学生,结合学科特点和教学要求,注重理论知识与实践操作相结合,培养学生的编程能力和实际开发能力。
通过本课程的学习,使学生能够掌握JSP技术的基本应用,提高解决实际问题的能力,为后续专业课程学习和未来职业发展打下坚实基础。
二、教学内容1. JSP技术基础:包括JSP概述、JSP页面生命周期、JSP内置对象、指令和脚本元素等,重点讲解JSP在Web开发中的作用及基本使用方法。
2. JavaBean技术:介绍JavaBean的定义、编写规范以及如何通过JSP页面调用JavaBean,实现数据的封装和业务逻辑处理。
3. Servlet技术:讲解Servlet的作用、生命周期、请求和响应处理,以及如何与JSP、JavaBean协同工作,实现学生管理系统的前后端交互。
4. 数据库连接:介绍JDBC技术,实现数据库连接、数据查询、更新、删除等操作,为学生管理系统提供数据支持。
5. 学生管理系统功能模块设计:包括需求分析、功能划分、数据库设计,重点讲解系统各模块之间的关系及实现方法。
JSP课程设计报告-学生成绩管理系统.doc
JSP课程设计报告-学生成绩管理系统沈航北方科技大学学生成绩管理系统JSP程序设计报告程序名称一、设计目的3二、设计思路3三.具体实施41。
功能介绍:42.数据库组成。
程序组成74.设计经验和总结10附录1-用户手册11附录2-源程序13一、设计目的1。
通过特定系统的开发,理解并熟悉jsp2。
掌握网络编程的一般模式,并使用jsp javabean servlet编写特定的和可用的系统3。
通过学生成绩管理系统的开发,充分了解MVC模式的优势及其在网络开发中的普及性,并培养用这种模式解决实际问题的能力4。
通过系统的设计,逐步提高自己在开发过程中解决开发过程中遇到的问题的能力。
二、设计思想本系统采用传统的MVC开发模式,即Jsp Javabean Servlet,使用mysql数据库。
Jsp实现视图端,Javabean是模型端,Servlet是控制端。
Servlet 充当主要的逻辑控制。
它从Jsp接收用户的请求,调用并初始化JavaBean,然后通过Jsp将其传输到客户端。
在这个系统中,SqlBean 充当与数据库的主要连接和通信。
在该系统中,JavaBean主要作为与Jsp和Servlet的协作来完成用户的请求,而Jsp主要作为接受和响应客户端。
架构图如图1所示。
浏览器servlet浏览器jsp浏览器JavaBean数据库浏览器请求响应应该是,图1架构图三、具体实施1。
功能介绍:管理员可以执行以下操作:1.添加、删除、修改和查询学生信息2.添加、删除、修改和查询教师信息3.添加、删除、修改和查询课程信息4、检查个人信息并进行修改5、查看学生的选修信息、学生成绩和排名,其中,在查看学生排名时,可以根据学生的课程和专业排名进行查询6.学生选修信息的添加、删除等操作。
教师可以执行的操作如下:1.查看个人信息并修改登录密码2、查看学生信息,包括学生成绩的查询和修改,在本系统中,教师的成绩输入功能和成绩修改功能相结合3、检查学生的排名,包括学生的课程排名和专业排名学生可以执行以下操作:1、修改个人登录系统的密码检查你的时间表3.选择课程4.查询自己的成绩和成绩排名,同时有权通过学生编号查询他人的成绩。
jsp课程设计报告书
一绪论学生信息管理系统是大学信息管理系统建设的重要组成部分,是提高教学管理的质量和效益乃至建设知名高水平大学的关键环节。
学生信息处理的电脑化、网络化,也是实现学校管理现代化和信息化的重要内容。
学生信息管理系统的内容对于学校的决策者和管理者来说都至关重要,所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。
但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
作为计算机应用的一部分,使用计算机对学生信息进行管理,具有手工管理所无法比拟的优点。
例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高学生档案管理的效率,也是进行科学化、正规化管理,与世界接轨的重要条件。
二系统分析2.1 需求分析在信息高速发展的当今时代,如何学校企业都离不开信息化的建设,信息化水平已经成为一个评价高校综合实力的一项重要指标。
近年来,高校都建立了校园网,学生信息管理系统作为高校校园网建设的一个模块,主要是为了学生在校园网上了解更多的和学生息息相关的信息,方便老师和学生查询学生信息。
学生信息管理系统可以作为一个教师查询学生信息,学生查询个人信息的平台。
一个简单的学生信息管理系统应包括:系统管理、学生信息管理、教师信息管理、成绩管理等。
具体包括向数据库中表的添加,修改,删除等,系统还可以完成对各类信息的查询,添加,修改,删除等功能。
具体包括:(1)用户登录:包括用户登录表。
主要功能是用来与数据库连接,对不同用户登录系统进行权限区别。
(2)学生信息管理:包括基本的学生信息表(包括学生的学号、姓名、性别、年龄、民族、系别、班级等)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录一.概述 (3)二.系统的结构分析与设计 (3)2.1 整体设计 (3)2.2 模块设计 (4)三.系统的实现 (5)3.1 登录界面 (5)3.2 学生信息界面 (6)3.3 学生信息查询,编辑,新增界面 (7)3.4 连接数据库 (11)四.总结.................................................................................................... .16一概述一直以来学生的成绩管理是学校工作中的一项重要内容,我国的大中专院校的学生成绩管理水平普遍不高。
随着办学规模的扩大和招生人数的增加,建立一个成绩维护系统是非常必要的。
普通的成绩管理已不能适应时代的发展,因为它浪费了许多的人力和物力。
在当今信息时代这种传统的管理方法必然被以计算机为基础的信息管理系统所代替。
为了提高成绩管理的效率,我选择了学生成绩管理系统作为毕业设计的课题。
本系统在大多数成绩管理系统的基础上,主要增加了教师对成绩的操作,教师改完试卷后不用在往学院的教务处办公室报送成绩,可以直接的把成绩上传到网络上,学生也可以方便快速的查询到自己的成绩,考试后教务管理人员也不必总呆在学院的办公室,他们都不受时间,位置,空间的限制,只要有上网的条件,在家里就可二系统的结构分析与设计2.1 整体结构设计基于系统的使用对象是管理员,系统根据功能需要分为三个模块,即学生基本信息管理、新增学生信息管理和查询学生信息管理。
采用B/S模式,jsp+SQL 2008+JavaBean的技术形式实现。
2.1.1 用户角色设计及权限分配管理员:拥有管理系统所有功能的权限,同时负责系统的用户的增删,服务功能的起停,数据的备份、还原等维护操作;2.1.2 系统模块设计学生信息管理系统包括三个基本模块:学生基本信息管理、新增学生信息管理和查询学生信息管理。
三个模块管理功能不一,同时相互之间又有联系。
图12.1.3 系统运行模式设计系统采用B/S(Browser/Server)模式,使管理更加方便和简单,B/S结构中各个客户端只需安装一个具有某种编译功能的构件即可,这个构件就是Web浏览器,用户面对的将是简单统一的浏览器,而不是一个复杂的客户端软件,这就降低了用户的使用难度,系统面对的是全系的师生,大量的学生在使用,B/S是毋庸置疑的选择和必然。
2.1.4可行性分析(1).技术可行性:需要用到JAVA基本技术、基于jsp的WEB程序设计、TSQL 语言、图片处理、数据库服务等技术。
(2).开发环境:课题在JDK+SQL servlet平台下进行设计开发,所使用到的硬件设备有普通PC机一台(现在市场上主流的PC配置已足够),软件有JDK、TOMCAT、SQL 2008、MyEclipse、DERAMWVAER8.0、FREAWORK8.0、photoshop等。
(3).运行平台:借助学院现有的WWW服务平台及数据库服务平台即可实现。
综上所述本课题的开发具有可行性!2.2 系统模块分析2.2.1 数据需求分析学生信息管理系统就是对学生信息的管理,所以首先我们需要知道的是学生有那些信息,并且是怎样进行分类的。
学生基本信息根据要求应该包括学生姓名、密码、联系方式、email、入学信息等。
学生唯一一一对应的是学号,所以学号是唯一的主键,其他的都不能是,根据学号我们可以查找学生的姓名信息。
2.2.2系统的逻辑结构设计2.2.3数据库设计系统创建一个学生信息数据库(mydlb),当中包含有学生资助信息子系统中的主要数据表:学生信息表(student)其中两个表的结构如下。
学生家庭经济情况信息表(student)三系统的实现3.1系统登陆界面主页是连接登录模块的纽带,我们的理念是给用户简洁、便利的操作界面,如图所示主页只提供了个简单的链接,让用户能够快速的进入系统。
3.2 学生信息界面学生信息界面主要显示学生学号,姓名,查看,编辑,删除等信息。
相关代码为:public class ListServlet extends HttpServlet {public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {StudentDAO dao = new StudentDAO();List students = dao.getAllStudents();request.setAttribute("students", students);request.getRequestDispatcher("/list.jsp").forward(request, response);}public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doGet(request, response);}}3.3 学生信息查询,编辑和新增等界面各功能模块都通过测试,查询得到正确结果,分页功能正常,数据读取状况正常,页面显示正常,响应时间非常快,数据查询过程基本上没有感到浏览器和服务器通信,已经返回了查询结果。
相关代码:查询代码:public class XuehaoServlet extends HttpServlet {/****/private static final long serialVersionUID = 1L;public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {String strId = request.getParameter("id");int id = Integer.parseInt(strId);Student student = new Student();StudentDAO dao = new StudentDAO();student = dao.getStudentById(id);request.setAttribute("student", student);request.getRequestDispatcher("/view.jsp").forward(request, response);}public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doGet(request, response);}编辑代码:public class ModifyServlet extends HttpServlet {public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {String strId = request.getParameter("id");int id = Integer.parseInt(strId);StudentDAO dao = new StudentDAO();Student student = dao.getStudentById(id);request.setAttribute("student", student);request.getRequestDispatcher("/modify.jsp").forward(request, response);}public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doGet(request, response);}}新增代码:public class AddServlet extends HttpServlet {/***/private static final long serialVersionUID = 1L;public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {String username = request.getParameter("username");String userid = request.getParameter("userid");String password = request.getParameter("psw");String major = request.getParameter("major");String phone =request.getParameter("phone");String email = request.getParameter("email");Student student = new Student();student.setUsername(username);student.setId(Integer.parseInt(userid));student.setPassword(password);student.setMajor(major);student.setphone(phone);student.setEmail(email);StudentDAO dao = new StudentDAO();dao.addStudent(student);response.sendRedirect("list.do");}public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doGet(request, response);}}3.4 连接数据库public class StudentDAO {private static final String DRIVER = "com.mysql.jdbc.Driver";private static final String URL = "jdbc:mysql://localhost:3306/mydlb";public List getAllStudents() {Connection conn = getConn();Statement stmt = null;ResultSet rs = null;String sqlValue = "SELECT * FROM student";List list = new ArrayList();try {stmt = conn.createStatement();rs = stmt.executeQuery(sqlValue);while (rs.next()) {Student stu = new Student();stu.setId(rs.getInt("id"));stu.setUsername(rs.getString("username"));stu.setPassword(rs.getString("password"));stu.setMajor(rs.getString("major"));stu.setphone(rs.getString("phone"));stu.setEmail(rs.getString("email"));stu.setEnroll_date(rs.getString("enroll_date"));list.add(stu);}return list;} catch (Exception ex) {System.out.println("数据库操作发生错误!");ex.printStackTrace();return null;} finally {try {if (rs != null) {rs.close();}if (stmt != null) {stmt.close();}if (conn != null) {conn.close();}} catch (SQLException ex) {System.out.println("Close Error!!!!!!");//ex.printStackTrace();}}}public Student getStudentById(int id) {Connection conn = getConn();Statement stmt = null;ResultSet rs = null;String sqlValue = "SELECT * FROM student WHERE id=" + id;try {stmt = conn.createStatement();rs = stmt.executeQuery(sqlValue);Student stu = new Student();while (rs.next()) {stu.setId(rs.getInt("id"));stu.setUsername(rs.getString("username"));stu.setPassword(rs.getString("password"));stu.setMajor(rs.getString("major"));stu.setphone(rs.getString("phone"));stu.setEmail(rs.getString("email"));stu.setEnroll_date(rs.getString("enroll_date"));break;}return stu;} catch (Exception ex) {System.out.println("数据库操作发生错误!");return null;} finally {try {if (rs != null) {rs.close();}if (stmt != null) {stmt.close();}if (conn != null) {conn.close();}} catch (SQLException ex) {System.out.println("Close Error!!!!!!");//ex.printStackTrace();}}}public void addStudent(Student student) {Connection conn = getConn();Statement stmt = null;String sqlValue = "INSERT INTO student(id,username,password,major,phone,email,enroll_date) VALUES ("+ student.getId()+ ",'"+ student.getUsername()+ "','"+ student.getPassword()+ "','"+ student.getMajor()+ "','"+ student.getphone()+"','"+ student.getEmail()+ "','"+ (new java.util.Date()).toString() + "')";try {stmt = conn.createStatement();stmt.executeUpdate(sqlValue);} catch (Exception ex) {System.out.println("数据库操作发生错误!");ex.printStackTrace();} finally {try {if (stmt != null) {stmt.close();}if (conn != null) {conn.close();}} catch (SQLException ex) {System.out.println("Close Error!!!!!!");//ex.printStackTrace();}}}public void updateStudent(Student student) {Connection conn = getConn();Statement stmt = null;String sqlValue = "UPDATE student SET username='"+ student.getUsername() + "', password='"+ student.getPassword() + "', major='" + student.getMajor()+"', phone='" + student.getphone()+ "', email='" + student.getEmail() + "' WHERE id="+ student.getId();try {stmt = conn.createStatement();stmt.executeUpdate(sqlValue);} catch (Exception ex) {System.out.println("数据库操作发生错误!");ex.printStackTrace();} finally {try {if (stmt != null) {stmt.close();}if (conn != null) {conn.close();}} catch (SQLException ex) {System.out.println("Close Error!!!!!!");//ex.printStackTrace();}}}public void removeStudent(int id) {Connection conn = getConn();Statement stmt = null;String sqlValue = "DELETE FROM student WHERE id=" + id;try {stmt = conn.createStatement();stmt.executeUpdate(sqlValue);} catch (Exception ex) {System.out.println("数据库操作发生错误!");ex.printStackTrace();} finally {try {if (stmt != null) {stmt.close();}if (conn != null) {conn.close();}} catch (SQLException ex) {System.out.println("Close Error!!!!!!");//ex.printStackTrace();}}}private Connection getConn() {try {Class.forName(DRIVER);Connection conn = DriverManager.getConnection(URL, "root", "12345");return conn;} catch (Exception ex) {System.out.println("不能获取数据库连接!");//ex.printStackTrace();return null;}}public Student getStudentByUsername(String strUsername) {Connection conn = getConn();Statement stmt = null;ResultSet rs = null;String sqlValue = "SELECT * FROM student WHERE username=" + strUsername; try {stmt = conn.createStatement();rs = stmt.executeQuery(sqlValue);Student stu = new Student();while (rs.next()) {stu.setId(rs.getInt("id"));stu.setUsername(rs.getString("username"));stu.setPassword(rs.getString("password"));stu.setMajor(rs.getString("major"));stu.setphone(rs.getString("phone"));stu.setEmail(rs.getString("email"));stu.setEnroll_date(rs.getString("enroll_date"));break;}return stu;} catch (Exception ex) {System.out.println("数据库操作发生错误!");return null;} finally {try {if (rs != null) {rs.close();}if (stmt != null) {stmt.close();}if (conn != null) {conn.close();}} catch (SQLException ex) {System.out.println("Close Error!!!!!!");//ex.printStackTrace();}}}}四课程设计总结通过对该系统的设计使我了解到课设的过程是艰辛的,但是收获是巨大的。