毕业设计论文)基于Struts的学生管理系统的设计与实现

上传人:无*** 文档编号:74431025 上传时间:2022-04-13 格式:DOC 页数:45 大小:1.80MB
收藏 版权申诉 举报 下载
毕业设计论文)基于Struts的学生管理系统的设计与实现_第1页
第1页 / 共45页
毕业设计论文)基于Struts的学生管理系统的设计与实现_第2页
第2页 / 共45页
毕业设计论文)基于Struts的学生管理系统的设计与实现_第3页
第3页 / 共45页
资源描述:

《毕业设计论文)基于Struts的学生管理系统的设计与实现》由会员分享,可在线阅读,更多相关《毕业设计论文)基于Struts的学生管理系统的设计与实现(45页珍藏版)》请在装配图网上搜索。

1、JIANGXINORMALUNIVERSITY学 士 学 位 论 文THESIS OF BACHELOR(20062010年)基于Struts的学生管理系统的设计与实现Design and Implementation of Student Management System Based on Struts 指 导 老 师 : 姓 名 : 学 号 : 0667110111 学 院 : 软 件 学 院专 业 : 软 件 工 程完 成 时 间 : 2010 年4 月 I目录摘 要学校的学生管理是教学管理的一个重要内容, 传统的管理方法、手段以及工作效率已不能适应新的发展需要,无法很好地完成学生管理

2、工作。学生管理系统的应用提高了学校学生管理的效率。本学生管理系统是基于Struts框架实现的系统,后台数据库采用的是MySQL。系统有三个用户即管理员、教师和学生。管理员的功能有学生管理模块、教师管理模块、课程管理模块和班级管理模块,这些模块中,除了基本的删除、添加、查询外,还具有更加详细的查询内容。教师可以选择上课的学生并为学生录入成绩,学生可以选课并维护自己的个人信息。本文首先简单介绍了系统的开发背景、使用的相关技术然后详细阐述了系统的设计与实现过程。关键词:学生管理;Struts;JSP;MySQL2AbstractThe student management of the school

3、 is an important content in the teaching management.Traditional education management the method, means and work efficiencies have already cant adapt the new development demand, cant complete the teaching management work nicely. Student Management System to improve the efficiency of the management sc

4、hool students.The student management system is Implementation based on the frame of Sturts,use the MySQL database.there are three kinds of the user: Administration、Teacher and Student, the function of the administration are student management modules,teacher management modules ,course management mod

5、ules and class management modules.Basic functions such as delete, add and query are realized in these modules,and more detailed query contents are added in the modules.Teacher could choose the student and give the score of the student.Student could enroll in and search personal information,the funct

6、ion relatively falls well-found, can satisfy the request between student and teacher basically. This article first introduces the system development background, the use of related technologies and then detail the system design and implementation.Key words:Student management;Struts;JSP;MySQL 目 录第1章 绪

7、论11.1系统的开发背景11.2系统开发的目标11.3本系统的内容1第2章 系统相关技术概述32.1 JSP技术介绍32.1.1 JSP 简介32.1.2 JSP的优缺点42.2 Struts介绍42.2.1 MVC模式42.2.2 Struts 框架52.2.3 Struts标签库.62.3 JDBC介绍82.4 MySQL Server简介9第3章 系统分析与设计103.1系统业务流程图103.2数据流图103. 3系统用例分析.123.3.1 前台用例图123.3.2 后台用例图133.4系统数据库设计143.4.1数据库设计原则143.4.2数据库概念设计153.4.3 数据库逻辑结构

8、设计16第4章 系统关键技术应用194.1 系统的架构设计.194.2 Struts 框架在系统中的应用204.1.1 Struts一般开发流程204.1.2 系统中各类的实现204.1.3 系统Struts的配置21第5章 系统的实现235.1系统包结构235. 2 用户登陆.245. 3 后台管理登录功能实现.255. 4 管理员功能实现.285. 5 教师功能实现.325. 6 学生功能模块实现.345.7 系统分页的实现35第6章 总结.38参考文献39致谢40第1章 绪论第1章 绪论1.1 系统的开发背景随着互联网的发展,利用INTERNET 技术来实现“无纸办公”这个概念已经深入人

