毕业设计论文Web程序设计—网页设计

上传人:仙*** 文档编号:146325083 上传时间:2022-08-31 格式:DOC 页数:35 大小:1.55MB
收藏 版权申诉 举报 下载
毕业设计论文Web程序设计—网页设计_第1页
第1页 / 共35页
毕业设计论文Web程序设计—网页设计_第2页
第2页 / 共35页
毕业设计论文Web程序设计—网页设计_第3页
第3页 / 共35页
资源描述:

《毕业设计论文Web程序设计—网页设计》由会员分享,可在线阅读,更多相关《毕业设计论文Web程序设计—网页设计(35页珍藏版)》请在装配图网上搜索。

1、 JIANGXINORMALUNIVERSITY学 士 学 位 论 文THESIS OF BACHELOR(20062010年) 题目:Web程序设计网页设计Topic: 指导教师: 学 院: 软件学院 专 业: 软件工程 姓 名: 学 号: 完 成 时 间 : 2012年4 月 摘要摘要目前,学校与社会上的考试基本都采用传统的考试方式,随着社会的进步,考试类型的不断增加及考试要求的不断提高,老师的工作量将会越来越大。计算机网络理论知识点多,算法抽象难懂,故如何提高理论知识的学习效率,科学、规范地评价教学质量是很多授课老师关注的问题。本系统采用软件工程指导方法,J2EE(Struts2+Hib

2、ernate3+Spring2.5)平台技术,选择B/S模式(Browser/Server)的设计方案,利用 Mysql数据库设计软件,MyEclipse开发工具所开发。本系统分为系统管理、用户管理、公告管理、题库管理、试卷管理和成绩管理六个子模块。利用本系统不仅可以强化理论知识的学习,而且实现了“公平、公正、客观、全面”地考核学生,是评价教学质量的有效途径。本文以计算机网络题库为背景,论述系统的整体架构思路,提出系统的功能模块划分,并对各个子模块进行详细设计。本系统具有结构清晰、界面统一、易实施、易维护、易升级的优点。最后,本文着重描述系统核心功能模块的实现过程中所使用的主要设计思想和技术手

3、段。关键词:题库管理系统;SSH(Struts2+Spring+Hibernate);DAO;UMLIAbstractAbstractRecently, school and social examination almost follow a traditional way. The style and demands of examination are increasing due to the development of the society, which resulted in the increase of workload of the teachers. Computer

4、network has much of key information in theoretic, and the arithmetic of that is hard to be understand, thus, the most important things that the school teachers care about are how to improve the study efficiency and how to score the quality of teaching scientifically and in a standard way. Software e

5、ngineering technique、J2EE technique 、Browser/Server (for project design)、Mysql database (for software design) and MyEclipse are used to develop this system. This system is consisted of six units: system management、user management、pronouncement management、former examination collections management、tes

6、t paper management and score management. People can strengthen the study of theoretic, and can examine the students more fairly、justly、impersonally and generally, with the use of this system. It is a effective approach to score the quality of teaching.This study is based on former examination collce

7、tions of computer network. The entire design of this system is discussed in this study in which different function units are plotted out and each of the units are designed detailedly. This system has many advantages as follows: clear structure、unite interface、making it easy to carry into execution、m

8、aintain and update. In conclusion, the emphases in this study are the central design thought and technique approach that used in the achievement of the central function unit of the system.Key Words: MIS of examination question bank;SSH(Struts2+Spring+Hibernate);DAO;UMLII目录目录第1章 绪论11.1 引言11.2 目标和意义11

9、.3可行性研究21.3.1 经济上可行性21.3.2 技术上可行性21.3.3 运行上可行性21.3.4 法律可行性31.4本文内容主要安排3第2章 系统相关技术介绍42.1 J2EE技术介绍42.2 MVC模式42.3 Struts2框架介绍52.4 DAO设计模式62.5 UML与面向对象设计72.6 Hibernate 框架介绍72.7 Spring 框架介绍8第3章 系统的分析与设计113.1 功能分析113.1.1 角色分析113.1.2 用例分析113.2功能设计133.3数据分析143.3.1 数据库需求分析143.3.2 系统E-R图143.4 数据库设计15第4章 系统模块设

