JSP课程设计基于Struts的学生成绩管理系统的设计与开发_第1页
JSP课程设计基于Struts的学生成绩管理系统的设计与开发_第2页
JSP课程设计基于Struts的学生成绩管理系统的设计与开发_第3页
JSP课程设计基于Struts的学生成绩管理系统的设计与开发_第4页
JSP课程设计基于Struts的学生成绩管理系统的设计与开发_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

1、xxxxxxxxxxxxx学院课程设计报告书课程名称: 软件开发工具课程设计 题 目:基于struts的学生成绩管理系统的设计与开发系 名: 专业班级: 姓 名: 学 号: 指导教师: 课 程 设 计 任 务 书课程名称: 软件开发工具课程设计 指导教师: 班级名称: 开课系、教研室: 软件与信息安全 一、课程设计目的与任务软件开发工具课程设计是一个综合性的设计型实验教学环节,旨在使学生通过软件开发的实践训练,进一步掌握业界流行的软件开发工具的使用;掌握使用业界流行的软件开发工具进行软件设计,开发和测试的方法与技术;进一步加深对软件工程方法和技术以及最新发展趋势和技术的了解;掌握数据的组织方法

2、;提高软件开发的实际能力,培养创造性的工程设计能力和分析、解决问题的能力以及查阅和运用文献资料的能力。学生将在指导教师的指导下,独立地完成从需求分析到系统设计,实现,测试和部署的全过程。二、课程设计的内容与基本要求本课程设计将通过软件业界流行的myeclispe开发环境,使用struts框架技术、jdbc数据访问技术和数据库技术设计和开发一个学生成绩管理系统,该系统具有以下功能:1. 管理员:1)登录:管理员登录后进入系统主界面;可以修改自己的密码;2用户信息管理:将实现用户信息的增 、删、改、查功能;3)学生信息管理:将实现学生信息的增 、删、改、查功能;4)课程信息管理:将实现课程信息的增

3、 、删、改、查功能;5)成绩信息管理:将实现成绩信息的增 、删、改、查功能;2. 教师:1)登录:教师登录后进入系统主界面;可以修改自己的密码;2)成绩信息管理:将实现成绩信息的增 、删、改、查功能;3. 学生:1)登录:学生登录后进入系统主界面;可以修改自己的密码;2)学生信息管理:将实现对自己信息的改、查功能;系统由欢迎界面进入登录界面,登录成功后,系统主界面中要求使用上导航和左导航实现不同信息管理的切换;要求使用header和footer。要求界面美观易用, 符合用户使用习惯;功能完善,系统流程合理,数据处理正确。三、课程设计步骤及时间进度和场地安排本课程设计将安排在第18周, 教育技术

4、中心。具体安排如下:下发任务书,学生查阅资料系统设计和原型开发第三,四天 系统功能实现第五天 系统调试 测试 打包和验收周次星期一星期二星期三星期四星期五第18周第1-4节第1-4节第1-4节第1-4节第5-6节地点现教222现教222现教222现教222现教222四、课程设计考核及评分标准课程设计考核将综合考虑学生考勤和参与度,系统设计方案正确性,系统设计和开发效果以及课程设计报告书的质量。具体评分标准如下:设置六个评分点(1)设计方案正确,具有可行性、创新性; 25分(2)系统开发效果较好; 25分(3)态度认真、刻苦钻研、遵守纪律; 10分(4)设计报告规范、课程设计报告质量高、参考文献

5、充分 20分(5)课程设计答辩概念清晰,内容正确 10分(6)课程设计期间的课堂考勤、答疑与统筹考虑。 10分 按上述六项分别记分后求和,总分按五级记分法记载最后成绩。优秀(10090分),良好(8089分),中等(7079分),及格(6069分),不及格(059分)目录1设计目的62软件开发环境与技术简介62.1 jsp技术62.2 servlet应用程序62.3 jdbc技术简介72.4 mvc设计模式72.5 struts框架介绍73需求分析84总体设计94.1系统功能结构94.2数据表结构95详细设计115.1struts配置115.2登录功能设计115.3分页显示信息125.3.1显

6、示用户信息125.3.2显示教师信息135.3.3显示学生信息145.3.4显示课程信息155.3.5显示成绩信息165.4查询信息165.4.1查询学生信息165.4.2查询用户信息175.4.3查询教师信息175.4.4查询课程信息175.4.5查询成绩信息175.5添加信息185.5.1添加学生信息185.5.2添加教师信息195.5.3添加课程信息195.5.4添加成绩信息195.6修改信息195.6.1修改学生信息195.6.2修改教师信息205.6.3修改课程信息215.6.4修改成绩信息225.7删除信息225.7.1删除学生信息225.7.2删除教师信息235.7.3删除课程信