9、心,如何利用现有的资源,来更好地服务于学校的教学,服务于学校的管理工作,是摆在我们面前的一个共同的命题。就目前而言,学校的学生管理方式还停留在手工操作基础上,每个学期和学年,教师需要花费大量的时间来录入学生成绩,文件档案也是使用传统人工的方式,管理人员需要花费较多的时间来进行管理,例如对学校的学生、教师、班级等的管理。这种传统人工的管理方式存在着许多缺点:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。学生管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生管理系统应该能够为用户提供充足的信息和快捷的查

10、询手段。本学生管理系统的开发就是为了减少教师的手工操作、提高学校学生管理的效率。1.2 系统开发的目标本系统的目标是能够促使学生管理规范话、系统化、程序化、自动化,最大限度保证数据的安全对于基于网络的学生管理系统显得尤为重要,新的学生管理系统不仅能够给学校教学提供便利的服务,而且具有很好的扩展性和可延伸性,方便系统的日后维护和升级。1.3本文的主要内容本学生管理系统的用户权限有三个,分别是系统管理员、教师和学生。系统管理员可以实现对整个系统的管理,如:学生管理、教师管理、班级管理和课程管理,在这些管理中,管理员可以增加、删除、修改相关的信息以及查询符合条件的信息等功能。教师的主要功能是录入学生

11、成绩、查看选报我课程的学生、是否接受学生的选课和查看个人信息等。学生的主要功能是选课、查看已选课程、查看个人信息、修改密码等。系统在具体的实现过程中,为了方便用户操作等,利用Ajax技术实现实时校验,即当管理员增加一个学生或是增加班级等信息时,系统会自动查找当前增加的信息是否在数据库已经存在,如果当前的信息和数据库中的信息匹配则可提示用户,当前信息已存在请重新输入。本文首先简单介绍了系统的开发背景、开发目标、使用的相关技术然后详细阐述了系统的设计与实现过程。第1章简述了系统的开发背景和目标,以及系统的主要内容。第2章简单的介绍了系统的相关技术。第3章主要是系统的分析与设计。第4章介绍了系统关键

12、技术的应用。第5章介绍了系统的实现。第6章是个人的总结。第2章 系统相关技术概述第2章 系统相关技术概述2.1 JSP技术介绍2.1.1 JSP简介 JSP(JavaServer Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp) 67。 用JSP开发的Web应用是跨平台的,即能在Linux下运行,也能在其他操作系统上运行。JSP技术使用Java编程语言编写类X

13、ML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。 Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。 JSP与Java Servlet一样,是在服务器端执行的,通常返回该客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。 J

14、SP的1.0规范的最后版本是1999年9月推出的,12月又推出了1.1规范。目前较新的是JSP1.2规范,JSP2.0规范的征求意见稿也已出台。JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。Java Servlet 是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。 自JSP推出后,众多大公司都支持JSP技术的服务器,如IBM、Or

15、acle、Bea公司等,所以JSP迅速成为商业应用的服务器端语言。2.1.2 JSP的优缺点 JSP技术的优点:(1)一次编写,到处运行。在这一点上Java比PHP更出色,除了系统之外,代码不用做任何更改。(2)系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比ASP/PHP的局限性是显而易见的。 (3)强大的可伸缩性。从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。 (4)多样化和功能

16、强大的开发工具支持。这一点与ASP很像,Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。JSP技术的缺点:(1)与ASP一样,Java的一些优势正是它致命的问题所在。正是由于为了跨平台的功能,为了极度的伸缩能力,所以极大的增加了产品的复杂性。 (2)Java的运行速度是用class常驻内存来完成的,所以它在一些情况下所使用的内存比起用户数量来说确实是“最低性能价格比”了。从另一方面,它还需要硬盘空间来储存一系列的.java文件和.class文件,以及对应的版本文件。2.2 Struts介绍2.2.1 MVC模式整个系统采用了MVC模式