10、计与实现194.1 用户登录194.1.1 设计思想194.1.2 实现204.2 公告管理224.2.1设计思想224.2.2 实现234.3 分页和批量删除244.3.1 设计思想244.3.2 实现244.4题库管理254.4.1 设计思想254.4.2 实现25第5章 总结285.1 系统总结285.2 个人总结28参考文献29致谢30IV第1章 绪论第1章 绪论1.1 引言目前,学校与社会上的考试基本都采用传统的考试方式,随着社会的进步,考试类型的不断增加及考试要求的不断提高,老师的工作量将会越来越大。在这种情况下,传统的考试方式已经不能适应现代考试的需要。随着高校人数的增多,这些弊

11、端就会更加明显地暴露出来。正因为这样,急需一个方便、实用的出题系统来自动生成试卷,现代计算机技术的发展已具备开发这样一个系统的条件,有了这样的系统,能减轻教师的工作负担及提高工作效率,与此同时也提高了考试的质量,从而使考试更加公证!客观!更加激发学生的学习兴趣。题考试方式已经不能适应现代考试的需要。本系统是一个中小型系统,按照“度身定制,量体裁衣”的原则进行设计开发,在充分调查研究基础上,进行详细的需求分析,清晰的数据库设计,设计开发出很好适应了当前形势。本系统是基于B/S模式,开发采用了J2EE架构解决方案,选用了Struts2-MVC技术,Struts2+Spring+Hibernate为

12、开发主框架,数据库使用MySql进行数据库管理,从而实现了数据访问和业务逻辑的分离,以及业务数据的对象化封装;计算机网络题库管理系统是针对计算机网络课程教师和学生,为能减轻教师的工作负担及提高工作效率,同时提高学生考试的质量。本项目就是在这样背景下提出的。 1.2 目标和意义本项目的目标主要是通过Struts-MVC轻量级架构实现了J2EE的多层结构。实现了View呈现层,Model模型层, Controller控制层的分离,并采用DAO模式实现了数据访问和业务逻辑的分离,以及业务数据的对象化封装。在计算机网络题库管理系统中,是充分利用面向对象设计的思想,采用面向接口的编程,避免任何特定平台或

13、非标准化,加强了代码的可重用性,为后来开发更复杂的业务逻辑做好铺垫工作。开发计算机网络题库系统的目的在于最大限度的发挥校园网络的优势,用科学系统的管理方法来屏蔽掉该计划实施过程中数据量大,人工操作复杂烦琐且容易出错,数据质量和人工操作中的信息流程难以控制等问题带来的诸多不便。因此,开发出来的选课系统应该具有把该计划的实施从繁重低效率的纯人工劳动中解放出来的功能。提高管理工作的效率、提高信息的开放性、改善学生和教师对其最新信息查询的准确性。大大能减轻教师的工作负担及提高工作效率,与此同时也提高了考试的质量,从而使考试更加公证!客观!更加激发学生的学习兴趣。本系统的智能功能,能自动判断输入数据的合

14、法性,系统的严格权限规则,使得不同用户只能执行权限范围内的操作,维护数据的可靠性与保密性。本系统支持数据的输入,并提供全面数据的导入导出功能,方便管理。系统开发追求易用性,稳定性,安全性和易扩展性,使之能适应计算机网络老师和学生的需要。1.3可行性研究1.3.1 经济上可行性现在,计算机的价格已经十分低廉,性能却有了长足的进步,并且网络的普及也越来越广。本网站的开发体现了以下几个特点第一,本网站的运行可以给计算机网络教师和学生带来很大的便利;第二,本网站的运行可以节省许多资源;第三,本网站的运行可以大大的提高学习的效率;所以,本网站在经济上是可行的。1.3.2 技术上可行性本系统的开发我利用M

15、ySql作为本系统的数据库,它是一个支持多用户的新型数据库,适用于大中规模的数据量需求。使用MyEclipse +Tomcat作为本网站的开发环境,保证了模块化要求,而模块化的提高,非常有利于以后对新系统的扩展与修改。综上所述,本系统的设计与开发在技术上和硬件设备上的条件都是满足的,因此,它在技术上是可行的。1.3.3 运行上可行性本系统为一个计算机网络题库管理系统,所耗费的资源非常的小,电脑无论是硬件还是软件都能够满足条件,因此,本系统在运行上是可行的。1.3.4 法律可行性本系统纯为私人设计,在开发过程中没有涉及合同、责任等与法律相抵触的方面。因此,本系统在法律上是可行的。1.4本文内容主

