已阅读5页,还剩44页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
=设计(论文)摘 要 基于J2EE Struts的教学管理信息系统,其开发工作包括后台数据库的建立、中间件开发及页面程序的开发。为了提高开发和维护效率,确定基于J2EE Struts框架完成开发,java编译环境为Eclipse,数据库采用SQL Server2000,Web服务器采用Tomcat。 Struts实质上是在JSP Model2的基础上实现的一个MVC框架。使用Struts可以大大简化Web应用的开发过程、提高开发效率。论文介绍了Struts的开发过程和框架流程。系统主要由七个子模块构成,本文介绍奖惩管理子系统的开发,这部分主要完成对学生奖励和惩罚信息的登记以及奖励和惩罚信息的查询。 通过本课题的研究,熟练掌握了Struts框架的开发流程,并基于该框架完成了一个子系统各部分功能模块的开发,所开发系统可以充分提高教学管理工作的质量与效率,使之更好地为广大师生服务。关 键 词:J2EE、Struts、MVC、教学管理信息系统Abstract J2EE Struts-based management information system of teaching, the development work includes the establishment of database, middleware, program development and the development of the page. In order to improve the efficiency of development and maintenance to determine the completion of the development framework based on J2EE Struts, java compilation environment for Eclipse, a database using SQL Server2000, Web server with Tomcat. Struts JSP Model2 is essentially based on the implementation of a MVC framework. Using the Struts Web application can greatly simplify the development process, improve development efficiency. This paper introduces the development process and framework Struts processes. System mainly consists of seven sub-modules, this paper describes the development of incentive management subsystem, which some of the major rewards and punishments for students to complete the registration information and the reward and punishment information inquiries. Through this research project, master of the Struts framework development process, and based on the framework to complete some of the features of a subsystem of the module development, the development system management can take to improve the teaching quality and efficiency, to better for the majority of students and teachers. Keywords: J2EE, Struts, MVC, teaching management information systems 目录1 绪论41.1 课题背景41.2 论文选题及研究内容42 相关理论及技术52.1 J2EE 技术52.1.1 J2EE 简介52.1.2 Servlet52.1.3 JSP52.1.4 sun公司提出的两个Java Web开发规范:JSP模型一和JSP模型二62.2 开发环境Eclipse72.3 tomcat服务器72.4 数据库72.5 MVC模式82.5.1 MVC设计模式82.5.2 MVC模式处理过程82.5.3 为什么要使用MVC模式92.5.4 MVC模式的优点92.6 struts框架102.6.1 Struts框架简介102.6.2 Struts的配置文件112.6.3 Struts实现MVC机制112.6.4 Struts工作流程112.6.5 Struts中的数据传递133具体设计1331 需求分析133.2 奖惩管理子系统流程分析133.3 数据库设计163.4 组件173.5 组件具体设计1735.1 AwdManageBean的设计173.5.2 AwdManageActionForm设计183.5.3 DBAwdManageModel设计183.5.4AwdManageAction设计183.6 配置文件的设计183.7系统运行过程及效果图194 结论224.1 总结224.2 不足与展望23致谢25参考文献26附录27基于J2EE Struts框架实现教学管理信息系统1 绪论1.1 课题背景随着改革开放和现代化建设的不断深入,信息化己经成为覆盖现代化建设全局的战略举措。要通过信息化带动工业化,通过工业化促进现代化,从而加快我国现代化建设的步伐。因此为了跟进我国信息化的发展趋势,并提高学校教育教学质量、减轻教师的劳动强度,开发基于信息管理系统的学生管理系统的需求就迫在眉睫。随着教育体制的改革,提高全民素质,高校招生名额每年以一定的速度递增,各高校的招生人数按不同程度的比例增加,在短短的几年中,各高校的在校学生人数己是原来学生人数的几倍。各个高校在原有硬件,软件条件下,很难适应当前的办校规模,给教学管理带来了巨大的不便,也为教学管理提出了更高的要求。为了保证教学质量,最大程度的发挥软硬件的作用,就必须提供一个开放的、易扩展、易维护的高校教学管理系统。 传统教育管理方式有很多不便,诸于重复建设,管理混乱,安全性差,工作效率低下,系统扩展性差,基于弊端越来越明显,随着我国计算机的普及,以及信息化的发展,完全可以通过计算机系统来弥补这些不足。将数据存储在数据库中,管理人员可以十分方便的检索出想要的信息并对信息进行管理维护,可以随时对学生的成绩排名进行分析,因为数据是存储在计算机系统中的,所以进行分析的速度和结果都可以保障。因此可以通过教学管理信息系统大大提高学校的整体工作效率,从而提高学校的教学质量。通过开发基于J2EE架构的教学管理系统,可以让教师在学生日常管理中准确把握学生信息;让领导层对学生从入学到毕业的信息做到准确把握、宏观控制,及时地采取相应的措施,对学校出现的情况进行处理,并根据数据分析可以做出正确的决策。1.2 论文选题及研究内容 论文课题为基于J2EE struts的教学管理信息系统,本选课系统基十J2EE技术,采用MVC设计模式架构,使用B/S体系结构,服务端采用SQL Server 2000数据库系统和JSP组件来构成应用服务系统。本系统主要由考务管理、基本信息、奖惩管理等七个子系统构成,我负责的是奖惩管理子系统,主要完成学生奖励、惩罚信息的登记和查询。2 相关理论及技术2.1 J2EE 技术2.1.1 J2EE 简介 现阶段,Java 2平台共有3个版本,分别是适用于小型设备和智能卡的Java2平台Micro版(Java 2 Platform Micro Edition, J2ME )、适用于桌面系统的Java2平台标准版(Java 2 Platform Standard Edition, J2SE )、适用于创建服务器应用程序和服务的Java 2平台企业版(Java 2 Platform Enterprise Edition, J2EE )。J2EE就是Java技术的一个杰出分支,是一种利用JAVA2平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。利用Java2平台,开发人员可以用Java建立几乎任何类型的应用程序。J2EE是一套开发标准,而不是一个现成的产品。事实上,Sun设计J2EE的初衷正是为了解决两层模式(client/server)的弊端,在传统模式中,客户端担当了过多的角色而显得臃肿,在这种模式中,第一次部署的时候比较容易,但难于升级或改进,可伸展性也不理想,现在J2EE的多层企业级应用模型将两层化模型中的不同层面切分成许多层。为搭建具有可伸缩性、灵活性、易维护性的系统提供了良好的机制。2.1.2 ServletServlet是使用Java语言编写的,Java Servlet是Java Web(Java Web应用由一组Servlet、JSP页、类以及其他可被绑定的资源构成)应用的基础,是与平台无关的服务器端组件,实质上是一种特殊的java类。它运行于Java Web容器中,可以接收客户端发来的请求对象,并完成对客户请求的业务逻辑处理,在处理的过程中,它可以与其他服务器资源如数据库进行通信,最后将产生的处理结果返回给客户端。2.1.3 JSPJSP技术是对Servlet技术的扩展,是编写动态页面的语言,它在J2EE标准中,运行在服务器端,支持表现层的实现。JSP页面由HTML代码和嵌入其中的JAVA代码所组成。服务器在页面被客户端请求以后对这些JAVA代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。 JSP的具体执行过程如下:(1)通过客户端的浏览器,以超文本(HTML)形式通过表单向Web服务器提出请求。(2)服务器得到客户端的请求后,由Web服务器上的JSP引擎把JSP代码、相关组件、Java脚本以及HTML代码,转化为Servlet代码。 (3)由JSP引擎调用Web服务器端的Java编译器对Servlet代码进行编译。(4)由Java虚拟机执行编译文件,并把客户端的请求结果以标准HTML页面形式返回。JSP并不适合于内部逻辑错综复杂的流程控制以及代码容易出现混乱,而Servlet却善于此项工作,但是相对于JSP,在内容表现上Servlet远不及JSP来得方便简单,当需要改变WEB 应用程序的外观时, 开发人员就要在很多Servlet代码中修改大量的代码,为了突出Servlet与JSP的优点,将他们相结合采用MVC模式设计。2.1.4 sun公司提出的两个Java Web开发规范:JSP模型一和JSP模型二模型一又称做以JSP为中心的设计模型,它的架构如图2.1 图2.1 JSP模型一可以看出,其中的JSP负责与客户端通信,处理所有的请求和响应。数据库的存取直接由JSP完成,有时由一些JavaBean辅助完成。JavaBean的任务就是在不同的JSP之间通信。 在这个模型里,系统的工作过程如下: (1) JSP接到一个客户端请求并处理此请求。 (2) JSP使用JavaBean读取在Applicatin对象中共享的状态信息,或者是通过JavaBean存取数据库中的信息。 (3)JSP也可以直接使用数据库中的信息。 (4) JavaBean可以存取数据库中的信息。 (5) JSP可以将输出结果格式化为用户可以阅读的形式,发送给客户端。在这一模型中,显示数据的逻辑和数据有了一定程度的区分,但是业务逻辑是和显示数据的逻辑混合在JSP里面,JSP既要负责业务的流程控制,又要负责显示视图数据,同时充当视图和控制器的功能,并没有实现视图和控制器的分离,只能说是在一定程序上实现了MVC。Model 1适合简单应用的需要,但不适合开发复杂的大型应用程序。从某种意义上来说,JSP Model2是对JSP Modell的改进,是完全程度上的MVC模式。在JSP Model2中,模型、视图、控制器这三个角色分别由JavaBean, JSP, Servlet充当,Servlet先接受用户的请求,然后根据用户的需求创建JavaBean对象,进行业务处理,最后选择合适的JSP文件把处理结果返回给用户,如图2.2所示:图2.2 JSP模型二作为控制器的Servlet负责接收客户端的请求,并根据请求的类型选择一个JavaBean对象,并把从请求的处理过程中取得的结果作为初始化参数传给JavaBean对象,同时Servlet也可以直接与数据库打交道,它通常只实现与当前业务相关的功能块,可以通过多个Servlet结合完成比较复杂的业务逻辑,这样Servlet的重用性好。作为视图的JSP仅仅从JavaBean中读取数据,JavaBean直接与数据库通信,存取数据库中的数据,最后由JSP把动态内容展现给用户。在这一模式中JSP和Servlet分工明确,JSP只负责动态内容的显示,而Servlet只负责业务流程的控制,做为模型的JavaBean充当了JSP和Servlet之间的通信工具。这突出了JSP/Servlet各自的优点,最小化了它们的缺点。2.2 开发环境Eclipse Eclipse是一个开放的、通用的、可扩展的集成开发环境。本质上,Eclipse是一组松散绑定且互相连接的代码块,这些代码块就是插件,插件是Eclipse平台实现的基本思想,是能够被分离开发和发布的Eclipse平台的最小的软件功能单元。2.3 Tomcat服务器 Tomcat是一个开放源代码、运行Servlet和JSP应用的基于Java的Web应用软件容器可以通过集成开发环境开发基于Tomcat的Web应用程序。Tomcat是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。另外,Tomcat还具有处理HTML页面的功能。2.4 数据库本系统数据库采用的是SQL Server 2000,由于必须建立Java与SQL Server2000的连接,数据库必须安装SP3补丁。SQL Server 2000是一个关系数据库管理系统,数据库系统根据数据库的设计按照一定规则将数据信息以某种数据模型组织起来进行存储,通过数据库管理系统完成数据信息的插入、删除、修改、查询等操作。同时考虑数据信息的一致性、完整性和安全性。一个数据库由若干张表组成,一个数据信息表示一些相关信息的集合。表的每一行代表一个记录,每一列代表一个字段,每个字段都必须有进行操作对应的数据类型和数据大小。2.5 MVC模式2.5.1 MVC设计模式MVC是Model-View-Control的简称,即模型-视图-控制器。MVC最早是为编程语言Smalltalk-80发明的一种软件设计模式,最近被广泛用于sun公司的J2EE平台。MVC的核心思想是分离用户界面、数据和业务流程,实现软件功能模块化,并减少模块之间的耦合效应。也就是在需要更改其中的某一部分比如用户界面时,其他部分不会受到较大的影响。MVC作为一种设计模式,它强制地把应用程序的输入、处理和输出分开。它将程序分成三个核心模块:模型、视图、控制器,分别担负不同的任务。1. 视图视图是和用户交互的界面。它向用户显示相关的数据,同时也接受用户输入的数据, MVC模式中视图它自身不进行任何的事务处理, 视图可以向模型查询业务状态,但不能改变模型。视图还能接受模型发出的数据更新时间,从而对用户界面进行同步更新。2模型模型主要负责表示业务数据和进行业务处理。业务的处理过程对其它层来说是黑箱操作,模型接受视图请求的数据,并返回最终的处理结果。一个模型能为多个视图提供数据,提高了应用的可重用性。3. 控制器 控制器接受用户的输入并调用模型和视图去完成用户的需求。所以当单击Web页面中的超链接和发送html表单时,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后用确定用哪个视图来显示模型处理返回的数据。2.5.2 MVC模式处理过程首先控制器接受用户的请求,并决定应该调用哪个模型来进行处理;然后,模型根据用户请求进行相应的业务逻辑处理,并返回数据;最后控制器将模型返回的数据格式化为相应的视图,通过表示层(表示层是系统数据的展示层,只负责数据的显示,提供与客户的交互界面)呈现给用户。MVC模式处理过程如图2.3所示:图2.3 MVC模式处理过程2.5.3 为什么要使用MVC模式首先,最重要的是应该有多个视图对应一个模型的能力。在目前用户需求的快速变化下,可能有多种方式访问应用的要求。其次,由于模型返回的数据不带任何显示格式,因而这些模型也可直接应用于接口的使用。 最后,由于一个应用被分离为三层,因此有时改变其中的一层就能满足应用的改变。一个应用的业务流程或者业务规则的改变只需改动MVC的模型层。2.5.4 MVC模式的优点MVC要求对应用分层,虽然要花费额外的工作,但产品的结构清晰,产品的应用通过模型可以得到更好地体现。(1)把软件分成三个部分,同时它们之间是松耦合的关系,极大地减少了它们之间的相互影响。把显示、业务逻辑数据分开,这样一方面的改变不会影响另一方面,或者说把影响降低到了最小的程度,这样增加了组件的灵活性,可以在不更改视图的情况下,更改控制器,以达到更改视图与用户交互的响应模式,同样,也可以在不改变模型和控制器的情况下改变用户的显示界面,满足用户的显示要求,多个视图能可以共享一个模型。(2)增加了组件的可移植性。因为模型是独立于视图的,所以可以把一个模型独立地移植到新平台工作,而这样需要做的只是在新平台上对视图和控制器进行修改。(3)提高了代码和组件的重用性。在基于MVC模式构架的软件中,同一个模型组件可以被多个视图共享,而一个视图可以使用多个模型。(4)程序的可扩展性。MVC模式的引入,系统的模块化程度高,这些模块之间是松耦合的关系,就象电源的插座、插头,可以很轻松地更换,视图和控制器对象,也可以根据需要动态地打开或者关闭、甚至在运行期间进行对象替换。2.6 struts框架2.6.1 Struts框架简介所谓的框架(Framework)是指软件的架构方式。为框架的体系提供了一套明确机制,从而让开发人员很容易的扩展和控制整个应用的结构,框架是可以进行扩展的软件系统或子系统的半成品 一个成功的软件需要有一个成功的架构,但软件架构的建立是一个复杂而又持续改进的过程,不可能对每个不同的项目做不同的架构,而总是尽量重用以前的架构,或开发出尽量通用的架构方案,Struts就是其中一个。 Struts是一项开放源码项目,它为Java Web应用提供了MVC框架,它是一种适合于多层软件开发项目的,可重用的,易扩展的,而且是经过良好测试的软件框架。Struts为Web应用提供了一个通用的框架,使得开发人员可以把精力用在如何解决实际业务问题上。此外,Struts框架提供了许多供扩展定制的地方,应用程序可以方便的扩展框架,来更好的适应用户的实际需求。Struts由一组相互协作的类(组件)、Servlet以及JSP标签库组成。框架中所使用的组件:1, ActionServlet控制器,它提供了一个中心位置来主要负责将Http客户请求组装后,根据配置文件指定的描述,转发到适当的处理器。2, Action响应用户请求,业务逻辑的实现者3,ActionForm负责封装JSP视图中的表单数据,它的子类的属性与表单中的字段一一对应。4, ActionMapping帮助控制器将请求映射到Action类,并且将Action类与ActionForm bean相关联。5, ActionForward用来指示操作转移的对象,就是对将要转向的视图的地址的一个封装。6, ActionError用来存储和回收错误7, Struts标记库可以减轻开发显示层次的工作2.6.2 Struts的配置文件Struts 的核心是控制器ActionServlet ,而ActionServlet 的核心是配置文件是struts - config.xml( XML即可扩展标记语言,HTML算是它的一个子集,是一种用于创建自定义标记的标记语言) , 主要用于Struts框架的配置,该配置文件的主要作用是建立控制器与模型之间的联系。它描述了控制器将客户请求映射到对应处理的请求法则,同时还描述了客户提供的数据与ActionForm 组件的对应映射关系。此外,该配置文件的另一作用是将逻辑名映射到物理路径,使得物理路径与程序路径无关。在该配置文件中,每个Action的映射信息都通过一个元素来配置。这些配置信息在系统启动的时候被读入内存,供Struts在运行期间使用。2.6.3 Struts实现MVC机制Struts实质上就是在JSP Model2的基础上实现的一个MVC框架。使用Struts框架可以减少使用MVC架构模式来开发Web应用的时间。其开源性,使开发者能更深入的了解其内部实现机制。在Struts框架中,模型由ActionForm和JavaBean组成,其中ActionForm用于封装用户的请求参数,封装成ActionForm对象,该对象被ActionServlet转发给Action,Action根据ActionFrom里面的请求参数处理用户的请求。JavaBean则封装了底层的业务逻辑,包括数据库访问等;控制器接受请求并决定将这个请求发往何处,由ActionServlet和Action来实现,ActionServlet类是Struts框架中的核心组件。ActionServlet主要负责接收HTTP请求信息,根据配置文件Struts-config.xml的配置信息,把请求转发给适当的Action对象。如果该Action对象不存在,ActionServlet会先创建这个Action对象。Action类负责调用模型的方法,更新模型的状态,并帮助控制应用程序的流程;视图由一组JSP文件构成,JSP页面显示数据并负责向模型提交页面数据,在这些文件之中只有标签,还包括Struts框架中的ActionForm Bean。Struts框架利用ActionForm Bean来进行视图和控制器之间表单数据的传递。2.6.4 Struts工作流程采用Struts的Web应用,在应用启动时就会加载并初始化ActionServlet,ActionServlet从Struts-config.xml文件中读取配置信息流程为:(1) 用户发出一个以. do 作为后缀的HTTP 请求,所有的.do 请求均被控制器ActionServlet 截取(2) ActionServlet通过对struts-config.xml查询路径的映射,映射标明改请求是否对应FromBean,如果没有,就返回用户请求路径无效的信息。有则查看是否己经生成FromBean实例,如果没有则创建一个,把客户提交的表单数据保存到ActionForm对象中(3)如果请求FromBean,根据配置信息决定是否需要进行表单验证。如果需要验证,就调用ActionForm的validate()方法,如果验证成功,则进入Action中,否则依照规则返回相应的JSP页(4) ActionServlet根据根据映射文件ActionMapping实例包含的映射信息决定将请求转发给哪个Action。如果相应的Action实例不存在,就先创建这个实例,Action对象接受请求,从ActionForm中获得数据,然后调用Action的execute()方法,进行数据处理 (5) Action运算结束后,execute()方法返回一个ActionForward对象,依照控制器里的mapping查询,寻找forward的下一个目标,JSP或者另一个Action,进行跳转。(6)如果完成跳转,结果显示给用户,则完成此次请求。客户端从发出请求到获得响应整个过程的图解说明如图2.4所示:图2.4 Struts工作流程2.6.5 Struts中的数据传递 Struts中的数据传递主要涉及到JSP页面,actionform bean和action类。其中,actionform bean是终结者,它既负责从页面获取数据后提交给action类处理,也负责将action类的处理结果传递给页面。3具体设计31 需求分析最近几年,随着教育规模的不断扩大,信息量变得越来越大,使得管理工作量成倍增加,因此,用先进的理念和开发技术设计一种全局性的、能够实现数据共享,减少重复操作,提高管理效率的教学管理系统己经迫在眉睫。教学管理系统是学生在校期间经常见到并使用的一类系统,通过分析,我们所设计的教学管理信息系统分为七个子系统,有考务管理、基本信息、奖惩管理等。本文介绍的奖惩管理子系统包括四个模块:奖励登记,奖励查询,惩罚登记,惩罚查询。奖励登记模块功能为:通过选择要录入学生所在专业,年级、班级查询出符合条件的所有学生列表,在该列表中录入获奖学生的奖励类型、奖励级别以及学年、学期等信息;奖励查询用于查询显示获奖学生信息;惩罚部分与之类似。功能模块如下:图3.1 奖惩管理子系统功能框图3.2 奖惩管理子系统流程分析首先在奖励登记页面中选择专业,年级,学年,学期,选择相应的学生进行奖励录入,包括奖励和奖励级别;然后在奖励查询页面中就可以查询到获奖学生的详细信息;在惩罚登记页面中选择专业,年级,学年,学期,选择相应的学生进行惩罚录入,包括惩罚和惩罚原因;然后在惩罚查询页面中就可以查询到受惩学生的详细信息,流程图3.2和图3.3所示:开 始进入登陆界面,输入用户名和密码选择“奖惩管理”,进入奖惩管理子系统查询还是登记选择“奖励查询” 查询 登记选择“奖励登记”,在欲登记学生栏里选择奖励名称、类型、学年等信息显示学生获奖详细信息提 交结 束图3.2 奖励登记、查询流程图开 始进入登陆界面,输入用户名和密码选择“奖惩管理”,进入奖惩管理子系统查询还是登记选择“惩罚查询” 查询 登记选择“惩罚登记”,在欲登记学生栏里选择惩罚名称、类型、学年等信息显示学生受罚详细信息提 交结 束图3.3 惩罚登记、查询流程图3.3 数据库设计在我的奖惩管理子系统中,主要创建了两个表:奖励管理表awdManage和惩罚管理表punishManage,引用的有学生信息表stdInfo,专业表Speciality ,年级表Grade,学年表Year,以学生奖励表和惩罚表为例说明表的建立表3.1奖励管理表awdManage字段名字段说明数据类型数据宽度备注stdAwdID奖励管理IDint4主键,非空stdNO学 号varchar50无stdName学生姓名varchar50无stdMajor学生专业varchar50无awdName奖励名称varchar50无awdType奖励类型varchar50无awdDate登记时间varchar50无awdYear学 年char10无awdTerm学 期char10无awdDiscription奖励备注varchar50无表3.2 惩罚管理表punishManage字段名字段说明数据类型数据宽度备注stdPunishID惩罚管理IDint4主键,非空stdNO学 号varchar50无stdName学生姓名varchar50无stdMajor学生专业varchar50无punishName惩罚名称varchar50无punishType惩罚类型varchar50无punishDate登记时间varchar50无punishYear学 年char10无punishTerm学 期char10无punishDiscription惩罚备注varchar50无3.4 组件在奖惩管理子系统中,用到的组件有:模型组件:有12个StdInfoBean,YearBean,GradeBean,SpecialityBean,AwdManageBean,PunishManageBean,StdInfoActionForm,YearActionForm,GradeActionForm,SpecialityActionForm, AwdManageActionForm,PulishManageActionForm,DBStdInfoModel, DBYearModel, DBGradeModel, DBSpecialityModel, DBAwdManageModel, DBPulishManageModel视图组件:有9个awdPunishManageBar.jsp(奖惩管理子系统页面),awdTree.jsp(奖励登记树结构),pulishTree.jsp(惩罚登记树结构),awdReg.jsp(所选专业学生列表并登记奖励),punishReg.jsp(所选专业学生列表并登记惩罚),regSuccess.jsp(登记成功提示页面)allAwdList.jsp(奖励查询结果及删除页面),allPunishList.jsp(惩罚查询结果及删除页面)控制组件:4个中心类Servlet和Action类,有AwdManageAction,PulishManageAction,StdInfoAction3.5 组件具体设计 下面以奖励登记为例说明组件的具体设计35.1 AwdManageBean的设计类中包含了StuAward表的各个字段,并包含了相应的set和get方法来设置和获取相应的属性。部分代码如下:public class AwdManageBean private int stdAwdID;/定义对应StuAward表中的字段.public void setStdAwdID(int stdAwdID) /设置每个字段的值 this. stdAwdID = stdAwdID;. public int getStdAwdID() /获取相应字段的值 return stdAwdID; .3.5.2 AwdManageActionForm设计页面上的用户数据由相应的ActionForm类封装后传递到Action类进行处理。它包括get方法和set方法:set方法用于actionForm类从页面获取数据,而get方法用于action类从actionForm中获取数据。部分代码如下:public class AwdManageActionForm extends ActionFormprivate String action; /定义对应StuAward表中的字段 private int stdAwdID;.public void setAction(String action) /actionForm从页面获取数据 this.action = action;.public String getAction() /用于action类从actionForm中获取数据 return action;.3.5.3 DBAwdManageModel设计 它是数据库操作类,通过调用数据来操作数据库。在这里需要完成的功能主要是数据的查询、插入、删除。详细代码见附录,先介绍几个核心函数的作用。 alist = this.loadDBs(myDBTrans,key); /获取页面上录入的信息, return alist; /返回保存信息的列表 this.insertDB(myDBTrans); /想数据库StuAward表中插入录入的信息 return Sys.RESULT_RIGHT; /返回保存信息列表 alist.add(myAwdManageBean); /将页面上录入的信息并保 /存到对应的myAwdManageBean中3.5.4 AwdManageAction的设计 用户点击发出HTTP请求被控制器获取,根据配置文件信息来选择一个具体的Action来处理具体的业务逻辑。代码见附录。3.6 配置文件的设计配置文件一方面进行ActionForm的配置,以AwdManageActionForm为例:;/定义了ActionForm / 的名字和类的完全限定名 另一方面进行ActionMapping的配置,:/定义了请求与相 /应Action的对应关系 /定义了引用/action类的相对路径,转向的jsp页面名称3.7系统运行过程及效果图登陆界面如下: 输入用户名及密码,点击登录即可进入教学管理信息系统。奖惩管理子系统界面:从功能列表中选择奖惩管理,转到awdPunishManageBar.jsp:可以看到,在奖惩管理子系统中,包括四个模块,分别是奖励登记,奖励查询,惩罚登记,惩罚查询。树结构界面:点击“奖励登记”,将进入AwdManageAction.do中,根据配置文件信息将转到AwdManageAction这个Action中,当找到此操作类的时候,将实例化这个类,并且根据Struts-config.xml中的配置信息,将实例化一个AwdManageActionForm类,在这个类中定义了请求表单的相应选项,请求的信息将被封装在这个对象中传递给AwdManageAction对象。AwdManageAction根据接收的AwdManageActionForm对象,取出其中的action属性,这里的属性值是tree,操作类将实例化一个数据库操作对象并从中输出应信息,将这些信息写入到请求属性中再传入tree。部分代码如下if(form.getAction().equals(tree). ./当传递的参数为tree时 servletRequest.setAttribute(grlist,glist);/ 循环获得年级列表servletRequest.setAttribute(splist,sList);/ 循环获得专业列表return actionMapping.findForward(awardTree);/返回以上信息的列表从Struts-config.xml的配置信息中可以看到awdTree指向的是awdTree.jsp,即ActionServlet把请求转入这个JSP页面,如下显示相关专业学生信息页面:点击“一班/二班”,StdInfoAction根据接收的StdInfoActionForm对象,取出其中的action属性,这里的属性值是awdReg,操作类将实例化一个数据库操作对象并从中输出相应信息,将这些信息写入到请求属性中再传入awdReg。部分代码如下if(form.getAction().equals(awdReg)/当传递的参数为awdReg时StdInfoBean sib=new StdInfoBean(); sib.setStdSplCode(form.getStdSplCode(); /从StdInfoBean获得专业列表sib.setStdGrade(form.getStdGrade(); /从StdInfoBean获得年级列表sib.setStdClass(form.getStdClass();/从StdInfoBean获得班级列表return actionMapping.findForward(awdReg);/返回以上信息的列表从Struts-config.xml的配置信息中可以看到awdReg指向的是awdReg.jsp,即ActionServlet把请求转入这个JSP页面,如下在奖励登记下选择专业,学号,年级,班级,得到相应的学生名单,从中选择录入奖励信息,包括奖励名称、奖励类型、登记日期学年、学期、备注等。完成后按提交按钮。AwdManageAction根据接收的AwdManageActionForm对象,取出其中的action属性,这里的属性值是submit,操作类将实例化一个数据库操作对象并从中输出相应信息,将这些信息写入到请求属性中再传入submit。部分代码如下if(form.getAction().equals(submit)/当传递的参数为submit时 AwdManageBean amb = new AwdManageBean();amb.setStdMajor(form.geStdMajor();/从AwdManageBean 获得专业amb.setStdNo(form.geStdNo(); /从AwdManageBean获得学号amb.setStdName(form.geStdName();/从AwdManageBean获得姓名amb.setStdAwdName(form.getStdAwdName();/从AwdManageBean获得奖励名称amb.setStdAwdDate(form.getStdAwdDate();/从AwdManageBean获得登记日期amb.setStdAwdTerm(form.getStdAwdTerm();/从AwdManageBean获得学期amb.setStdAwdType(form.getStdAwdType();/从AwdManageBean获得奖励类型amb.setStdAwdYear(form.getStdAwdYear();/从AwdManageBean获得学年amb.setStdAwdDiscription(form.getStdAwdDiscription();/从/AwdManageBean获得奖励备注return actionMapping.findForward(regSuccess); /跳转到登记成功界面从Struts-config.xml的配置信息中可以看到regSuccess指向的是regSuccess.jsp,即ActionServlet把请求转入这个JSP页面,如下奖励查询界面:点击“奖励查询”,AwdManageActio根据接收的StuAwardActionForm对象,取出其中的action属性,这里的属性值是load,操作类将实例化一个数据库操作对象并从中输出相应信息,将这些信息写入到请求属性中再传入load。部分代码如下if(form.getAction().equals(load)/当传递的参数为load时DBAwdManageModel dbam = new DBAwdManageModel ();/实例化一个DBA
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 水果类采购合同范本
- 瑜伽器械购买合同范本
- 高一英语教学设计及实施方案
- 八年级生命安全教育详细教案设计
- 小古文师旷论学教案
- 语文天地三北师大版一年级上册教案
- 寻找雨具的缺点教案(2025-2026学年)
- 高中语文第一单元我思故我在荣誉爱荣誉教案
- 小学语文一年级下册教案春风吹过我心田
- 微分方程建模中的若干问题市公开课金奖市赛课教案
- 2025年英语四级考试试卷及答案
- 处方药学类试题及答案
- 《资产负债表(适用执行民间非营利组织会计制度的组织)》
- 机房运维考试试题及答案
- 2025年残疾人士救助金发放合同
- 《发票发票知识培训》课件
- 泵站工岗位责任制模版(2篇)
- 《铁路技术管理规程》(普速铁路部分)
- 2024年秋季新版苏科版八年级上册物理课件 跨学科实践 乐器的调查与制作
- 科普专家团管理制度内容
- 离职员工不损害公司声誉保证书
评论
0/150
提交评论