17、进行设计。MVC模式是一种流行的软件设计模式,它把系统分为3个模块:模型(Model)、视图(View)和控制器(Controller)1014。各个模块的功能说明参见表2.1所示。表2.1 MVC的三个模块MVC模块描述模型代表应用程序状态和业务逻辑视图提供可交互界面,向客户显示模型数据控制器响应客户的请求,根据客户的请求来操纵模型,并把模型的响应结果经由视图展现给客户各个模块之间的相互作用如图2.1所示。客户可以从视图的客户界面上浏览数据或发出请求,客户的请求由控制器处理,它根据客户的请求调用模型的方法,完成数据更新,然后调用视图的方法将响应结果展示给客户。视图也可以直接访问模型,查询数据

18、信息,当模型中的数据发生变化时,它会通知视图刷新界面,显示更新后的数据。采用MVC模式有很多好处:一是能将显示、逻辑和数据分开,某一方面的改变不会影响另一方面;其次是可以在不更改视图显示的情况下,更改控制器,以达到更改视图与用户交互的响应模式的目的。图2.1 MVC模型图2.2.2 Struts框架(1)Struts框架结构及工作原理Struts是把MVC设计模式运用到Web应用中,它由一组相互协作的类(组件)、Servlet以及标记库组成,其结构如图2.2所示。Struts是一个使用Servlet和JSP在Java中实现MVC模式的开放源代码工程,它继承了MVC的各项特点,并根据J2EE的特

19、点,作了相应的变化和扩展。Servelet/Jsp容器Action控制器ActionServlet模型ActionFormBeanJavaBeanWeb 客 户ActionWeb Server视图JSPAction图2.2 Struts框架结构图2.2 Struts框架结构图 (2)Struts框架的运行机制为了更好的理解Struts的流程,下面通过一个活动图更具体描述接受请求直至返回响应的整个过程10,如图2.3所示。图2.3 Struts响应用户请求的工作流程2.2.3 Struts标签库用过struts1.xml的人都知道,标签库有html、bean、logic、tiles,而strut

20、s2.0里的标签却没有分类,只用在jsp头文件加上就能使用struts2.0的标签库下面就介绍下每个标签的用法:A: -超链接,类似于html里的;-执行一个view里面的一个action;-如果action的errors有值那么显示出来;-如果action的message有值那么显示出来。B:-类似于struts1.xml中的,JavaBean的值。C:-复选框;-多选框。D:-获取日期格式;-日期输入框;-显示错误信息;-表示一个块,类似于html的;-双下拉框。F:-获取相应form的值。G:-和标签一起使用。H:-在里使用,表示头文件结束;-隐藏值。I:-包含一个输出,servlet或

21、jsp页面;-用于遍历集合。L:-只读的标签。P:-为其他标签提供参数;-密码输入框;-得到value的属性。R:-单选按钮;-重置按钮。S:-单选框;-提交按钮。T:-表格;-I18n文本信息;-文本域输入框;-文本输入框;-拦截器。U:-创建url。2.3 JDBCJDBC(Java数据库连接)是Java程序45与数据库系统通信的标准API,它由一组用Java语言编写的类和接口组成。有了JDBC,只需用JDBC API编写一个程序,就可实现向各种关系数据库发送SQL语言。Java程序和JDBC驱动程序的关系如图2.4所示。本系统中通过JavaBean与JDBC API的连接。图2.4 Ja

22、va程序与JDBC驱动程序2.4 MySQL ServerMySQL3是最流行的开放源码SQL数据库管理系统,它是由MySQL AB公司开发、发布并支持的。MySQL AB是由多名MySQL开发人创办的一家商业公司。它是一家第二代开放源码公司,结合了开放源码价值取向、方法和成功的商业模型。(1)MySQL是一种关联数据库管理系统。关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大的仓库内。这样就增加了速度并提高了灵活性。MySQL的SQL指得是“结构化查询语言”。SQL是用于访问数据库的最常用标准化语言,它是由ANSI/ISO SQL标准定义的。SQL标准自1986年以来不断演化发展

23、,有数种版本。(2)MySQL软件是一种开放源码软件。“开放源码”意味着任何人都能使用和改变软件。任何人都能从Internet下载MySQL软件,而无需支付任何费用。如果愿意,你可以研究源码并进行恰当的更改,以满足你自己的需求。MySQL软件采用了GPL(GNU通用公共许可证),定义了在不同情况下可以用软件作的事和不可作的事。如果你对GPL不满意,或需要在商业应用程序中嵌入MySQL代码,可从我方购买商业许可版本。更多信息,请参见MySQL许可概述。 (3)MySQL数据库服务器具有快速、可靠和易于使用的特点。如果它正是你所寻找的,不妨一试。MySQL服务器还有一套实用的特性集合,这些特性是通