16、要安排本论文系统的阐述计算机网络课程题库管理系统的开发分析过程、设计思想和模块功能实现,并全面介绍系统模块中关键技术的运用及实现过程。第一章简述本系统的开发背景、目标意义以及可行性研究。第二章概述系统开发采用的相关技术。对所采用的Struts2-MVC技术以及J2EE的多层架构做了相关介绍。第三章阐述系统开发的分析和设计过程,包括系统体系分析、系统功能设计、业务流程设计、数据库设计等。第四章有选择性的详细描述计算机网络课程题库管理系统的主要功能模块的设计与实现,如题库管理模块。第五章对系统进行总结。30第2章 系统相关技术介绍第2章 系统相关技术介绍 2.1 J2EE技术介绍J2EE是一种利用

17、Java2平台简化企业解决方案的开发、部署和管理相关复杂问题的体系结构。J2EE技术的基础就是J2SE(Java2平台标准版),J2EE不仅巩固了标准版中的许多优点,例如“编写一次、随处运行”的特性、方便存取数据库的JDBC API 技术,以及能够在Internet应用中保护数据的安全模式等,同时还提供了对EJB、Java Servlets API、JSP及XML技术的全面支持。J2EE体系结构提供中间层集成框架用来满足无需太多费用而又需要高可用性、高可靠性及可扩展性的应用的需求。提供对现有应用程序集成强有力的支持,完全支持EJB,有良好的向导支持打包和部署应用,其优势主要是为找寻具有可伸缩性

18、、灵活性、易维护性的业务系统提供了良好的机制。2.2 MVC模式MVC英文即Model-View-Controller,即把一个应用的输入、处理、输出流程按照Model、View、Controller的方式进行分离,这样一个应用被分成三个层模型层、视图层、控制层。 视图(View)代表用户交互界面,对于Web应用来说,可以概括为HTML界面,但有可能为XHTML、XML和Applet。随着应用的复杂性和规模性,界面的处理也变得具有挑战性。一个应用可能有很多不同的视图,MVC设计模式对于视图的处理仅限于视图上数据的采集和处理,以及用户的请求,而不包括在视图上的业务流程的处理。业务流程的处理交予模

19、型(Model)处理。比如一个订单的视图只接受来自模型的数据并显示给用户,以及将用户界面的输入数据和请求传递给控制和模型11。模型(Model):就是业务流程/状态的处理以及业务规则的制定。业务流程的处理过程对其它层来说是黑箱操作,模型接受视图请求的数据,并返回最终的处理结果。业务模型的设计可以说是MVC最主要的核心。控制(Controller)可以理解为从用户接收请求, 将模型与视图匹配在一起,共同完成用户的请求。划分控制层的作用也很明显,它清楚地告诉你,它就是一个分发器,选择什么样的模型,选择什么样的视图,可以完成什么样的用户请求。控制层并不做任何的数据处理。例如,用户点击一个连接,控制层

20、接受请求后, 并不处理业务信息,它只把用户的信息传递给模型,告诉模型做什么,选择符合要求的视图返回给用户。因此,一个模型可能对应多个视图,一个视图可能对应多个模型。 MVC模式控制流程图如图2.1所示:图2.1 MVC模式控制流程图2.3 Struts2框架介绍Struts 2框架就是传统Struts 1和WebWork结合后的框架。Struts 2虽然是在Struts 1的基础上发展起来的,但实质上是以WebWork为核心。从全局的角度来看,Struts2是一个pull(拉)类型的MVC(或者MVC2)框架,它与传统类型的MVC框架的不同之处就在于在Struts2中,Action担任的是模型

21、的角色,而非控制器的角色,虽然它的角色仍然有些重叠。“pull”的动作由视图发起,它直接从Action里拉取所需的数据,而不是另外还需要一个单独的模型对象存在。MVC/Struts2架构如图2.2所示:图2.2 MVC/Struts2架构控制器通过Struts2分发Servlet过滤器(也就是人们常说的拦截器)来实现,模型通过Action实现,视图则通过结果类型和结果组合实现。值栈和OGNL提供了公共的线程和链接,并使得不同组件可以相互集成。Struts2使用了名为依赖注入又名控制反转的技术来降低系统的耦合性。依赖注入可以通过构造器注入,接口注入和setter注入来实现。Struts2中用的是

