




已阅读5页,还剩44页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
北京林业大学本科毕业论文(设计)物理实验选课系统的设计与实现摘要随着网络的普及和发展,现代化的网络教学模式已经成为我国高等教育的发展方向。许多高校已经开始建设并使用信息化的网络教学平台,本文主要研究的是基于网络的物理实验选课系统的设计与实现。大学物理实验课是理工科各专业的公共基础课程,是本科生接受系统实验方法和实验技能训练的开端,通过课内外结合的实验课程,全方位培养学生的物理思想方法、动手能力、实践能力、创新精神等基本科学素质。随着高校教育水平的提高,越来越多的教育工作者认识到物理实验课程在物理课程教学和高素质人才培养中发挥的重要作用。通过对本物理实验预习及实验系统的需求和可行性分析,以及对当前互联网科技中几种应用比较广泛的网站开发技术的比较,我决定开发Java EE + MySQL技术系统,采用基于B/S模式的Web服务架构,使用Eclipse作为系统开发软件,用JSP动态页面设计技术与SSH(Spring+Struts+Hibernate)框架技术来开发整个系统。经过前期的分析和设计,本网络学习平台由管理员、教师、学生三个大模块组成,同时管理员与教师功能相近,级别不同而已。主要完成了用户管理、实验管理、预习题库管理、课程管理、成绩管理、修改密码等功能。但经过测试,该平台在兼容性方面还有待完善,在部分浏览器中不能正常显示。关键词:物理实验,Java EE,MySQL,SSH,Ajax全套图纸加扣 3012250582Design and implementation of Physics Experiment Course SystemElectronic Information Science and Technology 11-1 YangHaoSupervisor Zhang LiAbstractWith the popularization and development of the network, modernization of network teaching model has become the development direction of Chinas higher education. Many colleges and universities have begun construction and use of information technology network teaching platform, the paper studies the design and implementation of a network based on physical experiments elective system. University physics experiment course is the professional science and engineering basic courses, undergraduates receive systematic experimental methods and skills training start, through a combination of experimental course outside class, comprehensive physical students thinking, ability, practical ability , innovation and other basic scientific quality. With the improvement of the level of higher education, more and more educators recognize the important role played by physics experiment course in physical education curriculum and highly qualified personnel culture.Through demand and feasibility of the physical Prelab and experimental systems analysis, as well as in several of the current Internet technology used widely in web development technology comparison, I decided to develop Java EE + MySQL technology system based on B / S Mode Web services architecture, the use of Eclipse as a system development software, dynamic page design with JSP technology and SSH (Spring + Struts + Hibernate) framework technology to develop the entire system.After the early analysis and design, this online learning administrator, teacher, student three major modules, but administrators and teachers with similar functions, the level is different. Mainly to complete the user management, test management, prep exam management, course management, performance management, change passwords, and other functions. But after testing, the platform compatibility should be improved, not display properly in some browsers.Key words: physics experiment, Java EE,MySQL,SSH,Ajax目录1绪论5 1.1研究意义5 1.2选题背景5 1.3需求分析52系统开发相关技术及工具7 2.1 Eclipse平台介绍7 2.2 Java Web技术7 2.3 MySQL数据库7 2.4 SSH框架技术7 2.4.1 Struts介绍8 2.4.2Hibernate介绍9 2.4.3Spring介绍9 2.5 Ajax框架10 2.6 Maven项目管理技术11 2.7 Tomcat服务器113系统主要功能及框架14 3.1系统的主要功能14 3.2系统的主要功能15 3.3系统的组成164 数据库设计17 4.1数据表17 4.2数据库连接215 模块设计及功能实现23 5.1登陆页面23 5.2通知公告模块25 5.2.1新增通知25 5.2.2查看通知26 5.3用户管理模块26 5.3.1教师管理27 5.3.2班级管理29 5.3.3学生管理30 5.4实验管理模块31 5.4.1新增实验32 5.5预习题库管理模块33 5.5.1新增预习题33 5.5.2编辑一个实验的预习题库34 5.6课程管理模块35 5.6.1查看一个班级的课程表35 5.7成绩管理模块36 5.7.1 查看一个班级已经开始的实验36 5.7.2查看一个班级的成绩37 5.8修改密码模块376 实验室网络搭建39 6.1实验室现状39 6.2服务器部署39 6.3网络实现40 6.4其他登录方式417 系统测试结论43 7.1 功能性43 7.2 易用性43 7.3 可靠性43 7.4 兼容性43 7.5 安全性44 7.6 后续工作448 总结46致谢47参考文献481绪论1.1研究意义随着计算机技术和网络的高速发展,基于网络教学平台的采用多媒体技术的互动授课方式应运而生,它加强了高校间优质教学资源的共享,促进了网络技术在精品课程建设中的运用,为高校教学提供了一种新的手段和方式.如何将网络教学平台与传统教学模式结合起来,辅助课堂教学,提高教学效率,成为目前迫切需要解决的问题. 同时高校对人才的培养要求不仅仅是要有扎实的理论基础了,更需要的是能将所学知识能够有效地在实验中进行验证应用,并且解决实际问题,培养学生的创新能力和实操能力。本文研究的是基于网络的物理实验系统,物理是一门以实验为基础的自然科学,物理概念、规律、结论往往都是建立在实验的基础上,经过归纳总结概括得出的。实验在物理教学中的地位和实验本身的特点,决定了它在物理教学中能起到重要的作用1。另外通过物理实验培养的动手能力、实践能力、创新精神等基本科学能力也是高素质人才所必须拥有的,因此物理实验课程越来越受到学校的重视。开发基于网络的物理实验系统目的是改变物理实验的测评方式,让学生更轻松的学习物理实验这门课程,同时向教师提供管理实验、学生、实验成绩的平台。1.2选题背景结合我校物理实验课教学现状:学生课前预习不充分,上课时间不灵活,教师批改实验报告工作量过大等普遍存在的问题。我们拟通过Java EE平台开发建立在互联网基础上的大学物理实验系统。通过本系统,学生在做实验之前可以进行充分的预习,在实验的过程中可以更加方便地提交实验数据,更加便捷地查询成绩。同时,教师登录本系统后可以及时地发布通知公告,提前设定预习题目,更加高效地管理实验课程与学生成绩。1.3需求分析通过与学生、实验课任课教师的详细交流,确定本物理实验系统主要功能图功能图显示:图1.1 系统组成框架Fig.1.1 The framework of system2系统开发相关技术及工具2.1 Eclipse平台介绍Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。2.2 Java Web技术目前,web的软件技术已经成为软件开发的主流。Java凭借其语言的跨平台性,成为web开发的首选。Java Web技术发展十分迅速,从最初Servlet,发展到后来的JSP+servlet+javabean,进而到SSH(Struts、spring和hibernate的简称)框架技术。而javaweb开发的网站又涉及到HTML、CSS、javascript、ajax 和数据库等等基础技术2。2.3 MySQL数据库MySQL 是目前最为流行的开放源码的数据库,是完全网络化的跨平台的关系型数据库系统,它是由瑞典的 MySQL AB 公司开发、发布并支持,MySQL 数据库可以称得上目前运行速度最快的 SQL 语言数据库,除了拥有一些其他数据库所不具备的功能和选项外,MySQL 还是一款完全免费的产品,用户可以直接在网上下载使用,而不需要支付任何费用,所以很适合学校使用3。由于功能强大以及灵活,还有应用程序编程接口(API)丰富而复杂的系统结构,被商业软件的用户使用,尤其是在Apache和PHP、Perl组合,为基于数据库的动态网站的建立提供了很大的动力。MySQL是一个真正的多用户、多线程SQL数据库服务器。My SQL通过一个客户机/服务器结构来实现的,它通过一个服务器守护程序MySQLd和库以及很多不同的客户程序组成4。总之,MySQL数据库,简单方便,易于安装,不仅在电脑上,并且使用简单,容易掌握使用MySQL。2.4 SSH框架技术SSH框架其实是由Struts、 Hibernate、 Spring三大开源框架技术组成的,本课题选用SSH技术进行系统的开发,是为了最大程度的提高开发效率,同时使代码的层次清晰。Struts是用来设计页面跳转调用业务逻辑和实现的要求,提供相应的构件模型,视图和控制器;Hibernate是一个开源的对象关系映射框架,实现了对数据的增删改查,它有非常轻量级的JDBC封装,可以应用在任何使用JDBC的场合,可以在Servlet/JSP的Web应用中使用,完成数据持久化的重任;Spring控制对象生成和事务处理是使用依赖注入实现的,是一个轻量级的控制反转(IOC)和面向切面(AOP)的容器框架。2.4.1 Struts介绍Struts是一个为开发基于模型(Model)-视图(View)-控制器(Controller)(MVC)模式的应用架构的开源框架,是利用Java Servlet和JSP构建Web应用的一项非常有用的技术5。利用Struts可以削减运用MVC模型开发网络应用的时间。1.Struts框架结构 选用Struts框架结构的网络应用体系主要由控制器、业务逻辑、模型和视图构成,对模型(Model),视图(View)和控制器(Controller)都提供了对应的组件。其中,控制器、模型和视图是Struts框架的核心组成部分,而事物逻辑则是我们需要实验的业务逻辑处理部分。2.模型(Model)部分应用程序的状态是模型来表示,由ActionForm和JavaBean组成业务对象更新应用程序的状态,其中用户的请求参数用ActionForm来封装,然后被ActionServlet转发给Action,Action再根据ActionForm的请求参数处理用户的请求。此外,底层的业务逻辑是由JavaBean来封装的,其中也包括数据库访问。3.视图(View)部分用JSP技术来实现视图部分6。但是这里采用的JSP文件,是没有流程逻辑和业务逻辑以及模型信息,但是有标记,标记使Struts明显区别于其他的框架。4.控制器(Controller)部分浏览器的请求是通过控制器来接受的,接受之后决定执行什么事务逻辑功可以执行用户的请求,所以控制器是有系统核心控制器还有业务逻辑控制器构成的。其中ActionServlet对应着系统核心控制器。该控制器是由Struts框架提供的,一个类继承,所以它可以配置为标记的servlet。控制器负责拦截所有HTTP请求,然后根据用户要求决定是否通过业务逻辑控制器。此外,相应的业务逻辑控制器对应action,负责用户的要求,但不处理的能力,使用模型来完成处理。2.4.2Hibernate介绍Hibernate是一个开源的对象关系映射框架,它对JDBC进行了轻量级的对象封装,任何使用JDBC的场合都可以使用Hibernate,包括Java的客户端程序以及Servlet/JSP的网络应用。所以Java程序员操纵数据库可以通过对象编程思维实现。利用Hibernate,为数据库和配置信息的应用提供持续的服务。Hibernate的核心接口共6个,包括: Transaction、Configuration、SessionFactory、Session、Query以及Criteria。6个接口将被用在任何开发中。通过这些接口,不仅可以获得持久的对象,也可以进行业务。1.Session接口被持久化对象的CRUD操作是通过Session接口实现的。2.SessionFactory接口初始化Hibernate是通过SessionFactory接口实现的。它作为一个数据源的代理,并负责创建会话对象。因为一个项目可能只要求一个SessionFactory就够了,所以SessionFactory不是轻量级的,但是要操作多个数据库时,这时我们能为每数据库设立一个SessionFactory。3.Configuration接口配置和启动Hibernate以及创建SessionFactory对象是通过Configuration接口实现的。在启动Hibernate时,Configuration类的实例开始要定位映射文档的位置、读取配置,之后才会构建SessionFactory对象。4.Transaction接口事务相关的操作是通过Transaction接口实现的。底层事务处理代码可以通过开发人员设计, 因为它是可选的。5.Query和Criteria接口各种数据库查询是通过Query和Criteria接口实现的。它包括HQL语言或SQL语句两种表达方式。2.4.3Spring介绍Spring是一个开源不限于服务器端的控制反转(IOC)和面向切面(AOP)的轻量级的容器框架。1.控制反转控制反转的技术促进了松耦合。当应用了控制反转,可以使用被动方式来传递一个对象依赖的其它对象,因此可以不用对象自己创建以及查找依赖对象。2.面向切面提供了丰富的支持面向切面编程的Spring,可是使用分离应用的业务逻辑以及系统级服务来实现内聚性的开发。3.容器Spring可以管理应用对象的配置和生命周期,每个bean的创建方式可以由我们配置基于一个可配置原型(prototype),我们的bean可以创建一个单独的实例,此外,每次需要时我们也可以生成一个新的实例。2.5 Ajax框架Ajax是Asynchronous JavaScript and XML的缩写,即异步JavaScript和XML。Ajax的核心就是JavaScript对象XMLHttpRequest,它通过JavaScript向服务器发送请求,并处理服务器响应7。Ajax就是使用客户端脚本与Web服务器交换数据的Web应用开发方法。这样,Web页面不用打断交互流程进行重新加载,就可以动态地更新。使用Ajax可以创建接近本地桌面应用的、直接的、高可用的、更丰富的、更动态的Web用户接口界面。在Ajax之前,Web站点强制用户进入提交/等待/重新显示范例,用户的动作总是与服务器的“思考时间”同步。Ajax提供与服务器异步通信的能力,从而使用户从请求/响应的循环中解脱出来8。 Ajax 不是一个技术,它是几项技术联合起来使用的。Ajax 包含:1. 基于标准的演示用的 XHTML 和 CSS;2. 动态显示和交互使用文档对象模型(DOM);3. 数据交换和操纵使用 XML 和 XSLT;4. 异步数据检索方法使用 XMLHttpRequest;当我们开始尝试使用 Ajax 技术的时候,很快就会注意到要反复地完成同样的一些任务。当然,也可以收集一些常用代码库,甚至创建自己的框架。不过对于较大的项目来说,不依靠任何框架手工编写相关的代码是一个不明智的选择。Ajax开发中常见的应用模式在相关的开发框架中都已经得到了支持,因此针对此种情况,选择合适的 Ajax 框架开发是进行本实验系统开发的第一步。Ajax 技术已经催生出了大量的基于其本身技术的框架。Ajax 框架的使用有助于最大程度地减少使用JavaScript和Ajax带来的许多常见问题9。优秀的Ajax框架提供了可重用的组件、用于扩展和创建组件的框架、事件系统、JavaScript 实用工具和增强的异步服务器调用支持。Ajax 技术还在发展,框架领域也同样如此。有些框架基于客户端,有些基于服务器端;有些专门为特定语言设计,另外一些则与语言无关。其中绝大多数都有开源实现,但也有少数是专用的。我们不会面面俱到地谈到每一个框架,而且也不可能深入分析提到的每个框架。一些框架可能已经销声匿迹,另外的则可能刚刚创建。哪个框架最适合使用呢?对于这个问题,只有用户自己有发言权;不过,在框架领域稳定之前,可以持一种保守的态度。选择合适的开发框架进行 Ajax 应用开发,可以大大减少开发人员的负担,进一步提高软件的兼容性和健壮性,同时加强对于项目成本和项目进度的整体控制。另外,我们既不能说不用 Ajax 框架,因为它们确实很有用,也很好用。但是也不能泛滥使用,要适可而止,使用得当则妙笔生辉,反之过度使用很容易让系统陷入麻烦之中,复杂性剧增。J2EE Web 开发的主流核心仍然是MVC开发框架,例如 Struts,Spring,Hibernate。Ajax 框架的出现可以带来一种辅助的效果,可以让界面体验提升,可以让信息交互更方便,但是不能改变项目开发主流模式,不要因为使用了Ajax框架而让全部程序围绕它设计和实现。尽最大可能的让 Ajax技术融入到项目中,让 Ajax 框架融合在 J2EE 体系中发挥出本身的特性,这也是Ajax 框架的使用的意义。2.6 Maven项目管理技术Maven 作为 Apache 的一个开源项目,旨在给项目管理提供更多的支持。它最早的意图只是为了给 apache 组织的几个项目提供统一的开发、测试、打包和部署,能让开发者在多个项目中方便的切换。但Maven快速地发展着,已经从针对单个复杂项目的定制构建工具成长为广泛使用的构建管理系统,其丰富的功能可以应用于大多数的软件开发场景,越来越多的项目开始使用 maven,不论是开源开发项目还是私有开发项目都选择Maven作为项目构建系统。目前,Maven 的用途之一就是构建项目,它能帮助我们把构建工作自动化,可以对项目进行清理、编译、测试等操作,还可以打包和部署项目10。此外,它还是一个依赖管理工具和项目信息管理工具,maven采用远程仓库和本地仓库以及配置文件pom.xml,将pom.xml中定义的jar文件从远程仓库下载到本地仓库,每个项目不再需要各自包含自己所依赖的第三方库,仓库将会帮助开发者在多个项目间共享库,完美解决了传统方式下的冗余jar包和多版本jar包所带来的问题。2.7 Tomcat服务器Tomcat 是开发和调试JSP 程序首选的一个轻量级应用服务器,广泛使用于中小型系统和并发访问量不是很多的场景。兼容性很好,性能稳定,并且发展前景很好,被大多软件公司所支持。在Eclipse中添加Tomcat插件步骤如下:1在Eclipse打开window -show viewservers打开,显示窗口如下图所示:图2.1 servers显示窗口Fig.2.1 Servers display window2在上图的Servers窗口中右键Newserver,进入窗口如下图所示:图2.2 选择Tomcat版本Fig.2.2 Select Tomcat version3在上图中选择需要添加的Tomcat,点击Next,进入窗口如下图所示:图2.3 添加Tomcat地址Fig.2.3 Add Tomcat address4在上图中选择需要添加的Tomcat的directory,并且将JRE改为Jre6,点击Next,如下图所示:图2.4 添加项目Fig.2.4 Add Item5在上图中选择需要添加的项目,点击finish完成。3系统主要功能及框架3.1系统的主要功能本物理实验选课系统设计的初衷是为了方便学生与教师教学使用的,既能够减轻教师与学生的负担,也能够提高学生的学习效率和教师的教学质量,提高实验室的使用率,具体功能列举如下:1、登录与退出功能:用户可以通过输入自己的学号/工号和密码进行登录,当前用户需要退出时可以点击退出。用户包括管理员、教师和学生。2、在线预习实验:学生可以在该模块对即将上课的实验进行预习,会随机从该实验的预习题库中选出五道题来组成预习试卷,点击提交后不可再修改。3、在线提交实验数据:当实验时间到了,学生可以登陆本系统,进入我的实验模块,可以点击进入实验,输入实验数据后单击提交,系统会计算出本次实验的成绩。4、成绩查询功能:学生可以在本模块中查询自己已经开始的实验的成绩,管理员可以查询所有班级的同学的成绩。5、修改密码和密码重置功能:每个用户开始的初始密码是固定的,用户可以随时修改自己的密码,当用户忘记自己的密码时可以通过管理员来重置自己的密码。6、用户管理和班级管理功能:每个用户和班级的初始信息都是通过管理员来导入的,但是有个导入的逻辑关系,就是要先有教师,再有班级,最后有学生,因为新建班级的时候需要确定班级的物理实验教师,然后导入学生的时候要确定学生的班级。7、实验管理功能:是管理员用来管理物理实验的,可以录入每个物理实验的基本信息,以及实验的内容页面(即学生上课提交实验数据所要显示的页面)所在的路径,这个功能是其他相关功能的基础,比如说只有建立了物理实验后,管理员才可以新增实验的预习题库,以及安排班级的实验课程,只有安排的课程后,学生才可以进行实验预习和实验数据的提交,所以说实验管理功能是比较基础和重要的一部分。8、管理预习题功能:是管理员用来管理每个实验的预习题的,管理员可以增删改查每个实验下面的预习题,只有当这个实验的预习题达到5个以上的时候,才能给班级安排这个实验的课程,同时当某个班级的这个课程的预习已经开始的时候,是不能讲这个实验的预习题总数删除到5个以下的。9、课程管理功能:是管理员管理每个班级的课程的模块,在每个实验开始预习前,管理员应该将这个班级的实验安排到课程表里,规定好课程的上课时间、结束时间和上课地点,同时实验的预习开始时间就是实验的上课时间提前两个星期,实验的预习结束时间就是实验的上课时间,只有到了预习时间学生才可以开始进行实验的预习。10、通知的发布与查看功能:管理员可以发布并修改删除一个通知公告,而学生只能查看已发布的通知公告。总的来说,物理实验网络学习系统从功能上主要分学生端、教师端、管理员端三部分,其中教师端的功能基本和管理员端相近。学生端主要是为学生提供在线的实验预习、提交实验数据、评分、成绩查询等功能,主要要实现的功能是:根据学生的课程表生成他的预习安排,在预习时间范围内完成预习并打分,上课时间内根据学生提交的实验数据进行打分等等;管理员端主要是进行后台维护和信息的录入与查询,包括学生、教师、班级、课程信息的录入,以及成绩的查询与修改、通知的发布与查询。要特别注意的是各个功能模块之间的关系,一般是要先有教师、班级,再有学生,以及有了实验、班级等,才能安排某个班级的某个实验的课程。3.2系统的主要功能从上一节的功能介绍中我们已经知道,本物理实验学习系统的功能模块对于不同的用户身份有不同的权限要求,由图3.1可以对系统的权限要求有一定的了解。图3.1 系统权限设置图Fig.3.1 The figure of systems permission settings3.3系统的组成本物理实验学习系统主要由管理员模块、教师模块和学生模块这三个部分组成,其中管理员模块功能同教师模块一致,管理员权限高,都是由用户管理、通知公告、预习题库、预习安排、成绩管理、实验管理、课程管理、修改成绩着八个部分组成,其中用户管理模块下面又是由教师管理、学生管理、班级管理这三个部分组成。学生模块是由通知公告、我的预习、我的实验、选修实验、成绩查询、修改密码这六个部分组成。 4 数据库设计4.1数据表大学物理实验网络学习系统数据库总共有8个数据表,包括:用户信息表、班级信息表、课程信息表、物理实验信息表、通知公告表、预习试卷信息表、预习题库表、成绩信息表。汇总于表4.1。表4.1 数据表Table 4.1 The data table数据表名称中文说明用途备注people用户信息表存储学生、教师等用户信息class_info班级信息表存储各班级的基本信息course课程信息表存储每个班级的课程信息experiment物理实验信息表存储物理实验的基本信息notice通知公告表存储通知的相关信息preview_info预习试卷信息表存储每次做的预习题信息preview_library预习题库表存储每个实验的所有预习题目score成绩信息表存储每个学生的成绩1、用户数据表该数据表一共有10个字段,用来记录每位用户的个人信息,包括用户的学号或编号、密码、用户标识等,用户数据表的字段定义见表4.2。表4.2 用户数据表Table 4.2 The data table of people字段名称中文说明类型(长度)约束备注people_id用户idbigint(19)主键people_num用户编号varchar(32)非空people_tag用户标识tinyint(1)非空用户标识:1=学生,2=教师,3=管理员full_name姓名varchar(32)非空class_id班级idbigint(19)空Password密码varchar(60)非空experiment_id选修实验idbigint(19)空experiment_name选修实验名称varchar(32)空create_time创建时间datetime空modify_time修改时间datetime空2、班级信息数据表该数据表一共有7个字段,用于存储各个班级的基本信息,包括班级名、任课教师、所属学院等等,班级信息数据表的字段定义见表4.3。表4.3 班级信息数据表Table 4.3 The data table of class_info字段名称含义类型约束备注class_id班级idbigint(19)主键class_name班级名称varchar(32)非空Faculty学院名称varchar(32)空people_id教师idbigint(19)空teacher_name教师姓名varchar(32)空create_time创建时间datetime空modify_time修改时间datetime空3、课程数据表 该数据表一共有12个字段,用于存储每个班级的物理实验课的上课信息,包括实验名、上课班级、上课时间、预习时间等,该数据表的字段定义如表4.4所示。表4.4 课程数据表Table 4.4 The data table of course字段名称含义类型约束备注course_id课程表idbigint(19)主键experiment_id实验idbigint(19)非空experiment_name实验名称varchar(100)空class_id班级idbigint(19)非空class_name班级名称varchar(32)空student_id学生idbigint(19)空attend_place上课地点varchar(100)空attend_time上课时间datetime非空end_time实验结束时间datetime空preview_start_time预习开始时间datetime空create_time创建时间datetime空modify_time修改时间datetime空4、实验信息数据表该数据表一共有7个字段,用于记录物理实验的信息,包括实验名、实验内容、实验标志、选修实验开始时间等。该数据表的字段定义见表4.5。 表4.5 实验信息数据表Table 4.5 The data table of experiment字段名称含义类型约束备注experiment_id实验idbigint(19)主键experiment_name实验名称varchar(100)非空content实验内容content空experiment_tag实验标志tinyint(1)非空实验标志:1=必做实验,2=选课通称,3=选修实验select_exp_tag选修是否开始tinyint(1)空选修实验是否开始:1=没开始;2=开始create_time创建时间datetime空modify_time修改时间datetime空5、通知公告数据表通知公告数据表中主要记录了管理员或者教师发布的各种通知,包括通知的内容、发布人等信息。该数据表的字段定义见表4.6。表4.6 通知公告数据表Table 4.6 The data table of notice 字段名称含义类型约束备注notice_id通知idbigint(19)主键title通知标题varchar(100)非空content通知内容text非空people_id发布人bigint(19)非空create_time创建时间datetime非空modify_time修改时间datetime空attachment附件地址varchar(100)空6、预习试卷数据表预习试卷数据表主要存储了每个学生做具体某个实验的预习题时具体所做的是哪些题目,包括预习实验名称、预习的题目、是否提交等。题目数据表的具体字段定义见表4.7.表4.7 预习试卷数据表Table 4.7 The data table of preview_info字段名称含义类型约束备注preview_info_id预习试卷idbigint(19)主键experiment_name实验名称varchar(100)空course_id课程表idbigint(19)非空people_id学生idbigint(19)非空preview_ids预习题目varchar(150)非空preview_answer试卷答案varchar(40)空is_submit是否提交tinyint(1)空是否提交:1=没提交;2=已提交create_time创建时间datetime空modify_time修改时间datetime空7、预习题库数据表预习题库数据表主要存储了每个实验所包含的所有预习题目的相关信息,包括属于哪个实验、预习的题目和答案、题目类型等。预习题库数据表的具体字段定义见表4.8.表4.8 预习题库数据表Table 4.6 The data table of preview_library字段名称含义类型约束备注preview_id预习题idbigint(19)主键experiment_id所属实验idbigint(19)非空experiment_name实验名称varchar(100)空model预习题型tinyint(1)非空预习题型:0=单选,1=多选,3=判断title题目text非空answer答案varchar(10)非空people_id出题人idbigint(19)空create_time创建时间datetime空modify_time修改时间datetime空8、成绩数据表成绩数据表主要存储了每个学生的每个实验的成绩的相关信息,包括实验信息、预习成绩、实验成绩、实验修改次数等。成绩数据表的具体字段定义见表4.9。表4.9 成绩数据表Table 4.0 The data sheet of score 字段名称含义类型约束备注score_id成绩表idbigint(19)主键people_id用户idbigint(19)非空experiment_id实验idbigint(19)空experiment_name实验名称varchar(100)空score_tab成绩标志tinyint(1)非空成绩标志:1=具体实验,2=选修实验,3=总实验preview_score预习成绩int空experiment_score实验成绩int空score实验总成绩int空create_time创建时间datetime空modify_time修改时间datetime空modify_num修改次数tinyint(1)空修改次数:实验成绩最多修改两次,每半小时一次4.2数据库连接Spring提供了DAO(数据访问对象)以便于通过标准的方式来实现不同的数据访问技术, 像是JDBC,Hibernate等11。通过数据表生成对应于数据表的Java类以及映射文件,检查这几个映射文件的存放地址是否已经配置到了 applicationContext_*.xml文件中,如果没有就配置进去,如下图所示:图4.1 applicationContext配置文件Fig.4.1 applicationContext profile在上图所示程序“url:jdbc:sqlserver:/主机名:端口”中,主机如果是本机可以用localhost,也可以用回环地址 ,如果是远程就用对方 IP;端口如果没有改的话默认是3360;用户名:安装时如果没有改默认是root ;“physical_exp“表示数据库名;密码:访问服务器数据库所需的密码12。图4.2 数据库连接源代码Fig.4.2 The source code of database connection5 模块设计及功能实现5.1登陆页面用户通过输入网址即可跳转到本系统的登录界面,该页面没有用户权限区分,任何用户都可以进行访问,只有用户登录成功之后才能继续访问本系统。在设计登录的过程中,系统使用了apache shiro安全技术。它为系统提供了一个直观而全面的认证、授权、加密及会话管理的解决方案13,其中密码采用MD5算法进行加密。shiro配置流程如下:(1)在web.xml中配置shiro过滤器;(2)在applicationContext.xml中添加shiro配置:添加shiroFilter、securityManager、lifecycleBeanPostProcessor以及myRealm等Java Bean;(3) 实现MyRealm:继承AuthorizingRealm,并重写认证授权方法。登陆页面如图5.1所示:图5.1 用户登陆界面Fig.5.1 The interface of users login 当学生或教师输入自己的学号/工号和密码并点击登录之后,客户端浏览器就会把用户输入的数据发送给服务器,服务器在接收到浏览器发送来的数据之后便会与数据库建立起连接14,并且查看用户输入的信息是否能在数据库已存在的记录里找到匹配,如果能在数据库中找到相应的记录,则用户登录成功,否则登录失败,这个过程的具体代码见附录,其流程图见图5.2:图5.2 登陆处理流程图Fig.5.2 The flowchart of login process 在上述过程中,浏览器将数据信息传送给服务器主要应用了表单传值。在JSP中有两种表单传值的方法:GET()和POST()15,他们都可以用来传值,但两者区别在于GET会将传递的数据显示在URL地址上,这具有一定的安全隐患,而POST不会。且GET传递数据有限制,一般大量数据都得使用POST方法,因此本设计采用的是POST方式来提交表单。如果在数据库中没有找到相应的记录,则表示用户登陆失败,此时会还是跳转到登录页面,但是会提醒用户登陆错误信息。用户登陆验证的核心代码见附录,登陆成功页面则根据不同的用户标示有不同的页面,具体见下文内容。登录失败页面具体有两种情况,一是用户名即学号或工号不存在,再有一种就是密码输入错误,这两种情况在浏览器中的显示效果如图5.3所示: 图5.3 登录失败页面Fig.5.3 The failed page of login 5.2通知公告模块当管理员、教师用户登陆成功后,即会显示相应端系统首页,首页默认显示的是通知公告模块,其显示效果如图5.4所示:图5.4 通知公告界面Fig.5.4 The interface of notice该页面主要分成三个部分,第一部分是是页面左侧的导航条,用户可以通过点击导航条上的按键前往相应的页面,当光标移动至相应的导航项时,相应的导航项下面会出现下划线,当光标移走后,下划线会消失;第二部分位于整个页面上侧,它显示了当前显示的模块名称、当前登录的用户姓名、退出系统链接,;页面的第三部分则是占据页面大部分面积,是用来它也分成两块,上边是一些查询的选项,可以根据相应输入的条件进行模糊查询,查询出的结果显示在下面的列表中,默认显示的是所有的信息列表。该模块的功能主要有新建通知、查询通知、编辑删除某一具
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 地铁工程宣传方案(3篇)
- 安全教育课件培训学时
- 学习任务群在高中语文课堂中的应用
- 农业无人机租赁服务平台在2025年的市场定位与品牌建设策略
- 猎人笔记课件
- 地下管廊工程方案(3篇)
- 犬咬伤的护理
- 安全教育培训馆课件
- 矿业会计面试题及答案
- 口腔考编面试题库及答案
- 画法几何及工程制图完整课件
- 变压器试验收费标准
- 竣 工 验 收 证 书(施管表2)
- 整理黑龙江基准地价与标定地价早
- CPK工具表的模板
- 中国画发展史
- 客户基本信息调查表实用文档
- 19-雾在哪里ppt市公开课金奖市赛课一等奖课件
- 城镇道路工程施工与质量验收规范
- GB/T 11270.2-2002超硬磨料制品金刚石圆锯片第2部分:烧结锯片
- 金融统计分析教材课件
评论
0/150
提交评论