24、过与我们用户的密切合作而开发的。在我们的基准测试主页上,给出了MySQL服务器和其他数据库管理器的比较结果。MySQL服务器最初是为处理大型数据库而开发的,与已有的解决方案相比,它的速度更快,多年以来,它已成功用于众多要求很高的生产环境。尽管MySQL始终在不断发展,但目前MySQL服务器已能提供丰富和有用的功能。它具有良好的连通性、速度和安全性,这使的MySQL十分适合于访问Internet上的数据库。 (4)MySQL服务器工作在客户端/服务器模式下,或嵌入式系统中。 MySQL数据库软件是一种客户端/服务器系统,由支持不同后端的1个多线程SQL服务器,数种不同的客户端程序和库,众多管理工

25、具和广泛的应用编程接口API组成。我们还能以嵌入式多线程库的形式提供MySQL服务器,你可以将其链接到你的应用程序,从而获得更小、更快、和更易管理的产品。9第3章 系统分析与设计第3章 系统分析与设计3.1 系统业务流程图根据对该学生管理系统进行深入分析可得到以下系统流程图8,如图3.1所示。 3.1 系统业务流程图学生管理系统的业务流程图主要是描述用户登录后,根据不同的权限进行相应的操作。管理员可以进行课程管理、班级管理、学生管理和教师管理,教师主要是实现成绩管理和信息查询,学生可以进行选课和信息查询。3.2 系统数据流图数据流图8是一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中

26、所经受的变换,是系统逻辑功能的图形表示,管理员数据流图如图3.2所示、教师数据流图如图3.3所示、学生数据流图如图3.4所示。图3.2 管理员数据流图管理员数据库流图主要是描述管理员进行管理时数据的流向,当管理员进行学生管理、教师管理时,数据将存储在用户表中。当进行课程管理时,数据存储在课程信息表中。当进行班级设置时,将数据存储在班级信息表中。图3.3 教师数据流图教师数据流图主要是描述教师进行相应操作时,数据的主要流向。当教师录入成绩时,将录入的成绩存储在成绩表中。教师从班级信息表中查看班级信息、从班级用户视图中查看课程信息。图3.4 学生数据流图学生数据流图主要是描述学生进行操作时,数据的

27、流向,学生从成绩表中可以查看自己的成绩。从成绩课程视图中查看班级信息和选课。39第3章 系统分析与设计3.3系统用例分析3.3.1系统前台用例图对于系统,学生可以查询自己的信息、查看可以选修的课程信息、查询已选修了的所有课程的信息和成绩等信息,学生的用例图如图3.5所示。教师主要是录入学生某门课程的成绩等。教师的用例图如图3.6所示。图3.5 学生用例图学生用例图主要是描述学生用例的主要功能,有选课、成绩查询、查看课程信息和修改密码。图3.6 教师用例图教师用例图主要是描述教师用例的主要功能,有成绩管理和个人信息的修改。3.3.2系统后台用例图我们的系统后台操作是针对系统管理员工作设计的,系统

28、管理员拥有所有权限,教师根据工作拥有部分权限。系统管理员主要是日常操作以下几个工作环节:学生管理、教师管理、课程管理、班级管理。如图3.78所示。图3.7 系统后台用例图系统后台用例图主要是描述系统管理员用例的主要功能,管理员用例可以进行课程管理、班级管理、学生管理和教师管理,并进行增加、删除和修改。3.4系统数据库设计3.4.1数据库设计原则数据库的设计应该遵循数据库设计的基本原则,为后期的系统开发实现提供支持。在进行系统数据库设计时一般应该遵循的基本原则主要如下9:(1)一致性系统数据库设计要符合数据一致性原则。数据的一致性是指表示同一个客观事物的数据,在同一时刻无论出现在何处都应该是一致