22、setter注入。这就是说,你只需要提供一个setter,对应的对象就可以被Action使用了。Struts2推荐的依赖注入框架是Spring框架,并通过插件对它进行配置。还有些对象是不受Spring框架管理的,例如HttpServletRequest。这些对象是通过setter注入和接口注入混合处理的。对于每一个非业务的对象而言,都有一个对应的接口(也就是“aware”接口),需要action对其进行实现。Struts2中提供的很多特性都是通过拦截器实现的,例如异常处理,文件上传,生命周期回调与验证。拦截器从概念上来讲和Servlet过滤器或者JDK 的Proxy类是一样的。它提供了一种对A

23、ction进行预处理和事后处理的功能。和Servlet 过滤器一样,拦截器可以被分层和排序。它还可以访问所执行的Action和所有的环境变量与执行属性。2.4 DAO设计模式设计模式是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。设计模式使代码编制真正工程化,设计模式使人们可以更加简单方便地复用成功的设计和体系结构。将已证实的技术表述成设计模式也会使新系统开发者更加容易理解其设计思路。DAO是Data Access Object数据访问接口,数据访问:顾名思义就是与数据库打交道。夹在业务逻辑与数据库资源中

24、间。它对JDBC进行了轻量级的对象封装,使Java程序员可以随心所欲的使用面向对象编程思维来操纵数据库。它不仅提供了从Java类到数据表之间的映射,也提供了数据查询和恢复机制。使用数据访问对象(DAO)模式来抽象和封装所有对数据源的访问。DAO管理着与数据源的连接以便检索和存储数据。DAO实现了用来操作数据源的访问机制。数据源可以时RDBMS,LDAP,File等。依赖于DAO的业务组件为其客户端使用DAO提供更简单的接口。DAO完全向客户端隐藏了数据源实现细节。由于当低层数据源实现变化时,DAO向客户端提供的接口不会变化,所有该模式允许DAO调整到不同的存储模式,而不会影响其客户端或者业务组

25、件。重要的是,DAO充当组件和数据源之间的适配器。DAO 模式通过对底层数据的封装,为业务曾提供一个面向对象的接口,使得业务逻辑开发员可以面向业务中的实体进行编码。通过引入DAO模式,业务逻辑更加清晰,且富于形象性和描述性,这将为日后的维护带来极大的便利2。2.5 UML与面向对象设计UML(统一建模语言)是为软件系统的制品进行详述(specifying)、形象化(visualizing)、构建(constructing)、文档化(documenting)的一种语言。同样,对于商业模块和其他非软件系统,UML描述也是一个优秀的成功地提供大而复杂模板的工程实施的集合5。UML的目标之一就是为开发

26、团队提供标准通用的设计语言来开发和构建计算机应用。通过使用UML,这些人员能够阅读和交流系统架构和设计规划-就像建筑工人多年来所使用的建筑设计图一样。2.6 Hibernate 框架介绍Hibernate 是一个开放源代码的对象关系映射框架,它对 JDBC 进行了轻量级的对象封装,使 Java 程序员可以随心所欲的使用对象编程思维来操纵数据库。它不仅提供了从 Java 类到数据表之间的映射,也提供了数据查询和恢复机制。相对于使用 JDBC 和 SQL 来手工操作数据库,Hibernate 可以大大减少操作数据库的工作量。 另外 Hibernate 可以利用代理模式来简化载入类的过程,这将大大减

27、少利用 Hibernate QL 从数据库提取数据的代码的编写量,从而节约开发时间和开发成本 Hibernate 可以和多种Web 服务器或者应用服务器良好集成,如今已经支持几乎所有的流行的数据库服务器。它是利用数据库以及其他一些配置文件如 Hibernate .properties ,XML Mapping 等来为应用程序提供数据持久化服务的。Hibernate 具有很大的灵活性,但同时它的体系结构比较复杂,提供了好几种不同的运行方式。在轻型体系中,应用程序提供 JDBC 连接,并且自行管理事务,这种方式使用了 Hibernate 的一个最小子集;在全面解决体系中,对于应用程序来说,所有底层

