《计算机导论》课程网站的设计与实现_第1页
《计算机导论》课程网站的设计与实现_第2页
《计算机导论》课程网站的设计与实现_第3页
《计算机导论》课程网站的设计与实现_第4页
《计算机导论》课程网站的设计与实现_第5页
已阅读5页,还剩77页未读 继续免费阅读

下载本文档

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

文档简介

计算机导论课程网站的设计与实现摘要本网站开发的总体任务是实现计算机导论课程在网络上进行教学和师生交流的平台。结合学校教学现状及现代教育技术的发展趋势,为课程信息的上网、网络教学平台的开发和网络课程的建设。该网站辅助教学目的在于,它有利于教师的课堂辅助教学及学生的个性化自学,便于教师的调整、更新和适时使用。网站内容包括:课程概述、教学大纲、电子教案、参考资料、在线作业、留言板、公告版、这些方面的内容。根据教学信息管理的特点,系统采用浏览器/服务器(B/S)模式,运用了基于Java语言的JSP+JavaBeans技术,以MySQL数据库作为后台数据库,使用Dreamweaver开发前台页面,实现了对基本教学信息方便、快捷的管理,不仅提高了教学信息管理的效率,而且为师生之间信息的交流提供了一个便捷的平台。关键词: JSP, JavaBean, 交互性, 网络化学习TheDesignsandRealizeofTeachingWebsits “Computing Essentials”AbstractOverall task that website develop to realize “Computing Essentials“. This subject goes on the platform exchanged with teachers and students in teaching in the network. Combine school teaching current situation and modern development trend of education skill, of education skill, surf the Net for course information, network development and construction, network of course, teaching of platform. This website auxiliary teaching purpose lies in, it helps the teachers auxiliary teaching of classroom and students individualization to self-study, adjustment, upgrading and using in good time of the convenient teacher. Websites content includes: Course sums up, syllabus, electronic teaching notes, reference material, online assignment, message board, bulletin board and so on. According to characteristics of educational administration, we decide that mold of this project should be B/S mold and use JSP + JavaBeans that based on Java language. The database we selected is MySQL and the web in foreground is developed by Dreamweaver. So it is convenient and fast to run basis instruction information and the supervisal can be implemented with great efficiency. A convenient flat for communication between students and teachers also be provided.Keywords: JSP, JavaBean, Interactivity, Network chemistry practicing目 录1绪论11.1计算机导论课程的影响11.2计算机导论课程的研究现状11.3本文采用的技术和方法21.4本文的组织结构22基础知识42.1 相关技术介绍42.1.1 JSP动态网页开发技术42.1.2 MySql62.1.3 Tomcat虚拟服务器72.1.4 JavaBean组件82.2 环境配置82.2.1 J2SDK的安装与配置92.2.2 Tomcat 5.0的安装与配置92.2.3 MySql的配置93系统分析与设计113.1.系统分析113.1.1 可行性分析113.1.2 需求分析113.2系统设计133.2.1设计策略133.2.2功能流程图133.2.3功能模块的划分153.2.4设计目标163.2.5数据库设计164 系统的实现284.1公共模块实现284.1.1登录和退出模块284.1.2修改密码294.1.3公告查询304.1.4留言板3发件箱3收件箱3留言的删除344.2学生模块实现344.2.1消息管理344.2.2作业管理344.2.3课件管理3课件列表3课件收藏384.3教师模块实现404.3.1教师注册404.3.2课堂管理414.3.3消息管理444.3.4作业管理454.3.5题库管理494.3.6课件管理504.4 管理员模块实现515 系统测试535.1*系统测试535.2*系统测试556技术难点586.1 中文乱码586.2网页异常处理586.3如何保存TEXTAREA中的文本格式58结论60致谢61主要参考文献62外文资料翻译63译文63原文71IV1绪论本部分主要概述了计算机导论课程的影响、计算机导论课程的研究现状以及本系统采用的技术和方法,最后描述了本文的组织结构。1.1计算机导论课程的影响鉴于计算机导论课程的基础性和重要性,在本课程的教学内容扩展的同时,也急需一个可能够辅助教学的网络平台来优化本课程的教学模式。而建站的依据如下所述。1.2计算机导论课程的研究现状从教师的桌案上堆积如山的作业本,学生手中存储量日益扩大的存储设备,都说明了现代教学信息增长的趋势。不仅如此,教师与学生的交流也仅限于课堂和答疑时间的限制。很多同学由于得不到教师的联系方式,而不能及时地解决困扰自己的问题,而学生间的交流也受着各种范围的限制。教师的通知也只能通过当面通知或短信的方式发出,最大的问题是容易遗失。如果遗失的信息十分重要,则会带来很大的麻烦。重点为题是作业的收取问题。通常的作业收取工作是由教师在课堂布置作业,学生手写完成。再交由指定的学生统一送至作业收取箱。教师审阅后,由指定学生取回返还给学生本人。在此过程中,作业会出现滞留,遗失等现象,教师对作业的收取统计工作繁琐,学生完成作业和教师审阅作业也要耗费手写的时间。而通过计算机的键盘录入信息则比手写要节省时间。利用网络资源共享,网络空间容量大等和处理信息快的特点,便可以轻松的解决以上问题。而此网站的目的就在于使课程的教学更加具有时效性、丰富性和简结性。1.3本文采用的技术和方法(1)计算机导论课程网站模型(2)计算机仿真(3)Tomcat技术1.4本文的组织结构本文由X部分构成。第一部分是绪论;第二部分是基础知识,主要介绍实现本系统时涉及到的基本概念和相关技术。2基础知识这部分主要介绍了与系统相关的概念和实现系统所采用的相关技术。2.1 相关技术介绍2.1.1 JSP动态网页开发技术为了快速方便地进行动态网站的开发,JSP在以下几个方面做了改进,使其成为快速建立跨平台的动态网站的首选方案。 1.将内容的生成和显示进行分离 用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面,并使用JSP标识或者小脚本来生成页面上的动态内容(内容是根据请求变化的,例如请求账户信息或者特定的一瓶酒的价格等)。生成内容的逻辑被封装在标识和JavaBeans组件中,并且捆绑在脚本中,所有的脚本在服务器端运行。由于核心逻辑被封装在标识和JavaBeans中,所以Web管理人员和页面设计者,能够编辑和使用JSP页面,而不影响内容的生成。 在服务器端,JSP引擎解释JSP标识和脚本,生成所请求的内容(例如,通过访问JavaBeans组件,使用JDBC技术访问数据库或者包含文件),并且将结果以HTML(或者XML)页面的形式发送回浏览器。这既有助于作者保护自己的代码,又能保证任何基于HTML的Web浏览器的完全可用性。 2.可重用组件 绝大多数JSP页面依赖于可重用的、跨平台的组件(JavaBeans或者Enterprise JavaBeans组件)来执行应用程序所要求的复杂的处理。开发人员能够共享和交换执行普通操作的组件,或者使得这些组件为更多的使用者和客户团体所使用。基于组件的方法加速了总体开发过程,并且使得各种组织在他们现有的技能和优化结果的开发努力中得到平衡。 3.采用标识 Web页面开发人员不会都是熟悉脚本语言的编程人员。JSP技术封装了许多功能,这些功能是在易用的、与JSP相关的XML标识中进行动态内容生成所需要的。标准的JSP标识能够访问和实例化JavaBeans组件,设置或者检索组件属性,下载Applet,以及执行用其他方法更难于编码和耗时的功能。 4.适应平台 几乎所有平台都支持Java,JSPJavaBeans几乎可以在所有平台下通行无阻。从一个平台移植到另外一个平台,JSP和JavaBeans甚至不用重新编译,因为Java字节码都是标准的与平台无关的。 5.数据库连接 Java中连接数据库的技术是JDBC,Java程序通过JDBC驱动程序与数据库相连,执行查询、提取数据等操作。Sun公司还开发了JDBCODBC bridge,利用此技术Java程序可以访问带有ODBC驱动程序的数据库,目前大多数数据库系统都带有ODBC驱动程序,所以Java程序能访问诸如Oracle、Sybase、MS SQL Server和MS Access等数据库。 此外,通过开发标识库,JSP技术可以进一步扩展。第三方开发人员和其他人员可以为常用功能创建自己的标识库。这使得Web页面开发人员能够使用熟悉的工具和如同标识一样的执行特定功能的构件来进行工作。 JSP技术很容易整合到多种应用体系结构中,以利用现存的工具和技巧,并且能扩展到支持企业级的分布式应用中。作为采用Java技术家族的一部分,以及Java 2(企业版体系结构)的一个组成部分,JSP技术能够支持高度复杂的基于Web的应用。 由于JSP页面的内置脚本语言是基于Java的,而且所有的JSP页面都被编译成为Java Servlets,所以JSP页面具有Java技术的所有好处,包括健壮的存储管理和安全性。作为Java平台的一部分,JSP拥有Java编程语言“一次编写,各处运行”的特点。 JSP的应用模型利用JSP技术,动态信息由JSP页面来表现,JSP页面由安装在Web服务器或者使用JSP的应用服务器上的JSP引擎执行。JSP引擎接受客户端对JSP页面的请求,并且生成JSP页面作为对客户端的响应。JSP页面通常被编译成为Java Servlets,这是一个标准的Java扩展。页面开发人员能够访问全部的Java应用环境,以利用Java技术的扩展性和可移植性。当JSP页面第一次被调用时,如果它还不存在,就会被编译成为一个Java Servlets类,并且存储在服务器的内存中。这就使得在接下来的对该页面的调用中,服务器会有非常快的响应(这避免了CGIBIN为每个HTTP请求生成一个新的进程的问题)。JSP页面可以包含在多种不同的应用体系结构或者模型中,可以用于由不同协议、组件和格式所组成的联合体中。基于JSP的动态信息发布技术是一个开放的、可扩展的建立动态Web页面的标准。不论采用什么创建工具,开发人员都可以使用JSP页面来创建可移植的Web应用,在不同的Web应用服务器上运行。2.1.2 MySqlMySQL是一个多用户、多线程的SQL数据库,是一个客户机/服务器结构的应用,它由一个服务器守护程序mysql和很多不同的客户程序和库组成。SQL (Structured Query Language结构化查询语言)是目前使用最广的并且是标准的数据库语言。SQL语言使得存取或更新信息变得十分容易,可以直接使用SQL从网站上查询信息。MySQL的快速和灵活性足以满足一个网站的信息管理工作。数据库与用户端之间的接口程序可以使用CGI进行通信。新网ChinaDNS使用的是PHP,使用PHP和MySQL这两样东西加在一起,对于开发数据驱动的网站这项工作而言是最佳组合。PHP是一种用于服务器端执行程序解释的脚本语言。如果用户接触过ASP的话,那么对于在HTML页面中嵌入代码应该是比较熟悉了。PHP代码在服务器一端被解释、执行并转变成普通的HTML页面内容,送给浏览器一端。这种模式使得用户可以用它来完成相当复杂的功能。2.1.3 Tomcat虚拟服务器Tomcat 是jakarta项目中的一个重要的子项目,同时它又是sun公司官方推荐的servlet和jsp容器(具体可以见http: //products /jsp/tomcat/),因此其越来越多的受到软件公司和开发人员的喜爱。servlet和jsp的 最新规范都可以在tomcat的新版本中得到实现。自从JSP发布之后,推出了各式各样的JSP引擎。Apache Group在完成GNUJSP1.0的开发以后,开始考虑在SUN的JSWDK基础上开发一个可以直接提供Web服务的JSP服务器,当然同时也支持Servlet, 这样Tomcat就诞生了。Tomcat是jakarta项目中的一个重要的子项目,其被JavaWorld杂志的编辑选为2001年度最具创新的java产品,同时它又是sun公司官方推荐的servlet和jsp容器,因此其越来越多的受到软件公司和开发人员的喜爱。servlet和jsp的最新规范都可以在tomcat的新版本中得到实现。其次,Tomcat是完全免费的软件,任何人都可以从互联网上自由地下载。Tomcat与Apache的组合相当完美。2.1.4 JavaBean组件JavaBean是描述Java的软件组件模型,有点类似于Microsoft的COM组件概念。在Java模型中,通过JavaBean可以无限扩 充Java程序的功能,通过JavaBean的组合可以快速的生成新的应用程序。对于程序员来说,最好的一点就是JavaBean可以实现代码的重复利 用,另外对于程序的易维护性等等也有很重大的意义。 JavaBean通过Java虚拟机(Java Virtual Machine)可以得到正确的执行,运行JavaBean最小的需求是JDK1.1或者以上的版本。 JavaBean传统的应用在于可视化的领域,如AWT下的应用。自从Jsp诞生后,JavaBean更多的应用在了非可视化领域,在服务器端应用方 面表现出来了越来越强的生命力。在这里我们主要讨论的是非可视化的JavaBean,可视化的JavaBean在市面上有很多Java书籍都有详细的阐 述,在这里就不作为重点了。 2.2 环境配置J2SDK是Java 2 的软件开发工具,是Java应用程序的基础。JSP是基于Java技术的,所以配置JSP环境之前必须安装J2SDK。Tomcat服务器是Apache组织开发的一种JSP引擎,本身具有Web服务器的功能,可以作为独立的Web服务器来使用。配置JSP环境常用J2SDK+Tomcat, J2SDK+Apache+Tomcat, J2SDK+IIS+Tomcat三种方案。本次设计采用的是第一种方案,以下是这种方案在Windows XP操作系统下的环境配置过程。2.2.1 J2SDK的安装与配置在Windows下,直接运行j2sdk-1_4_2_07-windows-i586-p.exe(可到官方网站下载),安装到D:j2sdk。添加环境变量:在Windows XP操作系统下,用鼠标右键单击“我的电脑”图标,在弹出的快捷菜单中选择“属性”“系统特性” “高级” “环境变量”命令,在弹出的对话框中即可编辑系统的环境变量。添加PATH、JAVA_HOME和CLASSPATH三个变量,它们的值分别为: PATH= d:j2sdkbin;JAVA_HOM=d:j2sdk;CLASSPATH=d:j2sdkbintools.jar;d:j2sdklibdt.jar;2.2.2 Tomcat 5.0的安装与配置直接运行下载的jakarta-tomcat-5.0.28.exe(可到官方网站下载),按照一般的Windows程序安装步骤即可安装好Tomcat,安装时它会自动寻找J2SDK的位置,添加方法与J2SDK的添加方法相同,设置变量名为CATALINA_HOME,变量值为d:Tomcat 5.0。设置完毕后运行Tomcat服务器:选择“开始”“程序”“Apache Tomcat5.0” “Monitor Tomcat”命令,打开Tomcat监视器。然后,在浏览器中输入http:/localhost:8080/,即可运行放在d:Tomcat5.0webapps目录下的JSP文件。2.2.3 MySql的配置Mysql与Tomcat的数据通信需要mysql-connector-java-3.1.12-bin.jar Mysql数据库驱动来搭建。方法:把压缩包mysql-connector-java-3.1.12.zip里的jar文件mysql-connector-java-3.1.12-bin.jar拷贝到C:j2sdk1.4.2_11lib目录。运行Tomcat配置程序,点击Java标签,在Java Classpath栏增加路径:C:j2sdk1.4.2_11libmysql-connector-java-3.1.12-bin.jar,注意与原先的路径用分号隔开,如下图,注意蓝色高亮显示部分。另外一种更简单的方法是把mysql-connector-java-3.1.12-bin.jar复制到站点的WEB-INFlib目录下。3系统分析与设计3.1.系统分析 本节主要描述了系统的需求分析和功能要求。3.1.1 可行性分析由于计算机导论课程的内容扩充,此课程的重要性在提高,教师的授课容量加大,学生的知识索取也不断提高。同时也就体现出了信息化辅助教学的重要性。将作业和教学资源信息化,交流方式多样化,综合一体与此网站。在简化的日常工作,使师生都免去了不必要的冗余工作和资源索取的同时,可以加快教学的效率,提高教学的质量,达到辅助教学的作用。3.1.2 需求分析在开发本网站之前,通过参考一些课程网站的开设,并吸取了其中的一些实用模块的开发特点,加入了自己对问题的解决方案。综合分析出了一个短时间内可完成的网站规模。并预留出了可供扩展的网站用户分为三个角色,学生、教师和管理员。而用户身份不同,其所需要做的操作也不尽相同。因此,可根据用户身份对系统进行模块划分。为了避免重复开发,将一些相同的操作划入一个公用模块,这个模块包括的功能有:用户登陆与退出、修改密码、参考书推荐信息浏览、留言以及浏览公告等操作。由于本网站的初步使用范围小,参与人数少,资源浏览量普通等特点,采用小模式开发。开发技术选择自然也从功能强大适用于大规模团队开发的J2EE构架,降到了只使用其中的核心技术JSP来完成。同时,由于目前不涉及多平台移植和模块频繁扩展问题,选择JSP建站模式一(JSP+JavaBean)来开发。系统的各模块应具有以下功能:u 学生:1. 登录网站(默认密码为ncut,登录后可修改)2. 浏览主页公共内容3. 查询各类教学资源,进行下载或收藏的操作4. 查询待完成作业,完成作业,并提交5. 查看已提交作业和教师反馈信息6. 班级公告的浏览7. 查看留言板收件箱信息,并回复8. 管理留言板发件箱信息,进行添加、删除等操作9. 修改个人密码10. 退出登录,并返回主页u 教师1. 注册个人信息2. 登录网站3. 浏览主页公共内容4. 个人公告管理:对自己发布的公告进行管理,并添加新的公告。公告发布范围可设置为主页或某个班级5. 查看留言板收件箱信息,并回复6. 管理留言板发件箱信息,进行添加、删除等操作7. 添加,修改,删除题库信息8. 管理以创建的课堂并添加新的课堂9. 查看课堂内的学生信息,以及作业信息10. 创建、修改、删除作业11. 对以创建的作业添加试题12. 查看作业的收取情况,并对已提交的作业进行审阅13. 添加、删除课件信息14. 退出登录,并返回首页u 管理员:强制删除网站的内容,在不需要用户删除相关信息的情况下,删除必须删除的信息。范围包括:公告(主页范围内的),课件,班级,教师。3.2系统设计3.2.1设计策略服务器端/客户端:1操作系统:Windows XP2网络协议:TCP/IP3浏览器:Internet Explore6.04制作工具:DreamWeaver 8利用DreamWeaver8完成网页的前台代码开发,在网页中嵌入JAVA语言对网页中提交的数据进行处理。对于经常用到的类,将其封装在JavaBean中,免去重复编写代码的麻烦。在系统的后台,用MySql作为数据库支持,提供基本的表信息,使用时,打开浏览器,在地址栏中输入http:/localhost:8080/my/jsjdl_homepage.jsp(由于服务器和客户端都在同一台计算机上),回车后,即可进入网上选课系统的登录页面,进行操作。3.2.2功能流程图网站中的按功能划分,有三个模块的功能比较复杂。分别为作业模块、留言模块和课件收藏模块u 作业模块:图4.1 作业模块流程图u 留言模块:图4.2 留言模块流程图u 课件模块:图4.3 课件模块流程图3.2.3功能模块的划分网站功能模块图,如图4.4所示:图4.4 功能模块图3.2.4设计目标通过计算机导论网站的建立,便可带来教学模式上以下的改变:1. 扩大学生对教学资源索取范围及速度,使资源不只局限于书本及教师提供的资源。2. 教学资源的集中管理。免去资源丢失,储存空间有限和内容混乱的顾虑。3. 师生交互和学生交互的及时性。使学习交流不再受地域和时间的限制,双方的问题和要求能够得到及时的处理。4. 作业工作的优化。缩短教师的处理时间和学生的完成时间,节省了以往日常流程上的资源和时间的浪费。3.2.5数据库设计 E-R图如图5.1所示图5.1 E-R图数据表设计1. College(学校表)表5.1学校信息表字段名主健数据类型允许为空自增说明college_id是INTEGER不允许是唯一编号name否VARCHAR(20)不允许否学校名称 用于存储参与本站的学校名称。2. Teacher(教师信息表)表5.2教师信息表字段名主健数据类型允许为空自增说明teacher_id是INTEGER不允许是唯一编号name否VARCHAR(10)不允许否教师姓名password否VARCHAR(16)不允许否密码email否VARCHAR(40)不允许否邮箱地址gender否VARCHAR(2)不允许否性别number否VARCHAR(11)不允许否编号id否VARCHAR(12)不允许否用户IDcollege_id否INTEGER不允许否学校编号记录教师的基本信息,如:姓名、性别、密码、邮箱、在校唯一编号、网站的用户ID和所属学校,college_id为college表的外键。3. Class(课堂信息表)表5.3课堂信息表字段名主健数据类型允许为空自增说明class_id是INTEGER不允许是唯一编号name否VARCHAR(16)不允许否课堂名称contain否INTEGER不允许否课堂容量teacher_id否INTEGER 不允许否教师编号记录教师创建的课堂信息,如:课堂名称、课堂容量和所属教师,student_id为teacher表的外键。4. Student(学生信息表)表5.4学生信息表字段名主健数据类型允许为空自增说明student_id是INTEGER不允许是唯一编号name否VARCHAR(10)不允许否学生姓名password否VARCHAR(16)不允许否密码gender否VARCHAR(2)不允许否性别grade否VARCHAR(10)不允许否年级class否VARCHAR(10)不允许否自然班number否VARCHAR(11)不允许否学号id否VARCHAR(12)不允许否用户IDloginNum否INTEGER不允许否登录次数class_id否INTEGER不允许否课堂编号teacher_id否INTEGER不允许否教师编号记录学生信息。如:姓名、密码、性别、年级、自然班、学号、登录次数、用户ID、所属班级和所属教师。Class_id 为class表的外键teacher_id为 teacher表的外键。5. Question(试题信息表)表5.5试题信息表字段名主健数据类型允许为空自增说明question_id是INTEGER不允许是唯一编号context否TEXT不允许否题干answerkey否TEXT不允许否参考答案question_class否INTEGER不允许否试题类型question_difficulty否INTEGER不允许否试题难度count否INTEGER不允许否选项数id否VARCHAR(10)不允许否题号记录题库的试题信息。如:题号、题干、参考答案、类型、难度和选项数。Question_class为question_class表外键,question_difficulty为question_rank表外键。6. Question_class(试题类型表)表5.6试题类型表字段名主健数据类型允许为空自增说明question_class是INTEGER不允许是唯一编号name否VARCHAR(10)不允许否类型名称记录试题类型信息。如:试题名称。7. Question_rank(试题难度表)表5.7试题难度表字段名主健数据类型允许为空自增说明question_difficulty是INTEGER不允许是唯一编号name否VARCHAR(3)不允许否难度名称记录试题难度等级信息。默认存在五个等级:容易,较易,一般,较难和困难。8. Homework(作业信息表)表5.8作业信息表字段名主健数据类型允许为空自增说明homework_id是INTEGER不允许是唯一编号name否VARCHAR(30)不允许否作业名称note否TEXT不允许否作业说明deadline否VARCHAR(20)不允许否截止日期count否INTEGER不允许否已交份数class_id否INTEGER不允许否课堂编号teacher_id否INTEGER不允许否教师编号记录教师创建的作业信息。如:名称、说明、截至日期、统计已交份数、所属课堂和所属教师。 Class_id为class表外键,teacher_id为teacher表外键。9. Homework_content(学生作答信息表)表5.9学生作答信息表字段名主健数据类型允许为空自增说明id是INTEGER不允许是唯一编号content否TEXT不允许否作答内容qlist_id否INTEGER不允许否作业题编号homework_id否INTEGER不允许否作业编号student_id否INTEGER 不允许否学生编号记录学生作业的作答信息,对于每个学生作答的每道题生成一条记录。记录内容为:作答内容,作业题编号(试题在作业中的引用编号),所属作业和所属学生。Homework_id 为homework表外键,student_id为student表外键。10. Homework_qlist(作业题信息表)表5.10作业题信息表字段名主健数据类型允许为空自增说明qlist_id是INTEGER不允许是唯一编号question_id否INTEGER不允许否试题编号homework_id否INTEGER不允许否作业编号记录试题引用信息,对作业中添加的题库试题信息进行记录,如:试题编号和作业编号,两个字段记录了该试题存在于哪次作业中。11. Homework_refer(作业提交信息表)表5.11作业提交信息表字段名主健数据类型允许为空自增说明homework_refer是INTEGER不允许是唯一编号refertime否VARCHAR(20)不允许否提交时间comment否TEXT不允许否教师评语checktime否VARCHAR(20)不允许否审阅时间refer否INTEGER不允许否是否提交done否INTEGER不允许否是否完成checked否INTEGER不允许否是否审阅student_id否INTEGER不允许否学生编号homework_id否INTEGER不允许否作业编号记录作业的完成、提交及审阅信息。记录内容为:作业提交时间、作业审阅时间、教师评语、提交标记、完成标记、审阅标记、此条记录对应的学生和所属的作业。Student_id为student表外键,homework_id为homework表外键。12. Classfile(课件信息表)表5.12课件信息表字段名主健数据类型允许为空自增说明classfile_id是INTEGER不允许是唯一编号name否VARCHAR(30)不允许否随机文件名uptime否VARCHAR(20)不允许否上传时间memo否VARCHAR(45)不允许否备注ext否VARCHAR(4)不允许否后缀名length否INTEGER不允许否文件长度teacher_id否INTEGER不允许否教师编号classfile_class否INTEGER不允许否课件类型记录课件的相关信息。如:服务器中的文件名,上传时间、文件备注、文件后缀名(文件类型)、文件长度(字节)、所属教师、课件类型。Teacher_id为teacher表外键,classfile_class为classfile_class表外键。13. Classfile_class(课件类型表)表5.13课件类型表字段名主健数据类型允许为空自增说明classfile_id是INTEGER不允许是唯一编号name否VARCHAR(20)不允许否类型名称记录课件的类型信息。课件分为六大类:视频文件、演示文稿、音频文件、文档文件、图片文件和压缩文件(除允许上传的文件类型外,其他文件均需打包为rar或zip压缩包上传)。14. Classfile_collect(课件收藏信息表)表5.14课件收藏信息表字段名主健数据类型允许为空自增说明college_id是INTEGER不允许是唯一编号student_id否INTEGER不允许否学生编号collect_class否INTEGER不允许否收藏类型classfile_id否INTEGER不允许否课件编号记录学生对课件的收藏信息。如:收藏记录所属的学生,收藏所属类型(学生创建)和收藏的课件在课件信息表中对应编号。Classfile_id为classfile表外键,collect_class为Classfile_collect_class表外键,student_id为student表外键。15. Classfile_collect_class(课件收藏类型表)表5.15课件收藏类型表字段名主健数据类型允许为空自增说明Classfile_collect_class是INTEGER不允许是唯一编号student_id否INTEGER不允许否学生编号name否VARCHAR(20)不允许否名称记录收藏分类信息。分类有学生自行创建。记录内容为:分类所属的学生和分类名称。Student_id为student表外键。16. Ly(留言信息表)表5.16留言信息表字段名主健数据类型允许为空自增说明Ly_id是INTEGER不允许是唯一编号time否VARCHAR(20)不允许否留言时间context否TEXT不允许否内容Sender_stu否INTEGER不允许否发件教师编号Sender_tea否INTEGER不允许否发件学生编号Receiver_stu否INTEGER不允许否收件教师编号Receiver_tea否INTEGER不允许否收件学生编号Sender_class否INTEGER不允许否发件人类型Receiver_class否INTEGER不允许否收件人类型记录留言信息。如:留言时间、留言内容、发件人编号(如果是学生发件,则教师字段存值为1,反之亦然),收件人编号(如果是学生收件,则教师字段存值为1,反之亦然),发件人类型,收件人类型。Sender_stu和receiver_stu为student表外键,sender_tea和receiver_tea为teacher表外键。收发件人类型:1为教师,2为学生。17. Notice(公告信息表)表5.17公告信息表字段名主健数据类型允许为空自增说明Notice_id是INTEGER不允许是唯一编号Title否VARCHAR(40)不允许否标题Context否TEXT不允许否内容Class_id否INTEGER不允许否班级编号Teacher_id否INTEGER不允许否教学编号time否VARCHAR(20)不允许否发布时间记录教师发表的公告信息,记录内容为:公告标题,公告内容,公告所属班级(如公告发布在主页则班级存值为1),发布教师编号和发布时间。Class_id为class表外键,teacher_id为teacher表外键。 JavaBean编写在设计中一共有4个包:vo, dao, service, util(1) vo包vo包中包含了所有相对于数据表建立的JavaBean文件。每个并文件都包含了相对应的数据表中的所有字段。(2) dao包dao包采用的是工厂模式,其中封装的均为相对于每个数据表的数据库访问操作函数。dao中包含daoImpl包,二者之间是继承的关系。继承类具体实现了如何访问数据库的操作。采用工厂模式的特点是灵活性高。在更换数据库时,只需修改继承类中的程序,而不必修改dao中的类。因为在下面的service包中直接调用的是dao类,直接对dao类进行操作的话会比较麻烦。(3) service包service包中封装的bean文件主要使用了数据库的事务处理技术。包中的类是相对于dao包中的类所建立的,dao包主要实现对数据表的具体方法,而service用来对数据库进行实际连接和事务处理工作,来确保数据库的正确运行。同时service包中的类也编写了一些需要访问数据库,而并非直接访问数据库的方法,例如:UserService类中的登录方法Login()其中引用的是到dao包中UserDAO类的updateUser()和getUser()方法。updateUser()实现的是更新User表的操作,getUser实现的是查询User表的操作。在登录时将用户ID和密码与实际的进行比对后,如果正确,则先使用getUser()得到该用户的左右字段,并保存在Bean文件User中待使用。再使用User中的setLoginNum()对loginNum字段重新赋值,并用updateUser()对此条记录进行更新。所有的数据库访问操作均符合以上的JavaBean调用过程。(4) util包util包中封装了三个实用包:db包和filter包。db中封装的类是数据库连接操作的具体方法,包括数据库设置,数据库连接,事务回滚等等方法。filter中封装一些常用过滤器。例如SetCharacterEncodingFilter()用于字符的过滤。4 系统的实现本系统功由用户身份不同分为四大模块:公共模块、学生模块、管理员模块和教师模块。各个模块的设计介绍和运行结果界面如下。4.1公共模块实现此模块包括的功能有:用户登陆和退出操作、修改密码、留言板、公告浏览和参考书信息浏览。以下将一一进行说明。4.1.1登录和退出模块用户的通过UserService类登录成功后,将用户名存在session中,语句为session.setAttribute(“uid”,uid); uid中存储的值是用户的ID为 学校编号+学号(或在校的唯一编号)。每页均需严重身份,通过session获取的sessionID与application的user对象中的字符串进行比较,如果存在则为登录状态,若不存在则跳转到登录页。用户登录用户通过登录页面,选择相应的用户身份,输入用户名和密码后进入个人页面。该模块主要用来验证用户身份及密码。运行结果如图4.1所示:图4.1 登录表单页面login.jsp将用户名,密码和登录类型的请求参数传递给do_login.jsp进行登录。登录成功后利用application内置对象将服务器分配的sessionID存入users对象中,通过判断是否为第一位登录用户来对count对象进行加1的操作。这个过程是用来统计在线人数的,最后在页面上打印出count的内容作为在线人数。登录成功运行结果如图4.2所示:图4.2 登录成功运行结果管理员进入网站时,直接进入管理员登录页面进行登录。用户退出点击页面右上角的“注销”可退出登录。退出时,login_out.jsp页面执行退出代码,从application的users对象中删除该用户的sessionID字符串,count对象减1,最后使用request.removeSession() 语句移除该用户的session。4.1.2修改密码在登录成功后,password也会一并被作为session对象存入session的password对象中。在此只要用session的getAttribute()方法取得用户的uid和password对象进行验证后,对数据库中的相应纪录进行修改即可。其操作界面如图4.3所示。图4.3 修改密码的界面用户输入的旧密码如果与登录的密码不一致,系统将给出错误提示,在这利用session的功能来检测旧密码输入的正确性,避免对数据库的操作,节省操作时间。基于对用户数据安全保护得考虑,如果用户打算将新密码设置为

温馨提示

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

评论

0/150

提交评论