29、的,正确的。在关系型数据库中,事务执行的结果必须是使数据库从一个一致性状态转变到另一个一致性状态。当事务完成时,必须使所有数据都具有一致的状态。由于数据库面向整个系统,可以被多个应用程序和多个用户共享数据。(2)规范化系统的数据库设计应遵循规范化原则。规范化一般分为几个级别:1NF,2NF, 3NF, 4NF,BCNF。一般原则上要采用第三范式要求进行设计。(3)完整性数据库的完整性是指数据的正确性。主要是需要防止合法用户使用数据库时向数据库加入不符合语义的数据,保护数据结构不受损害,防止错误数据输入和输出,对输入到数据库中的数据要有预定义的规则约束。(4)安全性在系统的数据库中集中了大量数据

30、,是系统正常运行的基础,因此,数据的安全性是数据库设计中一个比较重要的问题,保护数据安全主要指保护数据库数据,防止非授权用户使用数据库或合法用户非法操作数据库而造成数据的泄露、改变或破坏。因此,在设计时候,应该提供相应保护数据安全的手段。(5)可伸缩性数据库结构的设计应该在满足现有系统功能应用需求的基础上,充分考虑业务发展的需要、移植的需要,满足可伸缩性、可扩展性和移植性等要求。(6)可维护和管理在进行数据库设计时,应该考虑易于对数据进行管理和维护,提高系统运行效率。3.4.2数据库概念设计为了使用户的数据要求清楚、准确地描述出来,通常需要建立一个概念性的数据模型。概念数据模型是一种面向问题的

31、数据模型,是按照用户的观点对数据建立的模型。它描述了从用户的角度看到的数据,反映了用户的现实环境,而且与在软件系统中的实现无关,经过对数据的各种分析, 该系统涉及到的实体有:管理员信息实体、学生信息实体、教师信息实体、班级信息实体、课程信息实体。系统总体结构功能模块设计后,将对数据库进行设计,本系统运用的是关系数据库,数据之间的结构关系可用E-R图9来分析。E-R图由实体、属性、实体之间的关系三部分组成。如图3.8所示。图3.8 系统E-R图系统E-R图主要是描述各实体间的关系,本系统的实体有管理员、教师、学生、班级、课程。管理员可以更新课程和班级信息,还能管理学生。教师和学生间的关系主要是教

32、师为学生录入成绩。学生和课程间的关系是学生可以选修课程,学生和班级间的关系是学生属于某个班级。3.4.3 数据库逻辑结构设计 在本系统中的不同功能模块中,涉及到的数据多种多样,作用各不相同,同时又互相联系。系统的许多功能都要涉及到数据库中的不同的表,而数据库中的表的设计和表之间关系的设计,是数据库设计的重点。通过对ER图各实体的分析,得到如下的相关表格。(1)用户信息表(user):用户信息表保存了所有用户的信息,id是表的主键,power(权限)字段有三个值:分别是1,2,3。1代表管理员,2代表教师,3代表学生。title(职称)字段允许为空,只有老师有职称:讲师、副教授、教授。如表3.1

33、所示。表3.1 用户信息表序号字段名字段类型说明备注1id Varchar(32)id号Primary Key2nameVarchar(32)登陆姓名NOTNULL3passwordVarchar(32)登陆密码NOTNULL4powerVarchar(32)用户权限NOTNULL5titleVarchar(32)教师职称6rollVarchar(32)学籍7jiguanVarchar(100)籍贯8departmentVarchar(100)系别9sexVarchar(32)性别10markInt(11)总学分11telVarchar(100)电话号码12phoneVarchar(100)手

34、机号码13emailVarchar(100)电子邮箱(2)课程信息表(course):course表保存了所有课程的信息,cour_id作为表的主键,课程名不允许为空,如表3.2所示。表3.2 课程信息表序号字段名字段类型说明备注1cour_idVarchar(100)课程号Primary Key2nameVarchar(100)课程名NOTNULL3markInt(11)学分4prepareVarchar(100)预选课5depVarchar(100)系别(3)班级信息表(classes):class_id作为表的主键, 班级信息表中的cour_id对应课程信息表中的cour_id,tea_