28、的 JDBC/JTA API 都被抽象了,Hibernate 会替你照管所有的细节。Hibernate 技术本质上是一个提供数据库服务的中间件。Hibernate工作原理如图2.3所示:图2.3 Hibernate工作原理图2.7 Spring 框架介绍Spring 框架是一个分层架构,由七个定义良好的模块组成。Spring 模块构建在核心容器之上,核心容器定义了创建、配置和管理bean的方式,Spring框架如图2.4所示:图2.4 Spring框架图组成Spring框架的每个模块(或组件)都可以单独存在,或者与其他一个或多个模块联合实现。每个模块的功能如下:u 核心容器:核心容器提供Spr

29、ing框架的基本功能。核心容器的主要组件是BeanFactory,它是工厂模式的实现。BeanFactory使用控制反转(IOC)模式将应用程序的配置和依赖性规范与实际的应用程序代码分开。u Spring 上下文:Spring上下文是一个配置文件,向Spring框架提供上下文信息。Spring 上下文包括企业服务,例如JNDI、EJB、电子邮件、国际化、校验和调度功能。u Spring AOP:通过配置管理特性,Spring AOP 模块直接将面向方面的编程功能集成到了Spring框架中。所以,可以很容易地使Spring框架管理的任何对象支持AOP。Spring AOP模块为基于Spring的

30、应用程序中的对象提供了事务管理服务。通过使用Spring AOP,不用依赖EJB组件,就可以将声明性事务管理集成到应用程序中。u Spring DAO:JDBC DAO 抽象层提供了有意义的异常层次结构,可用该结构来管理异常处理和不同数据库供应商抛出的错误消息。异常层次结构简化了错误处理,并且极大地降低了需要编写的异常代码数量(例如打开和关闭连接)。Spring DAO的面向JDBC的异常遵从通用的 DAO 异常层次结构。u Spring ORM:Spring框架插入了若干个ORM框架,从而提供了ORM的对象关系工具,其中包括JDO、Hibernate 和iBatis SQL Map。所有这些

31、都遵从Spring的通用事务和 DAO 异常层次结构。u Spring Web模块:Web上下文模块建立在应用程序上下文模块之上,为基于Web的应用程序提供了上下文。所以,Spring框架支持与Jakarta Struts的集成。Web模块还简化了处理多部分请求以及将请求参数绑定到域对象的工作。u Spring MVC框架:MVC 框架是一个全功能的构建Web应用程序的MVC 实现。通过策略接口,MVC框架变成为高度可配置的,MVC容纳了大量视图技术,其中包括 JSP、Velocity、Tiles、iText 和 POI。Spring框架的功能可以用在任何 J2EE 服务器中,大多数功能也适用

32、于不受管理的环境。Spring 的核心要点是:支持不绑定到特定 J2EE 服务的可重用业务和数据访问对象。毫无疑问,这样的对象可以在不同 J2EE 环境 (Web 或 EJB)、独立应用程序、测试环境之间重用。Spring 设计的核心是 org.springframework.beans 包,它的设计目标是与 JavaBean 组件一起使用。这个包通常不是由用户直接使用,而是由服务器将其用作其他多数功能的底层中介。下一个最高级抽象是 BeanFactory 接口,它是工厂设计模式的实现,允许通过名称创建和检索对象。BeanFactory 也可以管理对象之间的关系。BeanFactory 支持两

33、个对象模型:单态模型提供了具有特定名称的对象的共享实例,可以在查询时对其进行检索。Singleton 是默认的也是最常用的对象模型。对于无状态服务对象很理想。原型模型确保每次检索都会创建单独的对象。在每个用户都需要自己的对象时,原型模型最适合。bean 工厂的概念是 Spring 作为 IOC 容器的基础。IOC 将处理事情的责任从应用程序代码转移到框架。正如我将在下一个示例中演示的那样,Spring 框架使用 JavaBean 属性和配置数据来指出必须设置的依赖关系。第3章 系统的分析与设计第3章 系统的分析与设计3.1 功能分析计算机网络题库系统应满足学生、老师的需要。计算机网络题库系统应

