版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第一章 绪论1.1 开发背景随着网络的普及,学校需要寻找新的学习模式。在线学习是一种新的教育形式。在线学习系统主要服务于学校内的所有学生,为他们很好的提供更多元化的学习环境、更方便复习,预习的学习渠道。在线学习系统是一个正在兴起的应用领域,主要利用网页制作、数据库等技术实现网上教学的实时性、交互性、动态性。目前对于网上学习的模式以及其所涉及的技术仍有许多问题需要探讨和解决。本系统突破一般多媒体辅助教学工具的思想,目的是尽可能将现实的活生生的学习环境和方法应用于网络教学中,提高学生网上学习的兴趣,从而真正提高网上学习质量;同时本系统的总体框架是为建立多学科的通用的模块化的网上学习平台,为今后开展
2、广泛的网上教育提供技术基础服务。作为传统教学的延伸,网络信息化教学的作用正逐步被人们所重视,随着网络技术和多媒体技术的进步,网络信息化教学系统还会有更多的发展空间。1.2 开发意义在传统的课堂式教学下学习存在着很多的缺点:如:享受到最优秀老师服务的只能是少数人;不能随时随地、灵活有效的、个人掌握学习主动权。随着科学技术的不断提高,计算机科学与技术日渐成熟,计算机应用的普及,计算机已进入人类社会生活的各个领域,并发挥着越来越重要的作用,越来越多的学员选择网上在线学习。在线学习提供最优秀的教育资源传统授课方式中,真正能享受到最优秀老师服务的只能是少数人,而通过在线学习提供的视频学习,任何人都可以轻
3、松享受到优秀老师提供的教学服务,在线学习系统整合各领域最优秀的教学视频,可以让你接受的第一流的教育。在线学习不受时间的限制,并且可以随时随地在可以上网的地方参与学习。第二章 系统分析2.1 系统的需求分析 区别于课堂式教育,网上在线学习具有了传统的课堂式学习无可比拟的优点:网上在线学习体现了真正的因材施教;学生学习不受入学年龄的限制,并且可以避免传统教学模式下时间和空间的限制;在线学习对学生来说是时空的解放,宽松的学习氛围更可以使学生发挥他们的聪明才智,他们可以在学习活动中相互启发、协作交流;在线学习也是一种多向的信息交流活动,学生在获取不同的学习资源时可进行比较,集思广益,取长补短,深入理解
4、和消化所学的知识,益于对新知识的意义建构;当代学生学习动机呈多样性,学习压力因素各异,而在网络背景下的学习者可根据自身的特点采取不同的学习方法。让更多的人符合科学发展跟上时代的步伐。 根据以上实际的需求和特色,本系统需满足以下几个方面的要求:1. 提供一个可以与他人交流互动的平台,在这个平台上面学生可以发表自己的见解,达到交流共享信息的目的2. 学生可在此系统中注册成为用户,注册成功之后在平台上交流时其他用户就可以知道你的信息,从而可以使用户大胆放心的在这个平台上分享更多的信息。3. 学生可以在此平台上获取到他们所想要的学习资料4. 学生可以在此平台上进行在线学习。2.2 系统开发设计思想系统
5、采用模块化程序设计方法,既便于系统功能的各种组合和修改,又便于未参与开发的技术维护人员补充、维护;系统应具备数据库维护功能,及时根据用户需求进行数据的添加、删除、修改、备份等操作。2.3系统开发步骤在线学习系统的建立与应用可以划分成总体规划、系统开发和系统运行三个阶段,其中系统开发阶段还可进一步分为系统分析、系统设计和系统实施等工作环节。上述各个阶段排列成一个严格的线性开发序列,在每个工作阶段均产生完整的技术文档作为下一阶段工作的指导和依据,每一阶段都应对文档进行评审,确信该阶段工作已完成并达到要求后才能进入下一阶段,同时在以后的工作中不能轻易改变前面经过评审的成果。上述开发方式的主要优点是便
6、于开发工作的组织和管理,并且可大大降低在线学习系统开发的复杂性。国内外许多系统开发的实例都证明这是一种行之有效的开发方式。2.4 系统的主要技术 Browser/Server系统的三层体系结构在Browser/Server的系统中,用户可以通过浏览器向分布在网络上的许多服务器发出请求。Browser/Server结构极大的简化了客户机的工作,客户机上只需安装、配置少量的客户端软件即可,服务器将担负更多的工作,对数据库的访问和应用程序的执行将在服务器上完成。在Browser/Server三层体系结构下,表示层(Presentation)、功能层(Business Logic)、数据层(Data
7、Service)被分割成三个相对独立的单元:第一层-表示层:Web浏览器在表示层中包含系统的显示逻辑,位于客户端。它的任务是由Web浏览器向网络上的某一Web服务器提出服务请求,Web服务器对用户身份进行验证后用HTTP协议把所需的主页传送给客户端,客户机接受传来的主页文件,并把它显示在Web浏览器上。第二层-功能层:具有应用程序扩展功能的Web服务器在功能层中包含系统的事务处理逻辑,位于Web服务器端。它的任务是接受用户的请求,首先需要执行相应的扩展应用程序与数据库进行连接,通过SQL等方式向数据库服务器提出数据处理申请,而后等数据库服务器将数据处理的结果提交给Web服务器,再由Web服务器
8、传送回客户端。第三层-数据层:数据库服务器在数据层中包含系统的数据处理逻辑,位于数据库服务器端。它的任务是接受Web服务器对数据库操纵的请求,实现对数据库查询、修改、更新等功能,把运行结果提交给Web服务器。从上面的分析中可以看出,三层的Browser/Server体系结构是把二层Client/Server结构的事务处理逻辑模块从客户机的任务中分离出来,由单独组成的一层来负担其任务,这样客户机的压力大大减轻了,把负荷均衡地分配给了Web服务器,于是由原来的两层的Client/server结构转变成三层的Browser/Server结构。 Java Server Page(JSP)技术在本系统的
9、开发过程中采用的是JSP+JavaBean+Servlet模式,在该模式中,结合了JSP和Servlet技术,充分利用了JSP和Servlet两种技术原有的优点。此模式遵循视图控制器(MVC)模式,它的主要思想是使用一个或多个Servlet作为控制器。请求由前沿的Servlet接收并处理后,会重新定向到JSP。在Servlet作为控制器时,每个Servlet通常只实现很少一部分功能,多个Servlet控制器就可以结合起来完成复杂的任务,这样的好处是Servlet的重用性好。在此模式中,JavaBean作为模型的角色,它充当JSP和Servlet通信的中间工具,Servlet处理完后设置Bean
10、属性,JSP读取此Bean的属性,然后进行显示。此模式更加明显的把显示和逻辑分离,使代码容易管理,适合于大型项目的开发,所以在本系统中采用了这种模式8。此模式的数据传递关系如图2-1所示。 图2.1 JSP+JavaBean+Servlet开发模式数据传递关系首先,J2EE 结构是设计和开发在线学习系统的核心。第二,系统提供的大部分操作都涉及到与用户动态地进行信息交互,要求系统能够实现数据的动态发布。第三,位于客户端的用户主要通过浏览器使用本系统。第四,在Sun 公司提出的J2EE蓝图中明确推荐使用JSP技术为动态内容提供服务。因此,在J2EE结构的模型框架下,JSP 技术是实现此系统动态信息
11、交互功能的首选方案。JSP技术主要有以下一些特点2:(1) 应用程序逻辑和页面显示相分离的特性。JSP 把用户界面从系统内容中分离开来,使得设计人员能够在不改变底层动态内容的前提下改变整个网页布局。(2) 组件的可重用性。绝大多数JSP页面依赖于可重用的、跨平台的组件来执行应用程序的处理。开发人员能够共享和交换执行组件,并利用这些组件创建应用程序。基于组件的方法加速了开发过程,提高了应用程序的开发效率2。(3) 跨平台特性。JSP技术将“一次编写,随处运行”的思想推广到了交互网页中,因此不需要作任何更改,就可以很轻松地跨平台和跨Web服务器移动JSP页。(4)可以用多种格式为动态内容提供服务。
12、JSP可以为不同的客户端提供服务,包括使HTML/DHTML的常规浏览器、使用WML的移动电话和PDA 等手持式无线设备以及使用XML的其他B2B 应用程序等3。 JDBC技术JDBC 技术在J2EE 结构的中间层与EIS层的数据源之间提供了数据库独立的开放性连接,使应用程序不仅可以对基于SQL 标准的关系数据库系统进行访问,而且还可以对其他类型的数据源进行访问。JDBC技术通过提供API使Java 应用程序能够实现位于系统层的数据库的访问能力。J2EE 结构中间层的应用组件通过JDBC技术可以完成下列功能:实现与位于J2EE结构中系统层的数据库服务器的连接;管理事务;将SQL 请求传送到数据
13、库管理系统进行预处理并执行相应的数据操作;执行存储过程;检查修改查询语句的执行结果等。2.5 系统的运行环境和开发平台 硬件设备及操作系统服务器:PentiumIII 1G(或与此相当的CPU)以上配置的高性能PC机,有网络接口卡(NIC),内存应在256M以上,硬盘在80G以上。数据库软件IBM DB2,还可选用备份服务器。操作系统:Windows 98以上。客户端:PentiumIII 500(或与此相当的CPU)以上配置的PC机,有网络接口卡(NIC),内存应在128M以上,硬盘在10G以上。Windows98以上操作系统,安装Web浏览器。网络:服务器和客户端应有网络连通。配置TCP/
14、IP协议。 系统开发工具电脑配置:Dell品牌机CPU: P4 2.6 内存:DDR 512M 硬盘:80G操作系统:Microsoft Windows Server 2003开发环境:MyEclispse 7.5Web服务平台:Tomcat 6.0数据库:SQL Server 2005 开发工具简介(1) MyEclipse7.5概述9MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对Eclipse IDE的扩展,利用它我们可以在数据库和J2EE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰
15、富的J2EE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML, Struts, JSF, CSS, Javascript, SQL, Hibernate。(2) Tomcat6.0概述10Tomcat6.0 服务器是一个免费的开放源代码的Web 应用服务器,Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 6.0 支持最
16、新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。(3) SQL Server 2005概述11SQL Server是微软公司开发的一个关系数据库管理系统,以Transact_SQL作为它的数据库查询和编程语言。TSQL是结构化查询语言SQL的一种,支持ANSI SQL92标准。SQL Server 采用二级安全验证、登录验证及数据库用户帐号和角色的许可验证。SQL Server 支持两种身份验证模式:Windows NT身份验证和SQL Serv
17、er 身份验证。7.0版支持多种类型的角色,"角色"概念的引入方便了权限的管理,也使权限的分配更加灵活。第三章 系统设计本系统的学习功能主要是针对学生设计,包括视频的观看、下载,相关课件的下载,对有关资源的学习,了解其学习方面的通知,和教师间的相互交流。开始电子公告和BBS学习论坛,引导学生进行网上交流,引导了学生对有关问题进行思考判断,进而引导学生主动参与本系统的建设,使网络成为教学的另一个战场。本系统的教学功能能为教师提供一个平台,使得课件或电子教案的发布更为简单,并为教师提供答疑板块,教师也可进入学习论坛,了解学生的疑问,便于教师与学生的交流,也为今后各科教师自行制作
18、相关专题子网站提供了方便。本系统的管理员管理功能包括用户管理、资源管理、论坛管理。对用户及资源信息进行有效的管理。 3.1系统用例与本系统相关的用户和角色包括:系统管理员:管理系统用户、角色与权限,发布相关资源,保证系统正常运行。教师:发布相关学习资源(如:视频、课件等),在线答疑。学生:通过注册成为本系统用户,可在线观看教学视频、下载有关学习软件,进行相关问题的咨询。管理员老师学生用户在线学习系统浏览网页注册登陆观看视频发帖、跟帖下载资源上传资源管理用户、资源图3.1 系统用例图3.2 系统功能模块的划分软件所实现的功能强弱是衡量一个软件的最根本的标准。经过对系统的需求分析和实际应用需求,确
19、定了本子系统的功能模块如图3.1所示:在线学习系统用户模块在线视频模块文件上传下载模块B B S论坛模块后台管理模块公告模块答疑模块图3.2 系统功能模块图用户模块用户包括未注册的路人、注册的学生、老师、管理员的权限功能的实现和划分的用户模块。未注册的用户登陆本系统只能浏览本系统的新闻资讯,或者是浏览论坛中的帖子、还有就是在线观看本体统提供的视频资源。注册成功的学生、老师用户登陆成功之后除了享有路人所有的权限之外还可以下载视频、课件。进入论坛之后还可以发帖,提出自己的问题,也可以针对某个问题回复别人提出来的问题,和其他的人一起沟通。管理员是权限最大的用户,可以对本系统中所有的资源进行管理,包括
20、用户的管理,管理员有权注销不合法的用户;主页面的新闻,管理员可以发布新闻、撤消新闻;论坛中帖子的管理,管理员有权对含有不健康或者是不合法的内容的帖子进行撤消。在线视频模块该模块主要实现在线播放,通过在页面嵌入一个播放器,系统通过jsp页面户从数据库中获取所有可在线播放的视频信息,并显示在页面上。通过用户所请求的某个视频信息返回到页面的播放器进行播放。 文件上传下载模块本系统涉及的文件主要包括课件资源和视频资源:(1) 上传文件在后台管理界面中设置“资料管理”按钮,点击 “上传文件”可以在自己的主机或网络上选择要上传的文件资料,这里一次可以上传一个或多首文件,选择结束后点击“上传”按钮就可以将文
21、件传到一个指定的ftp上的文件夹中供用户下载。对数据库中表进行查询,将文件的名称等信息在相应页面中显示出来。(2) 下载文件在数据库文件信息表中设置“存放路径”字段,此字段放置的信息是管理员将文件上传到的路径信息。前台页面中对文件的信息进行查询,使用代码来实现每个不同的文件名链接到相应的目录下面,用户点击文件下载选择将其保存到磁盘上可以将该文件保存到自己的本机上;右键点击“另存为”也可将其保存到自己本机上。这两种方法都实现了文件的下载。该模块主要实现的功能是管理员定期把一些文件上传到相应的文件夹中,并在网页中显示相关内容,在线用户可以在线观看视频或下载所喜欢的文件。答疑模块(1)提出问题登陆的
22、学生用户可以向老师提问,当学生遇到方向性的问题,可以向有关的老师提问。每个老师都有教授的课程以及介绍,学生可以通过了解老师所擅长的科目来向他提问。当老师解决了学生提出的问题后,学生登陆时将列出所有解决的问题。(2)解决问题登陆的老师用户登陆可以浏览之前学生所提出的所有问题和解决的问题,老师可以解决未处理的问题。 公告模块在首页的公告区域显示管理员发布的公告信息,公告信息实时更新主要显示的是数据库中的公告表中的数据资源。 BBS论坛模块用户登陆首先进入论坛的首页,在首页是显示的所有用户发表的主贴信息,该页面主要是分页显示数据库中的主帖信息了内容,包括发帖人头像、主题、发表时间、点击数等等,可以点
23、击某个主贴的主题链接到该贴的所有跟帖信息,注册的用户还可以发表主题、回复主贴。达到与其他老师或者同学交流的功能。然后该页面也提供用户登陆和注册的功能,主要对于那些路人观看之后想发表自己的想法的人提供便利,在从帖的页面主要是分页显示某个主帖的从帖信息,同时也包括用户登陆和注册的功能。 后台管理模块后台管理是最重要的一块,后台的管理功能的实现,管理员登陆之后,可以对数据库中的所有信息进行管理,本模块的功能模块由下图所示:后台管理用户管理公告管理资源管理论坛管理图3.3 后台管理功能模块图(1) 用户的管理管理员有权对该系统的所有管理员、学生进行管理、这就包括对用户的添加、修改、删除。(2) 公告管
24、理,计算机范文网 ,管理员可以定期对主页上面的公告进行更新,通过该模块,管理员可以轻松、快速的对公告进行管理。 1. 信息公告的录入主要功能是使管理员以简捷的方式对通知公告表进行操作,主要的功能有:增加、删除和修改。管理员在进行以上所有操作时首先要进入登录界面进行登录,登录用的用户名和密码是按管理员的不同权限事先分配好的,登录成功后可以实现增加、修改、删除一些公告信息。2. 浏览信息公告在首页的适当位置设置公告栏,主要是最新信息。最新的而且较重要的可做成滚动条的形式,滚动显示通知的信息。当鼠标置于某个标题上时,滚动条停止滚动,点击标题浏览通知公告的正文。其他的可在主页面里的适当位置按时间的倒序
25、将标题和发布日期显示出来,点击标题浏览公告信息的正文。(3) 资源管理主要是对现有资源的管理和资料的上传。1. 现有资源的管理可对现有的视频和课件进行增加、删除、修改,可对那些上传资料不合法的视频资源可将其是否发布的属性该为否,这样将不会在页面上显示,也不能提供下载。还有一种就是将是否下载该为否,这样的话只有在页面显示,但是还是不能下载。对于课件资源只有是否下载的属性,不提供在线的打开,只提供下载。2. 资料的上传管理员可上传所需的资源供学生用户下载。3.3数据库设计数据库需求分析数据库的设计在一个系统中的作用十分重要,数据库建立的是否完善直接影响到你个系统的实现。数据库的设计既要满足用户的需
26、求又要尽最大可能的降低数据的冗余,尽可能降低数据间的依赖,将他们分离。在各种信息的提供,保存,更新和查询,这就要求数据库结构能充分满足各种信息的输出和输入,收集基本数据,数据结构,以及数据处理的流程,组成一份详尽的数据字典,为后面的具体设计打下基础数据库E-R图E-R模型的组成元素有:实体、属性、联系。E-R模型用E-R图表示。实体是用户工作环境中所涉及的事务,属性是对实体特征的描述。(1)模型中的实体相当于实体集、一个表,而不是单个实体或表中的一行。实体用矩形框表示,实体名称标注在矩形框内。用菱形表示实体间的联系,菱形框内写上联系名,用无向边把菱形分别与有关实体相连接,在无向边旁标上联系的类
27、型。(2)属性是实体的性质。用椭圆框表示,与实体之间用一条线相连表的主码是关键属性,关键属性项加下划线。(3)各子系统模块中主键相同的字段之间存在着相互关联的关系。(4)在程序中实现对他们的完整性和一致性控制。具体关系如下图:11NNNNNNNNNN管理员编号用户名户名理密码发布公告发布时间编号标题内容用户视频主贴从贴管理在线观看下载发帖发帖跟帖类型是否下载是否发布介绍发布时间编号发布者编号资源名资源发布者编号是否下载发布时间编号是否发布视频名编号主题点击数内容回帖数发帖人名发帖人编号发布时间内容跟帖编号发帖人编号发贴时间发贴人名回复的主贴编号发帖人头像图3.4 管理员管理E-R图1n1n11
28、nnnn学生电话姓名Email身份证老师编号Email电话课程编号头像姓名编号密码执教课程编号课程名答疑注册时间头像答案密码性别解答问题提问内容解答人编号提问人编号从属编号解答时间提问时间提问人编号提问时间解答人编号内容是否被解答图3.5 答疑E-R图3.3.3数据库的逻辑设计逻辑结构设计的原则如下:(1)尽可能的减少数据冗余和重复。(2)结构设计与操作设计相结合。(3)数据结构具有相对的稳定性。基于以上设计原则,本系统设计了如下数据库:字段类型长度是否空主键说明adminId自动编号长整型不能空是管理员IdadminName文本10不能空否管理员姓名adminPassword文本10不能空否
29、管理员密码表1 管理员信息表表2 学生信息表字段类型长度主键是否空说明stuId自动编号长整型是不能空学生IDstuName文本10否不能空学生姓名stuPassword文本20否不能空学生密码stuSex文本2否不能空学生性别stuEmail文本50否能空学生EmailstuHead文本100否能空学生头像stuCard文本20否能空身份证号stuTel文本20否能空学生电话stuRegTime日期/时间否能空学生注册时间表3 公告表字段类型长度主键是否空说明callID自动编号长整型是不能空公告IDcallTitle文本100否不能空公告标题callContent文本1000否不能空公告内
30、容callTime时间/日期否不能空公告发布时间表4 新闻表字段类型长度主键是否空说明newsID自动编号长整型是不能空新闻IDnewsTopic文本100否不能空新闻主题newsContent文本2000否不能空新闻内容newsTime时间/日期否不能空新闻发布时间字段类型长度主键是否空说明videoID自动编号长整型是 不能空视频IDvideoTopic文本100否 不能空视频名称videoOwner整型否不能空视频发布者IDvideoTime时间/日期否不能空发布时间isDownload文本2否不能空是否供下载isAgree文本2否不能空是否发布表5 视频资源表表6 文件表字段类型长度主
31、键是否空说明filesID自动编号长整型是不能空文件IDfilesName文本100否不能空文件名称filesType文本10否不能空文件类型filesOwner整型否不能空文件发布者编号filesTime时间/日期否不能空发布时间isDownload文本2否不能空是否供下载isAgree文本2否不能空是否发布fileIntroduce文本500否能空文件介绍fileTopic文本100否不能空显示的文件名表7发帖表字段类型长度主键是否空说明tID自动编号长整型是不能空帖子IDtUserId整型否不能空发帖人IDtUserName文本20否不能空发帖人名tReplyCount整型否不能空回帖数
32、tTopic文本50否不能空帖子主题tContent文本2000不能空帖子内容tClickCount整型不能空点击数tTime时间/日期不能空发帖时间tUserHead文本100能空发帖人头像表8 跟帖表字段类型长度主键是否空说明rId自动编号长整型是不能空跟帖IDrTid整型否不能空回复的主帖编号rUserId整型否不能空发帖人IDrContent文本1000否不能空正文rTime时间/日期否不能空发帖时间rUserName文本20否不能空发帖人姓名rUserHead文本100否v能空发帖人头像表9 教师信息表字段类型长度主键是否空说明tchId整型长整型是不能空教师IDtchName文本1
33、0否不能空教师名tchPassWord文本20否不能空密码tchEmail文本20否能空教师EmailtchTel文本15否能空教师电话tchHead文本30否能空教师头像couseId整型长整型否不能空所教课程tchIntro文本200否能空教师简介表10 课程信息表字段类型长度主键是否空说明courseID整型长整型是不能空课程编号courseName文本20否不能空课程名表11 问题表字段类型长度主键是否空说明questId整型长整型是不能空问题编号questStuId整型长整型否不能空提问人编号questTime时间/日期否不能空提问时间questTchId整型长整型否不能空解答人编号
34、questContent文本500否不能空提问内容isAnswer文本2否不能空是否被解答表12 答案表字段类型长度主键是否空说明answerId整型长整型是不能空答案编号answerTchId整型长整型否不能空解答人编号answerStuId整型长整型否不能空提问人编号answerContent文本500否不能空答案内容answerTime时间/日期否不能空解答时间isAnswer文本2否不能空是否被解答数据库表之间的关系如下:第四章 系统实现4.1主要界面实现本系统的设计主要采用蓝色为题,给人以愉悦,舒畅的感觉,让学生能够集中思想尽快投入到学习当中去。用户注册通过首页的注册链接进入到注册页
35、面,该页面主要是对用户的信息进行采集,主体是一个表单。通过“提交”按钮可以将用户的信息发送到服务器端。 首页首先进入的是网站的首页,首页主要采用的主要是div容器,使用div能快速、准确的对页面的元素的大小和位置进行定位,在div容器中进一步使用table,对页面的元素进行排版。网站所有的页面都采用统一的样式文件.css,页面所有的背景图片都放在image文件夹下11。在主页面的顶端可以链接到本系统提供的其他功能,主要包括资料库、学习论坛等,在主页还要实现用户的登陆以及注册的功能,在页面的右侧有登陆的表单,用于获取学生或者是管理员的用户名和密码提交到后台来实现用户登陆。实现后的主页效果如下图:
36、图3.1首页效果 论坛当用户登陆成功以后,如果点击主页的学习论坛,用户的请求提交到后台,该请求包含了用户请求论坛首页显示的页数,初次登陆的默认值是1,因此服务器端返回论坛第一页的记录,链接到论坛的主页。论坛首页采用jsp页面,当打开该页面的时候,可以获取session中保存的第一页的所有记录,通过引入c标签的中循环控制标签<c:foreach>,加上页面的表格,显示session中的记录。此页面还包括发帖的功能,在页面的底端,登陆成功的用户可以在此发表自己的帖子。此页面还应当包括登陆注册的功能,不是所有登陆该页面的用户都是登陆的用户,还包括路人。实现后的论坛首页效果如图:图3.2论
37、坛效果 在线视频当登陆成功的用户点击首页的资料库,点击视频资源后,客户端将向服务器发送请求,服务器将页面跳转到视频播放的主页,该页面加载的时候从数据库中分别获取科发布的视频的前8条记录以及可下载视频的前5条记录,可发布的视频时可以在线观看的,在页面引入了一个视频播放器,当用户点击视频资源的播放图标,将把该视频的ID发送到服务器端,服务器再以文件流的形式返回该视频资源,页面通过播放器可以播放该视频资源。实现后的效果如下图:图3.3 下载页面后台管理登录后台可有主页的“我是管理员”链接到此页面,该页面采用的是框架,首先主分为上中下三个部分,顶端的部分主要是实现管理员的修改密码,管理员信息以及退出系
38、统的操作,中间部分主要是显示当前管理员用户的信息以及对页面操作的选项,在中间部分的右侧是采用javascript实现的当前的时间的功能。在下面的部分又再分为左右两个部分。左边部分是信息管理操作菜单,包括对后台操作的所有功能。右侧则主要是显示信息的地方。具体实现的效果如下图所示:图3.4 后台登录界面图3.5 后台管理页面4.2主要功能程序的实现程序设计思想常见的设计思想有两种:结构化和面向对象化,本系统采用的是面向对象的设计思想,下面简单介绍一下两者的不同以及面向对象程序设计的优点。传统的结构化开发过程包括软件目标的功能分解,以及使用正确的参数和返回值来创建函数。首先分析需求,确定功能,然后以
39、函数的形式进行建模。在一个Web应用中很可能有上千个函数,这些函数能够不受限制的互相调用,因此在访问某个变量时,很难保证它不是正在被其他的函数访问或者修改。用JSP脚本来开发Web应用时就是上面所说的情况。只使用JSP而不使用任何Bean或自定义标记,在Web应用的规模比较小时还不会出现太多的问题,但是在Web应用的规模增大时就肯定会出现问题。这些代码也许能够满足功能上的需要,却不能达到非功能性的要求。在结构化开发方法面临问题的时候,使用面向对象的方法进行分析、设计和开发就可以解决一部分问题。面向对象的分析和设计方法源于现实生活中的模块化的思想。对象是提供一组相关功能的实体,对象之间互相作用从
40、而完成一定的任务。开发方法包括对目标的模块化,以及用类的形式对数据和函数进行封装。面向对象方法主要有以下三个特征:抽象性抽象是对象建模参数的选择,这是进行分析后得到的结果。这意味着是由分析人员来选择一定的参数,以表示对象,这是对象模型化的第一步。封装性由于某些原因,类中的数据和方法不需要对其他的对象公开,我们可以将其隐藏在类的内部,这是对象模块化过程中很重要的一步。这个步骤将确保对象的行为以简单的借口出现,而复杂的执行过程都被隐藏了。比如,JavaBean就可以为Web网页开发人员提供一个简单的接口。继承性在一个现存对象的基础上创建一个新的对象,这个过程称为继承。这样我们可以不必重写所有的代码
41、,只需在新对象中编写需要更新的代码就可以了。比如:Servlet通常是由HTTPServlet派生来的,这意味着Web服务器可以用相同的方法来处理具有从属关系的两个Servlet。模块化为了减少独立工作小组之间的依赖性,软件系统中必须使用模块。比如,我们可以定义一个JavaBean来处理应用程序的状态,这样做的优点是可以独立地对模块进行维护,这样就减少了代码之间的相关性。 数据库连接的建立本系统在数据库连接方面,使用统一的连接数据库的方法,引入相关的jar包之后,调用其中的类。通过database.xml配置文件读取数据库信息和登陆数据库帐户的用户名和密码,实现数据库的连接。具体的代码如下:d
42、atabase.xml文件的内容如下:<?xml version="1.0" encoding="UTF-8"?><database> <sqlserver><serve>com.microsoft.sqlserver.jdbc.SQLServerDriver</serve><ip></ip><port>1433</port><user>sa</user><password>123</pa
43、ssword> </sqlserver></database>连接数据库的方法:public class DB /定义连接对象private Connection conn = null;/定义欲编译语句private PreparedStatement psmt=null;/定义结果集private ResultSet rs=null;public Connection getconn() try String password=""/ 从XML配置文件中读取连接数据库信息DocumentBuilder db = DocumentBuilde
44、rFactory.newInstance().newDocumentBuilder();Document doc = db.parse("./webappsLearnSystemWEB-INFdatabase.xml");System.out.println(doc.getElementsByTagName("serve").item(0).getParentNode().getNodeName();String database = doc.getElementsByTagName("database").item(0).getFi
45、rstChild().getNodeValue();String serve = doc.getElementsByTagName("server").item(0).getFirstChild().getNodeValue();String user = doc.getElementsByTagName("userName").item(0).getFirstChild().getNodeValue();if(doc.getElementsByTagName("password").item(0).hasChildNodes() p
46、assword = doc.getElementsByTagName("password").item(0).getFirstChild().getNodeValue();String ip = doc.getElementsByTagName("ip").item(0).getFirstChild().getNodeValue();String port = doc.getElementsByTagName("port").item(0).getFirstChild().getNodeValue();Class.forName(se
47、rve);if (database.equals("sqlserver") conn = DriverManager.getConnection("jdbc:sqlserver:/" + ip+ ":" + port + "database=LearnSystem_2", user, password); else if (database.equals("oracle") /System.out.println("jdbc:oracle:thin:" + ip+ "
48、;:" + port + ":OA");conn = DriverManager.getConnection("jdbc:oracle:thin:" + ip+ ":" + port + ":LearnSystem_2", user, password); else if (database.equals("mysql") conn = DriverManager.getConnection("jdbc:mysql:/" + ip + ":"+
49、port + "LearnSystem_2", user, password); catch (Exception e) e.printStackTrace();return conn;public void closeAll(Connection conn,PreparedStatement psmt,ResultSet rs ) throws SQLExceptionif(rs!=null)rs.close();if(psmt!=null)psmt.close();if(conn!=null)conn.close();注册用户当用户打开注册页面将自己的信息填写好,点击“
50、提交”按钮之后,在客户端浏览器首先对用户填入的信息进行校验,校验主要包括:用户在必填的选项下是否输入空的内容,是否符合该项所定义的格式要求。如不符合要求,该表单的不会被提交到服务器端去,这样有助于减轻服务器端的压力。当用户填写的信息正确之后,页面由表单的Action属性确定将用户的请求发送到服务器下的RegisterServlet这个类下进行处理,当服务器获取到请求之后由类HttpServletRequest的对象request保留了请求当中的参数,通过该对象的getParameter(“”)方法可以获取到表单中的某个参数。当全部参数获取完之后,类RegisterServlet进入逻辑处理阶段
51、,进一步调用服务器端所定义的类StudentDao,该类主要是对数据库的操作,类中有register这样一个方法,主要功能是向数据库的表studentInfo中插入一条数据。具体处理过程如下:public boolean register(String payEmail,String payPass,String realName,String sex,String head,String card,String qq,String tel)boolean b=false;DB db=new DB();sql="insert into studentInfo(stuName,stuP
52、assword,stuSex,stuEmail,stuRegistTime,stuHead,stuCard,stuQQ,stuTel)" +" values(?,?,?,?,getdate(),?,?,?,?)"conn=db.getconn();try psmt=conn.prepareStatement(sql);psmt.setString(1, realName);psmt.setString(2, payPass);psmt.setString(3, sex);psmt.setString(4, payEmail);psmt.setString(5, h
53、ead);psmt.setString(6, card);psmt.setString(7, qq);psmt.setString(8, tel);int a=psmt.executeUpdate();if(a>0)b=true; catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace();finallytry db.DBClose(conn, psmt, rs); catch (SQLException e) / TODO Auto-generated catch blocke.printSta
54、ckTrace();return b;该方法返回一个boolean类型的值,当为“true“时表示数据插入成功,否则插入不成功。最后服务器根据该方法返回的值由HttpServletResponse类中的“response”和PrintWriter类中的“pw”对象进行相应的操作,为“true“时Response.sendRedirect(”)跳转到相应的页面,否则pw.println(”注册失败!”)。引入标签到页面在进行jsp页面逻辑处理的时候经常需要引入多个标签来实现,引入标签的步骤可分为以下几步:首先必须写好你的标签,定义你的处理过程。该类主要继承自这个类。然后配置web.xml文件表示该项目调用某个标签,下面是配置分页标签的过程,配置如下:<taglib version="2.0" xmlns=" xmlns:xsi="/2001/XMLSchema-instance" xsi:schemaLocation="
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 38278.1-2026全息防伪产品技术条件第1部分:全息防伪产品通用技术条件
- T/ZHHX 006-2025主要鲜切花流通规范
- T/HZFDS 001-2025体外诊断试剂出口质量管理能力评价规范
- T/CMAM M55-2025溢血症(免疫性血小板减少症)蒙医诊疗指南
- T/CARD 057-2024脑卒中重症康复服务指南
- T/CSCMA 0004-2023出口工程机械二手设备 评估服务规范
- 高校产学研合作基础培训
- 2025~2026学年广东省茂名市高州市北师大版六年级上册阶段练习(三)数学试卷【附答案】
- PHP后端面试题及详细答案(实战完整版)
- 引水隧洞衬砌及防渗堵漏施工方案
- 2026年保密培训考试题带答案(完整版)
- 6.4民生福祉持续增进 议题式教学课件(共24张)+内嵌视频 2026-2027学年统编版道德与法治9年级上册
- 中国邮政集团招聘考试历年真题
- 旧房翻新施工方案模板(3篇)
- 2026年一级造价师案例考试真题及答案
- 回复客户投诉的的质量整改函(6篇)
- 2026年春季云南云天化股份有限公司招聘(校园招聘)笔试历年参考题库附带答案详解
- 北京工业职业技术学院《网络营销》2025-2026学年期末试卷
- JJF(石化)078-2023激光甲烷遥测仪校准规范
- 焦点解决技术
- 2025年中国互联网上网服务行业发展白皮书
评论
0/150
提交评论