35、id对应用户信息表中的id,如表3.3所示。表3.3 班级信息表序号字段名字段类型说明备注1class_idVarchar(100)班级号Primary Key2tea_idVarchar(100)教师号Foreign Key3room_idVarchar(100)教室号Foreign Key4cour_timeVarchar(100)上课时间(4)成绩信息表(enrol): 成绩信息表中的class_id对应的是班级信息表中的class_id,而stu_id对应的是用户信息表中的id,如表3.4所示。表3.4 成绩信息表序号字段名字段类型说明备注1idInt(11)ID号Primary Ke

36、y1class_idVarchar(100)班级号Foreign Key2stu_idVarchar(100)学生号Foreign Key3acceptVarchar(100)是否被接受4scoreVarchar(100)分数(5)选课信息表(stu_enrol): 选课信息表中的class_id对应班级信息表中的class_id,stu_id对应的是用户信息表中的id,通过class_id找到班级信息表中的cour_id,在通过cour_id对应找到课程信息表中的cour_name.而通过stu_id对应到成绩信息表中stu_id,可以查找到score。如表3.5所示。表3.5 选课信息表序

37、号字段名字段类型说明备注1class_idVarchar(100)班级号Foreign Key2cour_nameVarchar(100)课程名3stu_idVarchar(100)学号Foreign Key4scoreVarchar(100)分数5markVarchar(100)学分6totalmarkVarchar(100)总学分第4章 系统关键技术应用第4章 系统关键技术应用4.1系统的架构设计整个系统架构采用基于MVC模式Struts框架10,视图用JSP或HTML显示,业务在JavaBean中实现,控制由Action类的实例控制。系统运行后,用户通过浏览器访问系统,看到的只能是视图层

38、,在视图层上,用户进行相应操作。视图层由若干JSP页面组成。控制器的核心是Struts.xml配置文件,它控制着页面的跳转,是系统的控制中心。真正的业务在JavaBean类中体现,JavaBean类由若干个业务类组成,对业务的操作一般需要操作数据库。学生管理系统框架结构图见图4.1。浏 览 器Web 浏 览 器视图(JSP)控 制 器(ActionServlet)ActionActionStruts.xml模 型(JavaBean)DataBase图4.1系统框架结构图4.2 Struts 框架在系统中的应用4.2.1 Struts一般开发流程(1)收集和定义应用需求;(2)定义视图,视图上的

39、数据显示以及视图之间的流程;(3)定义ActionMappings,建立业务逻辑之间的关系;(4)根据每个用户视图需要的模型数据创建ActionForm;(5)开发业务逻辑处理组件;(6)编写Action对象,完成请求到业务逻辑处理的桥(Action类中也可以编写业务逻辑处理代码,但是这样不利于程序的维护、扩展);(7)建立配置文件struts.xml,web.xml等;(8)开发部署。4.2.2 系统中各类的实现(1)Action类Action类负责控制器的实现,主要用于控制理模块中的Action类,如表4.1所示。表4.1 学生管理系统中的Action 类类名说明ClassActionCl

40、assAction接收封装在ClassInfo中的数据,并根据struts.xml中的method属性的值来判断班级管理模块中的操作,并调用相应的模型中的业务实现类,完成有关视图中的页面请求并产生响应。(2)persistence类Persistence类主要是负责与数据库连接,将用户输入的数据库插入到数据库中,如表4.2所示。表4.2 学生管理系统中的persistence 类类名说明ClassDAOImpl将JSP页面中的数据,通过ClassAction类传递到DAO中,插入classes表(3)JavaBean类JavaBean类负责封装数据的实现,学生管理系统中的JavaBean类具体

41、见表4.3所示。表4.3 学生管理系统中的JavaBean 类类名说明NewPagerNewPage封装了实现分页的方法NewPagerServiceNewPagerService封装了实现上一页、下一页和最后一页的实现MD5.javaMD5实现了对用户密码的转换DBConnection用来负责对数据库的连接,并封装了对数据的操作方法。4.2.3 系统Struts的配置对于struts.xml10 14配置文件,其主要是实现从JSP页面转到JAVA类,在通过result中的name属性转回到JSP页面,并将数据显示现JSP页面中,下面给出几个例子。 用户登录功能的配置: /login.jsp