34、具备学生和老师基本信息管理、题库管理、公告管理、搜索等基本功能要求。系统的主要使用者有计算机网络教学老师及广大学生。下面从不同角度来分析系统功能9。3.1.1 角色分析通过计算机网络课程题库管理系统平台,能给用户带来方便,满足需求。能够让教学老师给比较“公平、公正、客观、全面”地考核学生,能够真正给计算机网络教学带来便利,能够提高广大学生对计算机网络课程学习的效率。本系统利用UML(Unified Modeling Language)统一建模语言的支撑软件微软公司的Visio Professional 2007并结合管理流程,进行了面向对象建模设计,这将能够保证开发过程的更加流畅及Web系统的

35、维护更加容易【5】。在设计过程中,为了确保决策的最优化,进行一些先期规划是必要的。首先要对系统进行分析,确定系统角色,即各类用户在系统中所承担的职责。通过对系统需求进行分析,我们可以确定系统中有两类角色:管理员、前台用户。3.1.2 用例分析系统的主要活动者有系统管理员、教师和学生。l 系统管理员的用例包括:题库管理、试卷管理、成绩管理、考试管理、系统管理。l 教师的主要用例包括:试卷管理中的打印样卷、成绩管理中的批改试卷和查询成绩统计信息。l 学生的主要用例包括:参加考试、查询成绩、参与模拟练习、查看试题分析等。详细用例图如图3.1所示:图3.1 详细用例图3.2功能设计根据系统功能,可以得

36、出图3.2系统总体业务功能结构图: 图3.2 系统总体业务功能结构图1.题库管理模块:题库管理是整个系统的核心,为保证题库的安全性、保密性,只能有系统管理员或其授权的考试管理员有权对题库进行维护,主要包括题型的维护、试题的入库(单题或批量)、查询试题、修改试题、删除试题。2.试卷管理模块:以电子题库为基础,教师通过在系统中设置相应的组卷参数(如试卷标题、考试时间、各类题型数、分值、难度级别、考察的知识点等),系统自动组成样卷,组成满意的试卷后,可打印,存正式样卷。当然教师也可根据需要,从题库中查询相关试题,手动组成样卷。3.考试管理模块:考生登录成功后,系统随机抽取一套样卷,待学生提交答卷后,

37、系统将自动保存学生的答案,留待教师批改。4.成绩管理模块:教师登录成功后,先选择要批改的试卷,再选择参加考试的学生,调出学生的答卷。观题有系统自动判卷,非客观题有教师判定给分,确认提交后,判卷信息便存入学生的档案。同时,可对考试结果进行报表打印,并对考试结果进行查询及统计,统计功能主要包括最高分、最低分、各个分数段的积累人数、平均及各题的得分情况等。5.模拟练习模块:该模块主要用于学生平时练习,有系统随机出题,学生提交后,系统自动评卷(都为客观题)。同时系统也提供每道题的答案及分析。6.系统管理模块:本模块仅供系统管理员和授权管理员使用,具有用户管理、口令管理及权限设置、系统初始化、数据备份恢

38、复。3.3数据分析数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计的好坏将直接对应用系统的效率产生影响,合理的数据库结构设计可以提高数据存储的效率,保证数据的完整和一致。设计数据库系统时应该首先充分了解用户各个方面的需求,包括现有的以及将来可能增加的需求。数据库设计一般包括如下几个步骤:1、数据库需求分析2、系统ER图设计3.3.1 数据库需求分析用户的需求具体体现在各种信息的提供、保存、更新和查询,这就要求数据库结构能充分满足各种信息的输出和输入。收集基本数据、数据结构以及数据处理的流程,组成一份详尽的数据字典,为后面的具体设计打下基础。3.3.2 系统E-R图图3.3 系统E-

39、R图每个题型对应多个题目;每个知识点对应多个题目;每套试卷包含有多个题目,每个题目可以出现在多个试卷里面;每张试卷可以多个学生考试,每个学生可以考多张试卷;每个班级有很多学生。3.4 数据库设计依据系统E-R图,我们可以将图中实体和相关属性转化为关系模型,在对关系模型进行分析后,建立了15张数据表。第一种转化是将实体转化为关系表。这种转化比较简单,只需要将实体的属性定义为表的属性即可;第二种转化是联系的转化,即将各实体之间的联系转化为表格之间的关系,如外部键的定义。数据表如表3.1-3.15所示:表3.1 学生信息表字 段 名 数 据 类 型 为 空 标 识 字 段 说 明 学生IDVarch