7、息235.7.4删除成绩信息236系统测试236.1测试登陆236.2测试页码跳转功能246.3测试添加功能256.4测试删除功能266.5测试更新功能286.6测试查询功能287总结298参考文献 301设计目的 软件开发工具课程设计是一个综合性的设计型实验教学环节,旨在使学生通过软件开发的实践训练,进一步掌握业界流行的软件开发工具的使用;掌握使用业界流行的软件开发工具进行软件设计,开发和测试的方法与技术;进一步加深对软件工程方法和技术以及最新发展趋势和技术的了解;掌握数据的组织方法;提高软件开发的实际能力,培养创造性的工程设计能力和分析、解决问题的能力以及查阅和运用文献资料的能力

8、。2软件开发环境与技术简介2.1 jsp技术 jsp(java server pages) 技术是在传统的网页html文件(*.htm,*.html)中插入java程序段(scriptlet)和jsp标记(tag),从而形成jsp文件(*.jsp)。 jsp技术使用java编程语言编写类xml的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。jsp将网页逻辑与网页设计的显示分离,支持可重用的基于组件的设计,使基于web的应用程序的开发变得迅速和容易。 jsp(javaserver pages)是一种动态页

9、面技术,它的主要目的是将表示逻辑从servlet中分离出来。2.2 servlet应用程序 servlet是一种服务器端的java应用程序,具有独立于平台和协议的特性,可以生成动态的web页面。 它担当客户请求(web浏览器或其他http客户程序)与服务器响应(http服务器上的数据库或应用程序)的中间层。 servlet是位于web 服务器内部的服务器端的java应用程序,与传统的从命令行启动的java应用程序不同,servlet由web服务器进行加载,该web服务器必须包含支持servlet的java虚拟机。 一个servlet就是java编程语言中的一个类,它被用来扩展服务器的性能,服务

10、器上驻留着可以通过“请求-响应”编程模型来访问的应用程序。虽然servlet可以对任何类型的请求产生响应,但通常只用来扩展web服务器的应用程序。运行过程如图2.2所示。图2.2 servlet运行过程图2.3 jdbc技术简介 jdbc的全称为 java database connectivity ,是一套面向对象的应用程序接口,制定了统一访问各类关系型数据库的标准接口,为各个数据库厂商提供了标准接口的实现。它是一种可用于执行sql语句的javaapi(applicationprogramminginterface应用程序设计接口)。它由一些java语言编写的类和界面组成。jdbc为数据库应

11、用开发人员、数据库前台工具开发人员提供了一种标准的应用程序设计接口,使开发人员可以用纯java语言编写完整的数据库应用程序。 jdbc主要提供两个层次的接口,分别是面向程序开发人员的jdbc api(jdbc应用程序接口)和面向系统底层的jdbc drive api(jdbc驱动程序接口),它们的功能如上图2.1所示。图2.3 jdbc功能结构图2.4 mvc设计模式 mvc英文即model-view-controller,即把一个应用的输入、处理、输出流程按照model、view、controller的方式进行分离,这样一个应用被分成三个层模型层、视图层、控制层。 在 mvc 模式中,web

12、 用户向服务器提交的所有请求都由控制器接管。接受到请求之后,控制器负责决定应该调用哪个模型来进行处理;然后模型根据用户请求进行相应的业务逻辑处理,并返回数据;最后控制器调用相应的视图来格式化模型返回的数据,并通过视图呈现给用户。2.5 struts框架介绍 struts最早是作为apachejakarta项目的组成部分,项目的创立者希望通过对该项目的研究,改进和提高javaserver pages 、servlet、标签库以及面向对象的技术水准。struts这个名字来源于在建筑和旧式飞机中使用的支持金属架。这个框架之所以叫"struts",是为了提醒我们记住那些支撑我们房屋

13、,建筑,桥梁,甚至我们踩高跷时候的基础支撑。这也是一个解释struts在开发web应用程序中所扮演的角色的精彩描述。当建立一个物理建筑时,建筑工程师使用支柱为建筑的每一层提供支持。同样,软件工程师使用struts为业务应用的每一层提供支持。它的目的是为了帮助我们减少在运用mvc设计模型来开发web应用的时间。我们仍然需要学习和应用该架构,不过它将可以完成其中一些繁重的工作。如果想混合使用servlets和jsp的优点来建立可扩展的应用,struts是一个不错的选择。3需求分析本课程设计将通过软件业界流行的myeclispe开发环境,使用struts框架技术、jdbc数据访问技术和数据库技术设计

