基于jsp+sql的教务管理系统_第1页
基于jsp+sql的教务管理系统_第2页
基于jsp+sql的教务管理系统_第3页
基于jsp+sql的教务管理系统_第4页
基于jsp+sql的教务管理系统_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

软件综合课程设计基于JSP的教务管理系统设计与实现学院名称: 专 业: 班 级: 学 号: 姓 名: 年 月教务管理系统设计与实现摘 要:20世纪以来,社会生产力迅速发展,在中国随着教育体制的逐步完善,学校规模在不断的扩大,对于一个学校来说,在校学生的增多以及在校老师数量的增加也加大了教务管理的难度,不管是教师信息、学生信息、查询起来非常麻烦,通过传统的数据管理方法很难对所有信息进行整合。然后长期以来学生管理工作一直是采用人工传统管理,效率低,保密性差。所以随着技术的发展,教务管理已经慢慢的由单纯的人工管理向与计算机结合的方向发展,对此我们需要开发一款基于计算机技术的教务管理系统。本系统以Myeclipse和MicrosoftSQLServer2008为主要开发平台,系统使用JSP技术,前端主要使用JavaScript对界面进行设计,后台使用Java语言实现与数据库的交互。从用户的角度出发,对教师、学生进行全面的整合,对教务管理系统进行全面的分析。主要功能包括添加、修改和删除教师信息;添加、修改和删除学生信息;添加、修改和删除课程信息。本课程设计报告详细介绍教务管理系统设计和实现过程。本系统主要包含三大模块:管理员模块,包括把学生、教师、课程、开课的信息录入到系统中并且可以进行查询、修改以及删除这些信息;教师模块,包括查看信息,添加学生成绩;学生模块,包括选课,查看已选的课程,查看成绩;关键词:教务管理系统, JSP, SQL Server 2008,Servlet目录引言1第1章 概述21.1 系统开发背景21.2 系统目标和内容2第2章 可行性研究32.1 技术可行性32.1.1 开发技术32.1.2 开发环境42.2 操作可行性4第3章 需求分析53.1 功能概述53.2 系统功能建模6第4章 概要设计84.1 系统设计84.1.1 用户模块94.1.2 管理员模块94.2 数据库设计114.2.1 基本实体表114.2.2 部分表结构11第5章 详细设计135.1 登录模块135.1.1 管理员登录135.2 管理员模块155.2.1 学生管理155.2.2 教师管理245.2.3 课程管理345.2.4 班级管理43第6章 系统测试536.1 管理员登录测试53结束语5557引言随着科学技术的发展,计算机科学及互联网日渐成熟,其强大的功能已为人们深刻认识,它已经进入人类社会的各个领域并发挥着越来越重要的作用。各行各业的人们无须经过特别的训练就能够使用电脑完成许许多多复杂的工作。如今学校都会有很多学生和教师,必然就会有大量的学生和教师的信息需要处理。如果只靠人力来完成,这将会变成一项非常繁琐、复杂的工作,而且还会出现很多意想不到的错误,给管理这些数据带来了很大的不便,也越来越不适合学校发展的需要。教务管理系统是一个庞大而复杂的系统,它包括对学生的管理,对课程的管理,对教师的管理和对学生成绩的管理等等主要的功能。教务管理系统是每个学校的一项必不可少的内容,它的好坏直接影响到学校里的主要工作,一旦此系统瘫痪,学校将会受到非常严重的损失,也会影响到每一个学生。所以现如今设计一个功能完整、操作简单以及界面友好的教务管理系统变得非常重要。为了提高教务管理工作的效率,减少错误的出现,节约大量的人力资源,现在的学校的教务管理也逐步从手工转到计算机自动化信息处理阶段。通过这个系统,用户可以方便的对教师、课程、学生和开课信息进行添加、修改和删除操作,还可以对学生和成绩进行查询操作。除此之外,对用户的添加和删除操作也很方便。本系统采用使用JSP技术,主要使用HTML、CSS和JavaScript设计前端界面,后台使用servlet和JavaBean与数据进行交互。第1章 概述1.1 系统开发背景伴随着科技革命和经济全球化的发展,人类社会已经进入到一个崭新想信息时代。如何主动适应信息时代的发展要求,是当前教务管理急需解决的一个重大课题。教务管理信息化就是在现代教育教学思想指导下,充分利用现代信息技术,合理组织和配置教学信息资源,开展信息化教学管理,从而提高既定的教学目标,因此“充分开发和利用教务管理资源,实现高校教务管理信息化,在高等教育改革和发展中将起着重要的作用”进行教务管理改革最重要实现的目标是提高教学的质量和效率,这就需要在现代教学思想的指导之下,将各种先进的信息技术运用起来,原始的教务管理工作以传统手工业为主,这已经远远不能满足当前时代对教育管理提出的要求。因此教务管理需要向信息化发展,将教学过程中的人力、才力、物力合理优化配置,充分发挥效能以提高教学工作质量效率,这将在教育改革中发挥着至关重要的作用。基于教学管理的需求,是为了方便学校的工作,所以开发教务管理系统是一个至关重要的工作。此教务系统就是将信息与现代计算机网络技术相结合,这样能够更好的满足学校的需求 1.2 系统目标和内容整个教务系统,预期达成的目标是:针对不同的学校的特点设计,注重实用性、科学性和可操作性并重的原则,把教务管理人员从繁杂的手工劳动中解脱出来,提高教务管理的质量。教务系统实现了对学生、教师、课程等基本操作。系统包含教师、学生和管理员三个角色,学生、教师和管理员登录进入系统后可以进行各种自己权限范围内的操作。学生的基本功能包括:选课和查看自己的成绩和自己的信息;教师的基本功能包括:添加学生的成绩和查看自己的信息;管理员的基本功能包括:添加、修改、删除学生,添加、修改、删除教师,添加、修改、删除课程。添加、修改、删除班级。第2章 可行性研究可行性研究说明要进行的软件开发项目的实现在技术上、经济上和社会因素上的可行性.2.1 技术可行性2.1.1 开发技术1. JSP和Servlet简介JSP是Java Server Pages 的简称,是一种运行在服务器端的Java页面,开发时是采用在HTML页面中嵌套Java页面来实现的。该技术为创建显示动态生成内容的Web页面提供了一个简捷而快速的方法。JSP主要有如下的工作原理:JSP是运行在服务器端的Java页面,当用户通过浏览器请求访问Web应用时,Web服务器会使用JSP引擎对请求的JSP进行编译和运行,然后将生成的页面返回给客户端浏览器进行。显示,JSP的执行过程共分为三步:第一步是翻译阶段,Web服务器会将接收到的JSP文件翻译成Java文件。第二步是编译阶段,Web容器将Java文件编译成字节码文件(.class文件)第三步是执行阶段,Web容器执行字节码文件将生成的结果返回给客户端进行显示。2. SQL Server 2008SQLServer2008是一个重大的产品版本,它推出了许多新的特性和关键的改进,使得它成为至今为止的最强大和最全面的SQLServer版本。现在的2008版增加了数据压缩特性,数据量迅猛增长中,这个特性就非常有用。微软在2008中同时实现了行压缩和列压缩。平台有以下特点:可信任的使得公司可以以很高的安全性、可靠性和可扩展性来运行他们最关键任务的应用程序。高效的使得公司可以降低开发和管理数据基础设施的时间和成本。智能的提供了一个全面的平台,可在用户需要的时候发送观察和信息。3. MVC设计模式MVC 是一种使用 MVC(Model View Controller 模型-视图-控制器)设计创建 Web 应用程序的模式:Model(模型)表示应用程序核心(比如数据库记录列表)。View(视图)显示数据(数据库记录)。Controller(控制器)处理输入(写入数据库记录)。MVC 模式同时提供了对 HTML、CSS 和 JavaScript 的完全控制。4.ServletJava Servlet是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。2.1.2 开发环境本系统是在Windows 7操作系统下,基于浏览器的B/S架构系统。本系统主要使用JavaScript来完成前端页面的开发,由SQL Server 2008数据库、表的设计。运用MVC设计模型将前端页面数据和业务逻辑分离,使业务和数据更加清晰,运行逻辑更为明确。2.2 操作可行性本系统的操作界面设计良好,所有的用户只要经过注册都可以使用本系统。本系统操作简单,不必具有很好的计算机专业知识的使用者不必要进行专门培训,也可以轻松操作本系统。因此,本系统的操作是完全可行的。第3章 需求分析需求分析是数据库信息管理系统开发的第一步也是最重要的一步。系统开发之前我们要先对用户的需求做一个了解,了解用户需要系统完成哪些功能,想要什么样的界面等等。统一建模语言(UML)是面向对象软件的标准化建模语言。UML因其简单、统一的特点,而且能表达软件设计中的动态和静态信息,目前已成为可视化建模语言的工业标准。在软件无线电系统的开发过程中,统一建模语言可以在整个设计周期中使用,帮助设计者缩短设计时间,减少改进的成本,使软硬件分割最优。3.1 功能概述教务管理系统实现了对信息数据的浏览、编辑和管理等基本数据库操作,采取模块化的编程思想,提高了代码的可读性、可移植性和一致性,同时提高了开发效率。教务管理系统的主要任务是能够改进和完善教务管理。在教学模块中,有三种用户角色:管理员、教师、学生。该系统的功能需求包括管理员对功能的需求,教师对功能的需求和学生对功能需求三个部分。1. 管理员对功能的需求管理员权限最大,可以对教师、学生、课程等情况进行统一的管理,管理员对功能的需求如下:(1) 学生管理:包括查询和添加学生信息,修改和删除学生信息。(2) 教师管理:包括查询和添加教师信息,修改和删除教师信息。(3) 课程管理:包括对课程的查询,添加课程,修改和删除课程。(4) 班级管理:包括对班级、开课时间、上课的地点的添加、修改、删除以及查询。2. 教师对功能的需求教师主要是对自己信息的查询,添加学生的成绩。(1) 基本信息管理:包括查看个人信息。(2) 成绩管理:包括把学生的成绩添加到数据库。3. 学生对功能的需求学生主要是对查询自己的信息和成绩,选修课程。(1) 基本信息管理:包括查看个人信息。(2) 课程管理:包括选修课程,查看课程。(3) 成绩管理:包括查询个人信息,查询个人成绩。3.2 系统功能建模此系统主要拥有管理员、教师和学生三个主要参与者。1.管理员用例管理员进入系统时,首先要登录,如果登录不成功或者不登录则无法进行操作。管理员登录后,可以进行学生管理,教师管理,课程管理,班级管理。用例图如图3-1所示:图3-1 管理员用例图2.学生用例学生进入系统,可以查看自己的成绩,选修课程,查看课程。用例图如图3-2所示:图3-2 学生用例图3.教师用例教师进入系统,可以添加学生的成绩。用例图如图3-3所示:图3-3 教师用例图第4章 概要设计概要设计是把用户的需求转换为具体界面设计的重要阶段,主要包括系统设计和数据库设计。4.1 系统设计图4-1 系统总体结构图图4-2 系统类图4.1.1 用户模块 1. 用户登录 用户通过jsp显示的界面选择符合自己身份的选项,到达与之对应的登录界面,然后输入用户名和密码,进入管理界面,进行要执行的操作。4.1.2 管理员模块1. 学生管理管理员登录后可以对学生进行管理。当管理员请求添加学生时,通过addStudent.jsp中输入学生的信息,StudentServlet获取jsp界面上填写的信息,并通过Student与数据库进行交互,将要添加学生的信息添加到数据库,并返回到getAllStudents.jsp中显示添加的学生信息。当管理员请求修改学生时,通过UpdateStudent.jsp中输入学生的信息,StudentServlet获取jsp界面上填写的信息,并通过Student与数据库进行交互,将数据库中的信息进行修改,并返回到getAllStudents.jsp中显示已经修改的学生信息。当管理员请求增加删除时,通过getAllStudents.jsp中的删除按钮, StudentServlet获取jsp界面上删除的id,并通过Student与数据库进行交互,将要删除学生的信息从数据库中删除,并返回到getAllStudents.jsp中则不会显示已经删除的学生信息。2. 教师管理管理员登录后可以对教师进行管理。当管理员请求添加教师时,通过addTeacher.jsp中输入教师的信息,TeacherServlet获取jsp界面上填写的信息,并通过Teacher与数据库进行交互,将要添加学生的信息添加到数据库,并返回到getAllTeachers.jsp中显示添加的教师信息。当管理员请求修改教师时,通过UpdateTeacher.jsp中输入修改教师的信息,TeacherServlet获取jsp界面上填写的信息,并通过Teacher与数据库进行交互,将数据库中的教师信息进行修改,并返回到getAllTeachers.jsp中显示已经修改的教师信息。当管理员请求删除时,通过getAllTeachers.jsp中的删除按钮,TeacherServlet获取jsp界面上要删除的id,并通过Teacher与数据库进行交互,将要删除教师的信息从数据库中删除,并返回到getAllTeachers.jsp中则不会显示已经删除的教师信息。3. 课程管理管理员登录后可以对课程进行管理。当管理员请求添加课程时,通过addCourse.jsp中输入课程的信息,CourseServlet获取jsp界面上填写的信息,并通过Course与数据库进行交互,将要添加课程的信息添加到数据库,并返回到getAllCourses.jsp中显示添加的课程信息。当管理员请求修改课程时,通过UpdateCourse.jsp中输入修改课程的信息,CourseServlet获取jsp界面上填写的信息,并通过Course与数据库进行交互,将数据库中的课程信息进行修改,并返回到getAllCourses.jsp中显示已经课程的信息。当管理员请求删除时,通过getAllCourses.jsp中的删除按钮,CourseServlet获取jsp界面上要删除的id,并通过Course与数据库进行交互,将要删除课程的信息从数据库中删除,并返回到getAllCourses.jsp中则不会显示已经删除的课程信息。4.班级管理管理员登录后可以对班级进行管理。当管理员请求添加班级时,通过addClass.jsp中输入班级的信息,ClassesServlet获取jsp界面上填写的信息,并通过Classes与数据库进行交互,将要添加班级的信息添加到数据库,并返回到getAllClass.jsp中显示添加的班级信息。当管理员请求修改班级时,通过UpdateClass.jsp中输入修改班级的信息,ClassesServlet获取jsp界面上填写的信息,并通过Classes与数据库进行交互,将数据库中的班级信息进行修改,并返回到getAllClass.jsp中显示已经的班级信息。当管理员请求删除时,通过getAllClass.jsp中的删除按钮,ClassesServlet获取jsp界面上要删除的id,并通过Classes与数据库进行交互,将要删除班级的信息从数据库中删除,并返回到getAllClass.jsp中则不会显示已经删除的班级信息。4.2 数据库设计4.2.1 基本实体表表4-1 基本实体表序号表名说明1Admin管理员表,存储管理员信息2Stu学生表,存储学生信息3Teacher教师表,存储教师信息4Class班级表,存储班级信息5Course课程表,存储课程信息6Enrol登记表,存储登记信息4.2.2 部分表结构表4-2 学生表序号字段名称字段类型大小允许为空备注1sidint10否编号2snochar100否学号3snamechar100否姓名4spasswordchar100否密码5ssexchar100否性别6sdepartmentchar100否院系7sphonechar100是电话8semailchar100是邮件9smarkint是学分表4-3 教师表序号字段名称字段类型大小允许为空备注1idint10否编号2nochar50否工号3namechar50否姓名4passwprdchar50否密码5sexchar50否性别6titlechar50否职称表4-4 课程表序号字段名称字段类型大小允许为空备注1idint10否编号2nochar50否课程号3namechar50否课程名4markchar50否课程学分5depchar50是院系表4-5 班级表序号字段名称字段类型大小允许为空备注1idint10否编号2classnochar50否班级号3teanochar50否教师号4coursenochar50否课程号5datetimechar50否上课时间6roomnochar50否上课教室第5章 详细设计详细设计是软件生命周期的重要阶段,决定着软件的质量和编程速度。详细设计是对概要设计的一个细化,是对每个模块完成的功能进行的具体描述,要把功能转变为精确的、结构化的过程描述。详细设计的表示工具有图形工具和语言工具。5.1 登录模块5.1.1 管理员登录1. 界面设计管理员登录时要求填写用户名和密码,将用户填写的数据传输给后台判断信息是否正确,如果正确则登录成功,如果错误将相应的错误提示给用户具体界面如图5-1所示。图5-1 管理员登录2. 主要代码将前端界面guanli.jsp页面用户输入的信息通过form表单提交给admin,然后再用LoginServlet对用户的用户名和密码进行判断,如果用户输入的信息是正确的则登录成功,如果不正确则提示用户名或密码错误。/admin从数据库中查询管理员的姓名和密码public boolean query() String sqlSelect = use limeng15 select * from Admin where name=? and password=?;System.out.println(sqlSelect);try Connection conn = dbConnection.getConn();PreparedStatement ps = conn.prepareStatement(sqlSelect);ps.setString(1,name);ps.setString(2, password);ResultSet rs = ps.executeQuery();if (rs.next()return true; catch (SQLException e) e.printStackTrace();System.out.println(e);return false;/LoginServlet获取从jsp中输入的管理员姓名和密码if (admin.query() RequestDispatcher rd = request.getRequestDispatcher(index.jsp);rd.forward(request, response); else RequestDispatcher rd = request.getRequestDispatcher(failure.jsp);rd.forward(request, response);/登录界面设计部分代码table align=center用户名:密码:5.2 管理员模块图5-2 管理员界面5.2.1 学生管理1. 界面设计管理员添加学生信息,查看学生信息,修改和删除学生信息。具体界面如图5-3所示。图5-3 选择学生管理(1)添加学生信息,管理员通过点击添加学生进入到添加学生信息的界面,并对信息进行添加。如图5-4所示。图5-4 添加学生/向数据库中添加学生信息public boolean addStudent() String sqlInsert= use limeng15 insert into Stu(sno,sname,spassword,ssex,sdepartment,sphone) values(?,?,?,?,?,?); try Connection conn = dbConnection.getConn();/连接数据库PreparedStatement ps = conn.prepareStatement(sqlInsert)ps.setString(1, sno);ps.setString(2, sname);ps.setString(3, spassword);ps.setString(4, ssex);ps.setString(5, sdepartment);ps.setString(6, sphone);int result = ps.executeUpdate();if (result 0) return true; catch (SQLException e) e.printStackTrace();return false;/获取从jsp中要添加学生的信息private void doAddStudent(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOExceptionString no = request.getParameter(sno);String name = request.getParameter(sname);String password = request.getParameter(spassword);String department = request.getParameter(sdepartment); String sex = request.getParameter(ssex);String phone = request.getParameter(sphone);Student stu = new Student();stu.setSno(no);stu.setSname(name);stu.setSpassword(password);stu.setSdepartment(department);stu.setSsex(sex);stu.setSphone(phone);stu.addStudent();/addStudent.jsp前端显示的部分代码性别: 男 女 学号: 姓名: 院系: 密码: 电话: (2)获取学生信息,管理员通过点击查询、修改、删除学生,进入到获取全部学生的界面。如图5-5所示。图5-5 查询学生/从数据库中查询学生的信息public boolean selectStudent()String sqlSelect = use limeng15 select sno,sname,spassword,ssex,sdepartment,sphone from Stu;try Connection conn = dbConnection.getConnection();PreparedStatement ps = conn.prepareStatement(sqlSelect);int result = ps.executeUpdate();if(result 0) return true; catch (SQLException e) e.printStackTrace();System.out.println(e);return false;/获取从jsp中要查询的信息 private void doGetAllStudents(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException Student stu = new Student();ArrayList students = stu.getAllStudents();request.setAttribute(list, students); RequestDispatcher rd = getServletContext().getRequestDispatcher(/getAllStudents.jsp); rd.forward(request, response);private void doSelectStudents(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException Student stu = new Student();ArrayList students = stu.getAllStudents();request.setAttribute(list, students); RequestDispatcher rd = getServletContext().getRequestDispatcher(/getAllStudents.jsp); rd.forward(request, response);/getAllStudents.jsp获取学生前端部分代码 编号学号学分删除修改$students.sid $students.sno   $students.sname$students.ssex $students.sdepartment$students.sphone$students.semail$students.smark删除修改(3)更新学生信息,管理员通过点击查询、修改、删除学生,进入到获取全部学生的界面,并选择学生进入到修改界面进行修改。如图5-6所示。图5-6 修改学生/从数据库中更新学生信息public boolean updateStudent()String sqlUpdate = update limeng15.dbo.Stu set sno=?,sname=?,spassword=?,ssex=?,sdepartment=?,sphone=? where sid=? ;Connection conn = dbConnection.getConnection();PreparedStatement ps;tryps = conn.prepareStatement(sqlUpdate);ps.setString(1, sno);ps.setString(2, sname);ps.setString(3, spassword);ps.setString(4, ssex);ps.setString(5, sdepartment);ps.setString(6, sphone);ps.setInt(7, sid);int result = ps.executeUpdate();if(result 0) return true; catch (SQLException e)e.printStackTrace();return false;/StudentServle从jsp上获取一个需要修改的id号public void doUpdateStudent(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOExceptionStudent stu = new Student();String no = request.getParameter(sno);String name = request.getParameter(sname);String password = request.getParameter(spassword);String department = request.getParameter(sdepartment); String sex = request.getParameter(ssex);String phone = request.getParameter(sphone);String str = request.getParameter(sid);System.out.println(str +nnn123nnn);int id = Integer.parseInt(str);stu.setSid(id);stu.setSno(no);stu.setSname(name);stu.setSpassword(password);stu.setSdepartment(department);stu.setSsex(sex);stu.setSphone(phone);System.out.println(11111sex+sex);stu.updateStudent();/UpdateStudent.jsp更新学生前端部分代码 input name=sid id=sid type=hidden value=/ 性别: 男 女 学号: 姓名: 院系: 密码: 电话: (4)删除学生信息,管理员通过点击查询、修改、删除学生,进入到获取全部学生的界面,选择要删除的学生,点击删除。/从数据库中删除学生信息public boolean deleteStudent(int id)String sqlDelete=use limeng15 delete from Stu where sid = ?;try Connection conn = dbConnection.getConnection();PreparedStatement ps = conn.prepareStatement(sqlDelete);ps.setInt(1, id);System.out.println(sqlDelete);int result = ps.executeUpdate();if(result 0) return true; catch (SQLException e) e.printStackTrace();System.out.println(e);return false; catch (SQLException e)e.printStackTrace();return false;/从jsp中获取要删除的id

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论