40、ar(12)否StudentID主键学生姓名Varchar(20)否AdminName学生密码Varchar(12)否AdminPassword班 级int否ClassID外键性 别Char(2)否男、女生日Varchar(12)联系电话Varchar(15)邮箱Varchar(50)表3.2 班级信息表字 段 名 数 据 类 型 为 空 标 识 字 段 说 明 班级ID Int否 ClassID主键,自增班级名 Varchar(30)否 ClassName任课老师 Varchar(20)否 Teacher表3.3 教师信息表字 段 名 数 据 类 型 为 空 标 识 字 段 说 明 教师ID

41、 Varchar(12) 否 TeacherID主键教师姓名 Varchar(20) 否 TeacherName教师密码 Varchar(12) 否 TeacherPassword表3.4 权限模块信息表字 段 名 数 据 类 型 为 空 标 识 字 段 说 明 模块ID Int否 RightBlockID主键,自增模块名称 Varchar(20)否 RihgtBlockName表3.5 教师权限信息表字 段 名 数 据 类 型 为 空 标 识 字 段 说 明 管理员ID Varchar(12) 否 adminID主键管理员姓名 Varchar(20) 否 adminName管理员密码 Var

42、char(12) 否 adminPassword等级int否degree表3.6 知识点信息表字 段 名 数 据 类 型 为 空 标 识 字 段 说 明 知识点ID Int否 PointID主键,自增知识点名 Varchar(50)否 PointName表3.7 题型信息表字 段 名 数 据 类 型 为 空 标 识 字 段 说 明 管理员ID Varchar(12) 否 adminID主键管理员姓名 Varchar(20) 否 adminName管理员密码 Varchar(12) 否 adminPassword等级int否degree表3.8 题库信息表字 段 名 数 据 类 型 为 空 标

43、识 字 段 说 明 ID int否 SubjectID主键 ,自增题目 Text否 Subject知识点Int否Point外键题型 Int否 Kind外键解析Varchar(1000)否Analysis 答案Varchar(1000)否Answer 入库人Varchar(20)否Editor 入库时间date否EditTime表3.9样式参数信息表字 段 名 数 据 类 型 为 空 标 识 字 段 说 明 IDInt否 ID主键,自增 参数名Varchar(20)否 ParamName值Varchar(12)否 ParamValue表3.10 样卷信息表字 段 名 数 据 类 型 为 空 标

44、识 字 段 说 明 样卷IDInt否 PaperID自增样卷名称Varchar(100)否 PaperName题号Int否SubjectID主键,自增题型int否 Kind题目Text否Subject答案Varchar(1000)否Answer解析Varchar(1000)否Analysis参数Varchar(20)否Param表3.11 学生答卷信息表字 段 名 数 据 类 型 为 空 标 识 字 段 说 明 答卷ID Int否 AnswerPaperID主键学生ID Varchar(20)否 StudentID样卷ID Varchar(12)否 PaperID题号int否SubjectID

45、解答Varchar(2000)Answer得分Float否Score默认0.0批阅人Varchar(20)否MarkPerson批阅时间Datetime否MarkTime系统自动生成表3.12 试题得分统计信息表字 段 名 数 据 类 型 为 空 标 识 字 段 说 明 IDint否PaperID主键,自增 样卷IDint否PaperID题号int否SubjectID总得分Float否默认0.0表3.13分数段人数统计信息表字 段 名 数 据 类 型 为 空 标 识 字 段 说 明 ID int 否 ID主键 ,自增 样卷IDInt否PapeerID范围 Varchar(20) 否 Range

46、人数 int 否 Number备注intRemark表3.14 模拟练习信息表字 段 名 数 据 类 型 为 空 标 识 字 段 说 明 IDInt否 ID主键,自增题目Varchar(1000)否 Subject知识点int否Point题型int否 Kind解析Varchar(500)Analysis答案Varchar(20)否Answer创建人Varchar(20)否Creator创建时间datetime否CreatTime系统自动生成表3.15 系统参数信息表字 段 名 数 据 类 型 为 空 标 识 字 段 说 明 IDInt否 ID主键 ,自增参数名Varchar(50)否 Para