42、login /teacher.jsp /student.jsp /admin.jsp /login.jsp /login.jsp 学生管理的代码配置: viewStudent /admin_add_StudentError.jsp /admin_display_Student.jsp /admin.jsp viewStudent /admin_delete_StudentError.jsp /admin_student_Information.jsp /admin.jsp /admin_student_Information.jsp /admin.jsp 第5章 系统的实现第5章 系统的实现5

43、.1系统包结构该系统包目录结构如图5.1所示。图5.1 包结构图包stu.persistence存放的是众多的Dao接口和所有Dao接口的实现类如图5.2所示。图5.2 包stu.persistence目录结构包stu.service存放的是众多的Facade接口和所有的Facade接口的实现类如图5.3所示。图5.3 包stu.service目录结构包stu.action放的是所有的action 类,用于和JSP页面连接然后又通过返回值,从struts.xml中找到相应的配置,实现控制的功能,如图5.4所示。图5.4 包stu.action目录结构包stu.util放的是与数据库连接的DBC

44、onnection类,如图5.5所示。图5.5 包stu.util目录结构5. 2 用户登陆用户登陆时,根据用户登陆的用户ID和密码来判断用户的权限是管理员、老师还是学生,然后分别转入不同的页面,如图5.6所示。图5.6 用户登陆5.3后台管理登录功能实现进入后台管理,需要使用用户编号和密码登录,验证成功后才可以进入系统,具体实现思想为:打开login.jsp,如下图所示,输入用户号和密码到loginValidtae,进入validateAction中通过loginValidate.java得到JSP页面输入的用户号、姓名和验证码,首先判断输入的验证码是否正确,如果错误,返回登陆页面提示验证码

45、错误,如果正确接着判断用户名和密码是否正确,在UserDAOImpl中有一些具体的实现方法。如果正确进入后台,否则提示用户名或密码错误,返回登陆界面,效果如图5.7所示。 图5.7 管理登陆界面这是登陆的login.jsp页面,form表单里有用户输入的用户各、密码和验证码。用户ID密码验证码 根据struts.xml中的配置如下所示,找到与login.jsp页面中form表单上的与struts.xml配置文件中相似的action,然后根据result的name属性值进行跳转。 /login.jsp login /teacher.jsp /student.jsp /admin.jsp /log

46、in.jsp /login.jsp 下面是LoginAction.java中的代码:public class LoginAction private String user_Name; /login.jsp页面的用户名private String user_Password;/login.jsp页面的密码private String user_Code;/login.jsp页面的验证码private UserFacade userFacade;public LoginAction() userFacade = new UserFacadeImpl();public String login()

47、boolean flag=false;UserInfo user=new UserInfo();user.setName(user_Name);user.setPassword(user_Password);try/这里调用UserDAOImpl中的login()方法,login()返回的是一个boolean类型的值flag=userFacade.login(user);if(flag=true)这是调用UserDAOImpl中的selectUserByName()方法,返回一个UserInfo对象UserInfo userIn=userFacade.selectUserByName(user

48、_Name);HttpServletRequest request=ServletActionContext.getRequest();HttpSession session = request.getSession();/将用户的信息用session保存在user中session.setAttribute(user, userIn);/获取Image.jsp页面生成的验证码String code=(String)(session.getAttribute(rand);/获得登陆用户的权限并将其转化为整型int power=Integer.parseInt(userIn.getPower();

49、if(code.equals(user_Code)if(power=1) /用户权限是1表示登陆的用户是学生,返回字段studentreturn student; /用户权限是2表示登陆的是教师用户,返回字段teacherelse if(power=2) return teacher;/如果登陆的用户权限即不是1也不是2,则表示登陆的是管理员,返回字段/adminelse return admin;elsereturn codeError;5.4管理员功能实现管理员管理模块的功能有:学生管理、教师管理、课程管理、班级管理、个人信息。首先管理员登陆后进入如图5.8所示图5.8 管理员登陆页面(1)学生管理:对学生信息的添加、删除、修改,还可以根据学生所在的系别和学籍来搜索符合条件的学生,实现的思想是,先定义一个接口UserDAO,然后定义了一个类Use

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!