14、和开发一个学生成绩管理系统,该系统具有以下功能:1. 管理员:1)登录:管理员登录后进入系统主界面;可以修改自己的密码;2用户信息管理:将实现用户信息的增 、删、改、查功能;3)学生信息管理:将实现学生信息的增 、删、改、查功能;4)课程信息管理:将实现课程信息的增 、删、改、查功能;5)成绩信息管理:将实现成绩信息的增 、删、改、查功能;2. 教师:1)登录:教师登录后进入系统主界面;可以修改自己的密码;2)成绩信息管理:将实现成绩信息的增 、删、改、查功能;3. 学生:1)登录:学生登录后进入系统主界面;可以修改自己的密码;2)学生信息管理:将实现对自己信息的改、查功能;系统由欢迎界面进入

15、登录界面,登录成功后,系统主界面中要求使用上导航和左导航实现不同信息管理的切换;要求使用header和footer。要求界面美观易用, 符合用户使用习惯;功能完善,系统流程合理,数据处理正确。4总体设计4.1系统功能结构4.2数据表结构用户表学生表教师表课程表成绩表5详细设计5.1struts配置在web.xml中添加如下代码<!- 配置struts 2框架的核心filter -><filter><!- 配置struts 2核心filter的名字 -><filter-name>struts</filter-name><!- 配置