47、mName值Varchar(20)否 ParamValue第4章 系统模块设计与实现第4章 系统模块设计与实现本项目是采用J2EE的多层架构,选用Struts2+Spring+Hibernate框架实现题库管理系统,以下介绍用户登录、公告管理模块、题库管理模块的实现及分页和批量删除技术在系统的运用。4.1 用户登录4.1.1 设计思想首先我们要考虑的是用户登录系统的问题,这必须为用户提供登录界面:必须有一个填写用户名,一个填写密码的区域,还需要一个按钮触发确认提交。这也是系统所有功能的前提条件。本系统采用的是 Struts2+Spring+Hibernate框架。所以这里我们需要设计一个 Ac

48、tion 用于在登录界面和验证控制对象之间传递的表单数据,包含三个属性,分别为登录名(username)、登录密码(password)这两个属性都不能空,必须在登录界面验证。验证控制对象需要一个验证操作来判断用户是否合法,所以我需要一个验证控制Aciton 类。这个验证操作返回一个转发对象 true 或 false。true 则转发到系统主界面,false 则转发到登录界面。验证操作并不是直接访问数据库去查找相符的用户对象,而是通过另外一个控制对象Dao 来实现。在本系统中,用户对象肯定是存储在数据库中的,通过查找数据库中是否存在与输入的用户信息相符的用户对象。对于登录用户,系统会去相关记录表

49、检索数据,以验证用户身份登录,验证成功,进入相关用户的操作界面,否则验证失败,返回用户登录界面,提示用户登录验证失败,这里给出了登录流程图,如图4.1所示:开 始判断身份类型填写身份验证信息检索信息表是否存在该信息验证成功是结束否图4.1 登录验证流程图4.1.2 实现管理员登录系统进入登录界面:必须填写用户名,用户密码,然后点击登录按钮触发确认提交。如图4.2所示:图4.2 登录界面图管理员,教师用户登录入口在页脚, 点击登录进入登录界面,输入用户名和密码,在登录界面验证,验证控制对象需要一个验证操作来判断用户是否合法, 登录的核心代码如下: public void login() thro

50、ws Exception ActionContext ctx = ActionContext.getContext();HttpServletRequest request = (HttpServletRequest) ctx.get(ServletActionContext.HTTP_REQUEST);response.setContentType(text/html;charset=utf-8);PrintWriter out = response.getWriter();String message = ;teacher = teacherService.login(account, p

51、assword);if (teacher = null)message = 用户不存在!;else if (!teacher.getTeacherPassword().equals(password)message = 用户密码错误!;else request.getSession().setAttribute(teacher, teacher);message = success;out.println(message);4.2 公告管理4.2.1设计思想管理员在验证身份成功登录后,在管理公告的操作过程中,可以点击导航栏进入公告管理栏目,并可对此进行增、删、改、查。管理员可以查看和检索公告信

52、息,可以编辑和删除公告,检索功能可以增加该管理功能的灵活性和方便性。公告管理的流程如图4.3所示:输 入 管 理 员登 陆 信 息检查管理员信息不合法填写公告信息提交公告验证公告公告输入不合法储存公告继 续请 求图4.3 公告管理流程图添加公告信息4.2.2 实现 当管理员登录系统进入公告管理功能界面时,主要完成显示所有公告信息记录,公告信息记录的发布,删除,修改等操作。该模块界面如图4.4所示, 图4.4 公告管理模块功能界面图 1、公告信息的发布当管理员需要发布相关信息时,进入公告添加页面.如果添加成功,则提示成功插入记录并且跳转到公告列表页面,如果不成功,则提示不成功原因,后退到提交更新

53、前页面。所以的更新操作都必须实现数据的持久化.代码如下: public String insert() logger.debug(进入新闻添加);Teacher teacher = (Teacher) Struts2Util.getSession().getAttribute(teacher);SimpleDateFormat simpleDateFormat = new SimpleDateFormat(yyyy-MM-dd);String date = simpleDateFormat.format(new Date();news.setEditor(teacher.getTeacherName();news.setEditorTime(java.sql.Date.valueOf(date);this.newsService.insertANews(news);addActionMessage(添加成功!);return SUCCESS;2、管理员可以实现公告的编辑功能,在公告管理页面,查看公告标题,选择前面的选择框,点击编辑进入公告编辑界面,实现这一个编辑功能的代码如下所

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