16、struts 2核心filter的实现类 -><filter-class>org.apache.struts2.dispatcher.filterdispatcher</filter-class></filter><!- 配置filter拦截的url -><filter-mapping><!- 配置struts 2的核心filterdispatcher拦截所有用户请求 -><filter-name>struts</filter-name><url-pattern>/*</ur

17、l-pattern></filter-mapping>5.2登录功能设计利用mvc三层构架,设计登录页面,如下图所示。login.actionexecute()userdaologin.jsp 当用户填写完用户名和密码之后点击登录,将信息提交给login.action,login.action将调用userdao的checklogin方法通过访问数据库对用户名、密码以及身份进行匹配,并将处理结果返回给前端,登录成功将跳至主页,否则回到登录页面。 页面设计,登录页面如图5.2-1所示。图5.2-1 登录页面5.3分页显示信息5.3.1显示用户信息利用mvc三层构架,设计主页页面

18、,主页页面能分页显示学生信息,如下图所示。user.actionexecute()ausermsg.jspuserdao用户信息 当用户登录成功之后,将信息提交给user.action的execute()方法,改方法将调用userdao的getusers方法设置pagebean各个属性,从数据库导出的学生信息也在pagebean中,并将pagebean的发送给前端,让前端分页显示学生信息,并且显示分页状态。页面设计,用户信息页面如图5.3-1所示。图5.3-1 用户信息5.3.2显示教师信息利用mvc三层构架,设计主页页面,主页页面能分页显示学生信息,如下图所示。ateachermsg.jsp

19、teacher.actionexecute()teacherdao教师信息当用户登录成功之后,将信息提交给teacher.action的execute()方法,改方法将调用teacherdao的getteachers方法设置pagebean各个属性,从数据库导出的学生信息也在pagebean中,并将pagebean的发送给前端,让前端分页显示学生信息,并且显示分页状态。页面设计,用户信息页面如图5.3-2所示。图5.3-2 教师信息5.3.3显示学生信息利用mvc三层构架,设计主页页面,主页页面能分页显示学生信息,如下图所示。astudentmsg.jspstudent.actionexecu

20、te()studentdao学生信息当用户登录成功之后,将信息提交给student.action的execute()方法,改方法将调用studentdao的getstudents方法设置pagebean各个属性,从数据库导出的学生信息也在pagebean中,并将pagebean的发送给前端,让前端分页显示学生信息,并且显示分页状态。页面设计,用户信息页面如图5.3-3所示。图5.3-3 学生信息5.3.4显示课程信息利用mvc三层构架,设计主页页面,主页页面能分页显示课程信息,如下图所示。aclassmsg.jspclass.actionexecute()classdao学生信息当用户登录成功

21、之后,将信息提交给class.action的execute()方法,改方法将调用classdao的getclass方法设置pagebean各个属性,从数据库导出的学生信息也在pagebean中,并将pagebean的发送给前端,让前端分页显示学生信息,并且显示分页状态。页面设计,用户信息页面如图5.3-4所示。图5.3-4 课程信息5.3.5显示成绩信息方法同上述一样。5.4查询信息5.4.1查询学生信息利用mvc三层构架,设计查询学生信息页面,如下图所示。student.actionslstudent()studentdao查询当用户填好查询条件和关键字之后,将信息提交给student.ac

22、tion的slstudent(),该方法将调用studentdao的getstudentsbywhere方法设置pagebean属性,并将pagebean的发送给前端,让前端分页显示学生信息,并且显示分页状态。5.4.2查询用户信息利用mvc三层构架,设计查询用户信息页面,如下图所示。user.actionsluser()userdao查询当用户填好查询条件和关键字之后,将信息提交给user.action的sluser),该方法将调用userdao的getusersbywhere方法设置pagebean属性,并将pagebean的发送给前端,让前端分页显示用户信息,并且显示分页状态。5.4.3

23、查询教师信息利用mvc三层构架,设计查询教师信息页面,如下图所示。teacher.actionslteacher()teacherdao查询当用户填好查询条件和关键字之后,将信息提交给teacher.action的slteacher(),该方法将调用teacherdao的getteachersbywhere方法设置pagebean属性,并将pagebean的发送给前端,让前端分页显示教师信息,并且显示分页状态。5.4.4查询课程信息利用mvc三层构架,设计查询课程信息页面,如下图所示。class.actionslclass()classdao查询当用户填好查询条件和关键字之后,将信息提交给cl

24、ass.action的slclass(),该方法将调用classdao的getclassbywhere方法设置pagebean属性,并将pagebean的发送给前端,让前端分页显示课程信息,并且显示分页状态。5.4.5查询成绩信息利用mvc三层构架,设计查询成绩信息页面,如下图所示。score.actionslscore()scoredao查询当用户填好查询条件和关键字之后,将信息提交给score.action的slscore(),该方法将调用scoredao的getscorebywhere方法设置pagebean属性,并将pagebean的发送给前端,让前端分页显示成绩信息,并且显示分页状态

25、。5.5添加信息5.5.1添加学生信息利用mvc三层构架,设计添加学生信息页面,如下图所示。student.actionaddstudent()studentdaoaddstudent.jsp当用户填写完学生信息之后,将信息提交给student.action的addstudent()方法,student.action将调用studentdao的addstudent方法把信息导入数据库,并将处理结果返回给前端。页面设计,添加学生信息页面如图5.5-1所示。图5.5-1 添加学生信息页面5.5.2添加教师信息利用mvc三层构架,设计添加教师信息页面,如下图所示。teacher.actionaddt

26、eacher()teacherdaoaddteacher.jsp当用户填写完学生信息之后,将信息提交给teacher.action的addteacher()方法,student.action将调用teacherdao的addteacher方法把信息导入数据库,并将处理结果返回给前端。页面设计,添加学生信息页面如图5.5-2所示。图5.5-2 添加教师信息5.5.3添加课程信息利用mvc三层构架,设计添加课程信息页面,如下图所示。class.actionaddclass()classdaoaddclass.jsp当用户填写完学生信息之后,将信息提交给class.action的addclass()

27、方法,class.action将调用classdao的addclass方法把信息导入数据库,并将处理结果返回给前端。页面设计,添加课程信息页面如图5.5-1所示。图5.5-2 添加课程信息5.5.4添加成绩信息方法同上。5.6修改信息5.6.1修改学生信息student.actionupstudent()利用mvc三层构架,设计修改学生信息页面,如下图所示。studentdaoupstudent.jsp当用户修改完学生信息之后,将信息提交给student.action的upstudent()方法,改方法将调用studentdao的updatastudent方法把信息导入数据库,并将处理结果返回

28、给前端,跳转至主页面。页面设计,更新学生信息页面如图5.6-1所示。图5.6-1 更新学生信息页面5.6.2修改教师信息teacher.actionupteacher()利用mvc三层构架,设计修改教师信息页面,如下图所示。teacherdaoupteacher.jsp当用户修改完教师信息之后,将信息提交给teacher.action的upteacher()方法,改方法将调用teacherdao的updatateacher方法把信息导入数据库,并将处理结果返回给前端,跳转至主页面。页面设计,更新教师信息页面如图5.6-2所示。图5.6-2 修改教师信息5.6.3修改课程信息class.acti

29、onupclass()利用mvc三层构架,设计修改课程信息页面,如下图所示。classdaoupclass.jsp当用户修改完课程信息之后,将信息提交给student.action的upstudent()方法,改方法将调用classdao的updataclass方法把信息导入数据库,并将处理结果返回给前端,跳转至主页面。页面设计,更新课程信息页面如图5.6-3所示。图5.6.3 修改课程信息5.6.4修改成绩信息方法同上。5.7删除信息5.7.1删除学生信息student.actiondestudent()利用mvc三层构架,设计删除学生信息页面,如下图所示。studentdao点击删除当用户

30、点击某一条记录后面的删除按钮之后,将信息提交给student.action的destudent()方法,改方法将调用studentdao的deletestuentbyid方法把数据库中的相关记录删除,并将处理结果返回给前端,刷新主页。5.7.2删除教师信息teacher.actiondeteacher()利用mvc三层构架,设计删除教师信息页面,如下图所示。teacherdao点击删除当用户点击某一条记录后面的删除按钮之后,将信息提交给teacher.action的deteacher()方法,改方法将调用teacherdao的deleteteacherbyid方法把数据库中的相关记录删除,并将

31、处理结果返回给前端,刷新主页。5.7.3删除课程信息class.actiondeclass()利用mvc三层构架,设计删除课程信息页面,如下图所示。classdao点击删除当用户点击某一条记录后面的删除按钮之后,将信息提交给class.action的declass()方法,改方法将调用classdao的deleteclassbyid方法把数据库中的相关记录删除,并将处理结果返回给前端,刷新主页。5.7.4删除成绩信息score.actiondescore()利用mvc三层构架,设计删除成绩信息页面,如下图所示。scoredao点击删除当用户点击某一条记录后面的删除按钮之后,将信息提交给scor

32、e.action的descore()方法,改方法将调用scoredao的deletescorebyid方法把数据库中的相关记录删除,并将处理结果返回给前端,刷新主页。6系统测试6.1测试登陆现有一用户注册的用户名为“唐思文”,密码是“123456”。测试用例一:在用户名文本框中输入“唐思文”,密码文本框中输入“12345678”,点击【登录】按钮以后跳转到failure.jsp,效果如图6.2-1所示。6.2-1 登录失败页面测试用例二:在用户名文本框中输入“凡晓庆”,密码文本框中输入“123456”,点击【登录】按钮以后跳转到主页。6.2测试页码跳转功能测试用例一:首先让系统处于首页,即第一

33、页,如图6.3-1所示。然后在页码跳转框里选择“2”,运行结果如图6.3-2所示。图6.3-1 第一页图6.3-2 第二页6.3测试添加功能测试用例一:在添加页面中,输入的学号不是11位,然后就按【确定】按钮,预期运行结果是弹出对话框,提示“学号格式不正确!添加失败!”,实际运行结果如图所示6.4-1。图6.4-1 添加失败页面测试用例二:已知学号为“10212812136”的学生已经存在,在学号文本框中输入“10212812136”,姓名为“唐思文”,预期结果是弹出对话框,提示“学号已存在!添加失败!”。实际运行结果如图6.4-3所示。图6.4-3 添加失败页面测试用例三:已知学号为“102

34、12812134”的学号不存在。在学号文本框中输入“10212812134”,姓名文本框中输入“张梦华”,预期运行结果是添加成功。实际运行结果如图6.4-4所示。图6.4-4 添加成功页面6.4测试删除功能删除前选中删除的学生,然后点击删除按钮。测试用例一:删除学号为10212812457,然后点击【删除】按钮。预期结果是弹出对话框,提示是否“确定要删除吗?”。实际运行结果如图6.5-1所示。然后如果点击“确定”,预期结果是选中的学生全部删除,运行结果如图6.5-2所示。然后如果点击的是“取消”,预期结果是删除操作无效,预期结果如图6.5-3所示。图6.5-1 删除确认图6.5-2 删除成功图6.5-3 取消删除6.5测试更新功能现在更新学号为“10310112101”学生,更新前信息如图6.6-1所示。测试用例一:将学生的性别由“男”改为“女”,专业由“制药工程”改为“生物化学”。运行结果如图6.6-2所示。图6.6-1 更新页面6.6测试查询功能测试用例一:查询条件选择“系别”,输入“经济与管理”,预期结果输出10行记录。实际运行结果如图6.7-1所示。图6.7-1 查询结果7总结 通过对做这次java web网站设计,使我对数据

温馨提示

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

评论

0/150

提交评论