欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOC文档下载
     

    [优秀毕业论文]基于Struts1的MVC开发模式的网络教学平台讨论区管理系统.doc

    • 资源ID:3903450       资源大小:2.66MB        全文页数:47页
    • 资源格式: DOC        下载积分:6
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要6
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    [优秀毕业论文]基于Struts1的MVC开发模式的网络教学平台讨论区管理系统.doc

    本科生毕业论文第1章绪论1.1课题背景网络的发展给教育提供了极大的便利。近年来,随着网络技术的普及和发展,越来越多的人选择通过网络来接受、提供教育资源。网络也因此成为了连接施教者和被教者的一个纽带,它为教育的扩展提供了一个广阔的平台。在我国教育事业不断发展的今天,传统的课堂教学方式已经不能满足用户的需求。尤其是在一些高校,一起上课的人数比较多,每堂课的教学量较大,而且上课时间相对较短。学生和老师们迫切需要找到一种新的交流方式来对传统的教学方式进行补充。网络教学平台这种新型的教学方式就是在这种环境下诞生的。网络教学平台具有传统的教学方式不具备的优势。首先,它能够实现随时随地地交流,用户不需要聚集在一起,而是可以选择自己的闲暇时间,只要登录系统,就能发表自己的问题,同时也能解决别人的问题。用户还可以实现和其他在线用户的一对一、一对多的即时聊天,充分发挥了网络平台即时、快速的优势。这一点是传统的教学方式所无法比拟的。网络教学平台讨论区不仅具有高效的特点,同时还易于管理。相对于传统教学方式,学生和学生之间、学生和老师之间可能或多或少会有一定的隔阂,而在网络教学平台上,每个人都可以成为别人的老师,每个人都能取人之长,补己之短。而且一个人的问题可以代表一批人的问题,一个正确的回答和一场辩证的讨论能够使许多人受益。网络教学平台中的聊天室就像一个个不同的课堂,每个聊天室都由创建者制定一个问题或一个主题进行讨论。这样,用户可以自由进入自己感兴趣的聊天室,参与讨论自己感兴趣的话题,带着兴趣去学习和讨论。现代社会的生活节奏越来越快,学习也变得越来越紧迫。网络教学平台为一些无法专门拿出固定时间参加课堂学习的人提供了一个方便的平台。通过这个平台,用户可以在自己闲暇时,针对自己感兴趣的内容进行学习和讨论。同时,通过网络教学系统这个平台,用户能取人之长,补己之短,共享智慧,获得双赢。1.2研究现状网络教学平台讨论区又称为网络BBS论坛。BBS全称为Bulletin Board System,中文译名为电子公告栏系统。BBS最初是为了给计算机爱好者提供一个互相交流的地方。70年代后期,计算机用户数目很少且用户之间相距很远。因此,BBS系统提供了一个简单方便的交流方式,用户通过 BBS可以交换软件和信息。到了今天,BBS的用户已经扩展到各行各业,除原先的计算机爱好者们外,商用BBS操作者、环境组织、宗教组织、高校及其它利益团体也加入了这个行列。1 最早的一套BBS系统出现于1978年。在美国的芝加哥,工程师开发出一套基于8080芯片的CBBS/Chicago系统。之后,随着网络技术的发展,BBS的发展也取得了长足的进步。目前,世界上一些大型的门户网站都有自己的BBS论坛,方便用户之间的交流。而且,随着网络的发展,BBS论坛的功能也越来越完善,系统的使用性也越来越好。BBS论坛最早在20世纪90年代初进入中国,受限于当时计算机数量稀少和网络的普及度低。BBS的使用只是在一小部分专业人士中展开。进入20世纪后,BBS的发展取得了突飞猛进的成就。尤其是在现在,BBS几乎应用于网络生活的方方面面。大到参与国家政策的制定,小到日常生活的家长里短。到处都可以看到BBS论坛的身影。BBS论坛为人们之间的交流提供了一个快捷方便的平台。BBS论坛的开发也进入了一个相对成熟的阶段。许多公司已经推出了相应的商业成品。比如北京康盛科技有限公司推出的Discuz!系列产品;采用 php+mysql 数据库开发、以流畅的速度与高负载能力著称的PHPwind系列产品;以速度最快、系统资源占用最小著称的BBSXP系列产品等。这些投入商业运作的产品许多都是开源的,而且系统的安装使用非常方便。在应用上,许多网站也做的很好,比如CSDN网站(中国软件开发联盟), 它是集新闻、论坛、群组、Blog、文档、下载、读书、Tag、网摘、搜索、.NET、Java、游戏、视频、人才、外包、第二书店、程序员等多种项目于一体的大型综合性IT门户网站,具有非常强的专业性。还有许多高校的BBS论坛,都是国内相对来说用户量较大,知名度较高的BBS论坛。随着Web2.0时代的到来,BBS论坛系统又迎来了一次新的发展契机。在Web1.0时代,传统BBS论坛基本满足了对于网民信息生活的需求。而在Web2.0时代,BBS论坛将呈现出巨大的商业价值。当论坛用户数量达到引爆点后,其流量将开始飞速成长,远远大于Web1.0网站的流量增长速度。伴随着Web2.0时代的到来,BBS论坛将朝着以下两个方面发展:1 (1)BBS论坛系统将朝着即时性方面发展。现在动态网站出现一门新技术ajax。在ajax之前,页面的部分数据需要更新时必须刷新整个页面。而使用ajax技术的网站,不需要刷新页面就可以更新数据,这就使web站点看起来是即时响应的。将来可以把ajax技术运用到BBS论坛系统当中,使论坛成员在不用刷新页面时就可以看到别人刚刚发的帖子。 1(2)BBS论坛系统也将朝着图形化方向发展。图形虚拟社区可以非常具体和形象化地模拟整个现实社区的生活,并且具备无限的可扩充性。在论坛中用户甚至可以找到和现实生活完全对应的建筑。通过一根网线就可以把远在天南海北的朋友聚到一起。试想,你可以通过外形的不同来区分不同社区的朋友而不是通过ID。你甚至可以通过外形的不同来猜测对方的性格,这些都是传统虚拟社区所不具备的特点。11.3主要研究内容在项目开发设计阶段,首先进行了课题背景的研究,通过查阅资料,分析了国内外网络教学平台的研究现状。其次,通过调研一些成熟的论坛系统和即时通信系统,研究分析这些成熟系统的功能及业务,确定网络教学平台讨论区的需求。在确定系统需求的前提下,完成了系统的总体设计。根据总体设计,进行了系统的详细设计和实现。详细设计包括系统功能模块的具体实现、公共类的设计、数据库的设计、界面的设计、关键技术的研究等。详细设计完成后,进行了实际的编码开发工作,在总体设计和详细设计的基础上,按照规定完成了系统的所有功能模块。 项目开发后期主要进行了系统功能的完善以及后期的测试、部署等工作。系统功能的完善包括输入数据的验证,乱码问题的解决,数据库连接的优化以及系统界面的美化等。测试部署主要完成了系统bug的调试、部署的说明和相应文档的整理。1.4论文结构第1章是绪论部分。阐述了课题来源、研究现状、背景和目的意义。概述了论文的主要内容与论文的组织结构。第2章进行了系统需求分析和总体设计。通过需求分析将网络教学平台讨论区管理系统分为BBS论坛模块、即时通信模块和用户管理模块三大模块。每个模块又细化为若干个子模块。通过对每个模块的分析,画出模块总体功能结构图。阐明各个模块间的联系。并对系统所需的数据表进行了分析和设计,构建了整体的数据库。第3章主要是系统的具体实现过程。通过需求分析、概要设计和详细设计。得到系统的一些公共类、接口等。并阐述了实现过程中涉及到的关键技术。第4章主要是通过一个具体的实例来检验系统的功能及性能。主要是通过截图的方式来实现的。17第2章系统需求分析与总体设计2.1系统需求分析概述网络教学平台讨论区管理系统主要实现用户之间的交流管理工作。根据具体的业务需求,本系统将划分为三大子模块:BBS论坛模块、即时通信模块和用户管理模块。每个子模块实现的主要功能如下:(1)BBS论坛模块:该模块主要实现用户主页的管理、通知公告的管理、意见建议管理、学科分类管理、主题管理、注册登录管理和积分等级管理。(2)即时通信模块:该模块主要实现好友管理、用户查找、收发信息管理、用户群管理、群消息管理以及聊天室管理。(3)用户管理模块:该模块主要实现用户基本信息管理、用户权限管理、用户角色管理、用户积分管理和系统的基本设置管理。系统具有未注册用户和注册用户两种类型的用户。其中注册用户根据权限的不同又可以分为普通用户、版主用户和管理员用户三种类别的用户。其相应的权限和功能列表如表2.1所示。表2.1 业务功能一览表对象实体功能方法用户类型论坛设置参数管理员用户学科分类区浏览列表所有用户创建学科分类管理员用户修改学科分类管理员用户删除学科分类管理员用户主题浏览列表所有用户查看主题所有用户发表主题所有注册用户回复主题所有注册用户编辑主题(自己所有)所有注册用户主题置顶版主用户将主题提前版主用户续表2.1 业务功能一览表 主题删除主题版主用户置顶精华版主用户用户添加用户管理员用户修改用户密码管理员用户删除用户管理员用户添加好友所有用户查找好友所有用户删除好友所有用户创建用户群所有用户退出用户群所有用户管理用户群所有用户课程增加课程管理员用户修改课程管理员用户删除课程管理员用户2.2系统概要设计由于系统的功能点较多,业务较复杂。因此,在设计时走了不少弯路。比如,开始我将系统直接分为两大模块:BBS论坛模块和即时通信模块。后来发现在两大模块中,都涉及到用户的个人管理和用户好友管理。这样导致了模块间的耦合度较高,且势必在开发的时候带来代码冗余问题。在和老师讨论分析后,最后决定将用户的管理拿出来当作一个独立的模块:用户管理模块。应用此模块来对用户的个人信息、积分等级、角色权限、好友和系统的一些基本的设置进行管理。通过这样的改进,系统模块之间的耦合度更低,每一个模块功能明确,具体实现起来也更加方便。后来的实现也证明了这样的设计是合理的。综上所述,网络教学平台讨论区管理系统可分为BBS论坛模块、即时通信模块和用户管理模块三大基本的子模块。BBS论坛模块主要实现用户对于主题、课程、学科分类、用户的管理。即时通信模块主要实现在线用户间的即时交流。包括多人交流和一对一交流的管理。用户管理模块主要实现用户对于个人信息、积分等级的管理。其总体功能结构图如图2.1所示。图2.1 网络教学平台讨论区管理系统总体功能结构图2.2.1BBS论坛模块设计BBS论坛模块主要实现所有注册用户的主题基本管理、版主用户的主题高级管理和管理员用户对于学科分类、课程、用户及系统一些基本设置的管理。其功能结构图如图2.2所示。图2.2 BBS论坛模块功能结构图BBS论坛模块又包括用户主页管理、通知公告的管理、意见建议的管理、学科分类管理、课程管理、主题管理和注册登录管理七个子模块。其中主题的管理根据用户权限的不同又可以分为主题的基本管理和主题的高级管理。主题基本管理是指普通用户对于主题的浏览、发表、回复等基本操作。主题高级管理是指版主用户对于普通用户的主题进行审核、删除、提前、置顶、加精等高级操作。同时,系统的管理员可以对课程、学科分类和用户进行管理。如增加学科分类、增加课程分类、改变用户的密码和用户的权限等级等。管理员用户还能对系统的基本参数进行设置,如关闭注册功能,设置系统审核规则等。2.2.2即时通信模块设计即时通信模块主要实现在线用户之间的一对一、一对多的即时交流。在线用户可以建立、进入聊天室,也可以查找好友进行聊天。同时还可以对聊天记录进行管理。其功能结构图如图2.3所示。图2.3 即时通信模块功能结构图即时通信模块包含了收发消息管理、用户查找、好友管理、聊天室管理、用户群管理、群消息管理和聊天记录管理七个子功能模块。用户可以通过此模块对聊天室、好友、消息记录等进行管理。2.2.3用户管理模块设计用户管理模块主要实现用户个人信息的管理和积分等级的管理等。在BBS论坛模块和即时通信模块中,都涉及到对于用户的管理。因此,将用户管理当作一个单独的模块。其功能结构图如图2.4所示。图2.4 用户管理模块功能结构图用户管理模块主要包括用户基本信息管理、用户权限管理、用户角色管理、用户积分等级管理和系统的一些基本设置。用户的基本信息管理主要指用户修改个人信息和密码;用户的积分和等级管理主要指用户可以查看自己积分的来源和用途、积分和等级的联系以及等级和权限的联系等。用户可以通过发表和回复主题来获得积分,积分到达一定限度后可以申请更高的用户级别和更多的用户权限。2.3系统用例设计根据需求分析,系统注册用户根据权限的不同可分为普通用户、版主用户和管理员用户三种类型的用户。普通用户可以对主题进行初级管理;版主用户能对主题进行高级管理;管理员用户可以对学科分类、课程和用户进行管理。普通用户对于主题的初级管理主要包括主题的增删改和主题的回复。普通用户还可以进入、创建聊天室,管理好友、管理消息和管理个人信息。版主用户除了拥有普通用户的权限外,还能对主题进行高级管理。如主题的审核、主题置顶、将主题提前、设置精华主题和删除本课程下的主题等。管理员用户可以对学科分类、主题进行增删改,还可以对用户进行管理。系统的总体用例图如图2.5所示。图2.5 系统用例图2.4系统界面概要设计网络教学平台讨论区管理系统的主界面初步设计为四个子页面合成而成。从上到下分别为头页面(top.jsp)、导航页面(menu.jsp)、功能显示页面(default.jsp)和尾页面(end.jsp)。四个页面各自占用一个四行一列的表的一行。头页面(top.jsp)设计为系统的一个logo;导航页面(menu.jsp)是系统的主要菜单栏,通过此菜单栏,可以快速定位到用户需要的页面;功能显示页面(该页面为动态生成的页面,默认命名为default.jsp)是系统操作结果的显示页面,也是处理用户输入输出的页面,是系统最重要的页面。功能显示页面是动态生成的。用户的不同请求对应于不同的显示结果,不同的结果又表现为不同的返回页面。因此,功能显示页面是直接与用户交互的一个子页面。基本上所有的业务都围绕着这个页面而进行。尾页面(end.jsp)和头页面相似,也设计为一幅图片,显示系统的制作单位等信息。具体的主界面设计结构如图2.6所示。图2.6 系统主界面结构图这样的布局设计能使系统整体界面风格统一,而且使主界面显得简洁明了。使第一次登录的访问者能够在较短的时间内比较直观地了解到系统的全貌,快速到达指定页面,方便用户的使用。为了有效地保证系统数据的安全性与稳定性,本系统采用了JSP动态技术生成界面。2.5数据库设计2.5.1 数据库设计综述网络教学平台讨论区管理系统主要实现用户对于主题、消息、聊天室等实体对象的管理。根据需求分析,结合数据库的设计原则。共设计了9张表,各数据表名称及其存放内容和说明如表2.2所示。表2.2 数据库基本信息表表中文名称表英文名称说明用户表tb_user存放用户个人信息学科分类表tb_class存放学科分类信息续表2.2 数据库基本信息表课程信息表tb_board存放课程信息主题表tb_bbs存放主题信息回复主题表tb_bbsAnswer存放主题的回复主题信息聊天室表tb_room存放聊天室信息聊天室消息表tb_chart存放聊天室记录信息聊天记录表db_conversation存放一对一聊天记录信息通知公告表tb_message存放通知公告信息数据库的设计是系统总体设计的一个重要组成部分。数据库设计的好坏会直接影响到后期的编码工作。同时对系统的性能和数据的冗余度有着重大的影响。在本系统中,数据库表间的依赖关系如图2.7所示。图2.7 数据库表关系图主题表(tb_bbs)中有两个外键,分表对应于学科分类表(tb_board)的主键和用户表(tb_user)的用户名字段。回复主题表(tb_bbsAnswer)中也有一个外键,对应于被回复的主题的主键。聊天室消息表(tb_chart)有一个外键,对应于聊天室表(tb_room)的主键。2.5.2数据表设计网络教学平台讨论区管理系统所处理的数据主要包括用户个人信息数据、主题数据、课程数据、学科分类数据、聊天室及聊天记录数据等。按照总体设计及数据库设计的原则,分别用9个表来存储这些数据。具体表结构及内容如下。(1)用户表用户表中存储了系统的注册用户信息。其中包括用户id、用户名、密码、身份识别等主要字段。用户id作为用户的唯一标识,是用户表的主键。设为自增且不允许为空,也不能重复。用户名根据实际情况也不允许重复,如果重复在注册时系统会自动提示。本系统支持游客用户和注册用户两种类型的用户。注册用户又分为普通用户、版主用户和管理员用户。在用户表中,用user_able字段来标识用户类型。该字段采用1位字符编码。“2”代表管理员用户,“1”代表版主用户,“0”代表普通用户。用户表具体设计如表2.3所示。表2.3 用户表属性名是否主键类型及宽度说明id是smallint用户的iduser_namevarchar(20)用户姓名user_passwordvarchar(20)用户密码user_facevarchar(11)用户头像user_sexchar(2)用户性别续表2.3 用户表user_phonevarchar(12)用户电话user_OICQvarchar(14)用户QQuser_emailvarchar(100)用户邮箱user_fromvarchar(200)用户地址user_ablevarchar(1)用户类别(2)学科分类表 学科分类表存储学科分类的基本信息。共包含三个字段:class_id、class_name和class_intro。其中class_id为主键。学科分类主要是指BBS论坛模块中的学科的分类。如软件课程和硬件课程的分类等。学科分类下包括具体的课程。学科分类表如表2.4所示。表2.4 学科分类表属性名主键类型说明class_id是smallint学科分类idclass_namevarchar(40)学科分类名称class_introvarchar(200)学科分类公告(3)课程表课程表主要存储学科分类下的课程的信息。包括课程id、所属课程分类、课程名称、版主和课程说明等字段。其中课程id为主键,设为自增。所属课程分类为对应于学科分类表的外键。学科分类和课程是一对多的关系。课程表具体设计如表2.5所示。表2.5 课程表属性名主键类型说明board_id是int课程idboard_classIDsmallint学科分类id续表2.5 课程表board_namevarchar(40)课程名称board_mastervarchar(20)课程管理员board_pcardvarchar(400)课程说明(4)主题表主题表中存储了注册用户发表过的主题,是数据库中最重要的一个实体表之一。该表主要包括主题id、主题用户、所属课程和学科分类以及是否为精华主题等字段。主题id为主题表的唯一主键,设为自增。主题用户和所属课程为主题表的外键。bbs_isTop表示是否为置顶主题。默认为“0”,非置顶,“1”为置顶。bbs_isGood表示是否为精华主题。默认“0”为非精华主题,“1”为精华主题。以上两个字段都采用1位字符编码来存储。主题表的具体设计如表2.6所示。表2.6 主题表属性名主键类型说明bbs_id是int主题idbbs_boardIDint所属课程idbbs_titlevarchar(70)主题标题bbs_contentvarchar(2000)主题内容bbs_sendervarchar(20)发表人bbs_sendTimedatetime发表时间bbs_opTimedatetime主题被回复时间bbs_isTopvarchar(1)是否为置顶主题bbs_toTopTimedatetime被置顶时间bbs_isGoodvarchar(1)是否为精华主题bbs_toGoodTimedatetime设为精华主题时间(5)回复主题表回复主题表存储的是特定主题的回复主题的信息。其结构与主题表相似,其中id为主键,自增。bbsAnswer_rootID为被回复主题的id,为表的外键。具体设计见表2.7所示。表2.7 回复主题表属性名主键类型说明bbsAnswer_id是int回复主题idbbsAnswer_rootIDint被回复主题idbbsAnswer_titlevarchar(70)回复主题标题bbsAnswer_contentvarchar(2000)回复主题内容bbsAnswer_sendervarchar(20)回复人bbsAnswer_sendTimedatetime回复时间bbsAnswer_facevarchar(10)回复主题表情(6)聊天室表聊天室表主要存储用户创建的聊天室信息,包括聊天室名称和聊天室简介等。roomId为主键,设为自增。用户可以创建和删除自己的聊天室,也可以进入别人的聊天室。具体设计如表2.8所示。表2.8 聊天室表属性名主键类型说明roomId是int聊天室idroomNamevarchar(40)聊天室名称roomDesvarchar(100)聊天室说明(7)聊天室记录表聊天室记录表主要存储聊天室中的消息记录。chartId为聊天室记录表的主键,roomId为对应于聊天室表(tb_room)的外键,具体设计如表2.9所示。表2.9 聊天室记录表属性名主键类型说明chartId是int聊天记录idroomIdint聊天室iduserNamevarchar(20)消息发送人contentvarchar(200)消息内容sendTimedatetime发送时间joinTimedatetime加入聊天室时间(8)个人聊天记录表个人聊天记录表主要存储的是在线用户之间一对一的聊天记录。该表有conversationId、userName1、userName2三个主要的属性。userName1为消息发送人,userName2为信息接收人。具体设计如表2.10所示。表2.10 个人聊天记录表属性名主键类型说明conversationId是int消息iduserName1varchar(20)消息发送人userName2varchar(20)消息接收人contentvarchar(200)消息内容sendTimedatetime发送时间(9)通知公告表通知公告表主要存储系统的通知和公告数据,具体设计如表2.11所示。表2.11 通知公告表属性名主键类型说明message_id是int公告idmessage_contentvarchar(100)公告内容2.6本章小结本章进行了网络教学平台讨论区管理系统的需求分析及总体设计。主要完成了系统功能模块的划分、业务流程的确定、系统用例的说明、系统主界面结构的设计和数据库的设计等。通过对系统的需求进行分析,详细设计了每一模块应完成的功能及各模块之间的联系。对系统所涉及的数据按功能和流程进行了划分,完成了系统用例和主界面的设计,完成了数据库的概要设计和详细设计。本科生毕业论文第3章系统实现本系统采用B/S体系结构实现。以Struts1作为开发框架,数据库使用SQL SERVER 2000,Web服务器使用Tomcat 6.0,开发工具使用MyEclipse6.5。框架和开发模式的选择涉及到系统开发环境的搭建及后期实现过程的诸多问题。虽然Struts2框架是现在非常流行的框架,SSH2的搭配也是时下非常热门的框架选择。但是我还是选择了Struts1+Hiberante作为系统的开发框架。主要原因是:相对于Struts2和SSH2的配置,Struts1和Hibernate的之间的耦合度小,因而配置更简单、更方便。Hibernate对于数据库的管理是非常有效的,它的逆向工程能省去很多底层代码的编写,节约时间,提高效率。还有一个原因是由于我之前的项目开发框架都选择Struts1,个人对Struts1的掌握相对来说比Struts2更好些,因此,决定把更多的时间和精力花费在系统的具体实现上而非在框架的选择上。MVC开发模式的选择是基于项目开发经验。MVC三层开发模式相对于Model1及其他的开发模式有很多的优势。首先,MVC模式根据系统的体系结构划分了不同的层次,使每个层“各司其职”,在不影响系统功能实现的基础上,降低了每个层之间的耦合性。这样的设计极大的方便了系统的开发工作。这也是MVC模式如此受业界推崇的原因。其次,MVC模式解放了视图层(View)的压力,视图层只需要接受用户的请求转发给控制层(Controller),交由控制层进行判断和跳转。当结果传回时,视图层也只需显示结果。视图层的解放意味着用户客户端的解放,也即意味着用户的请求会得到更快的响应。这是现代WEB项目工程的一个最重要的性能要求。最后,MVC模式分层明确,方便具体的编码实现和调用。因此,在通过比较和选择后,本系统采用了MVC三层模式进行开发。3.1MVC框架的搭建网络教学平台讨论区管理系统采用的是基于Struts1框架的MVC三层开发模式。在完成Struts1框架的添加后,还需要配置struts-config.xml文件和web.xml文件完成系统的架构。根据本项目的特点,结合MVC分层原则,将系统源文件目录分成了action、actionform、dao、filter、model、tools和hibernatedao七个包。其中action包下存放各种action类。主要用来处理系统的业务逻辑,包括页面的跳转及判断,是MVC模式中的控制层(Controller);actionform包下主要存放的是数据库中的表映射在系统中的实体类。这些类封装了各个实体,且定义了每个实体中每个属性的get()和set()方法。通过这些方法,在action中就可以调用它们来对数据库进行管理。因此,actionform包是MVC模式中的模型层(Model);其他的几个包可以看作是系统的公共类和工具类。具体框架搭建如图3.1所示。图3.1 系统框架结构图显示层(View)主要是一些JSP页面的集合。这些页面是与用户直接交互的页面。用户无法察觉到控制层和模型层的存在,只能接触到显示层。因此,显示层是直接和用户进行交互的一层,也是B/S模式中的客户端Browser。根据系统的开发原则,本项目的JSP页面都存放在WebRoot目录下。依据不同的功能模块和用户角色,共建立了chartroom、css、images、js、pages、view和index.jsp六个文件夹和一个JSP文件。其中,chartroom、pages、view三个文件夹下存放的都是JSP页面;images文件夹下存放的是JSP文件中使用到的图片;js文件夹下存放的是JSP文件中使用的JavaScript脚本语言;css文件夹下存放的是JSP文件中使用的CSS样式。它们共同组成了MVC三层模式中的显示层(View)。显示层目录如图3.2所示。图3.2 显示层目录截图综上所述,在网络教学平台讨论区管理系统中,页面端负责用户请求的响应,录入用户输入的信息;同时将用户的请求传给控制层中的action,再由action调用模型层中的类或函数来实现对数据库中数据的管理。取出用户需要的结果,封装好后再回传到页面端,显示给用户。完成了一次完整的MVC模式工作流程。3.2系统功能实现本系统主要包括BBS论坛模块、即时通信模块和用户管理模块三大模块。BBS论坛模块主要是对于主题的管理。其中,主题的管理既包括普通用户浏览、发表、回复主题;还包括版主用户对于主题的高级管理,如提前主题、置顶主题、设为精华主题、审核主题和删除主题等;同时,BBS论坛模块还支持管理员用户对于学科分类、课程、用户的管理。即时通信模块用来处理用户之间的即时交流。主要业务流程根据用户聊天对象的不同可分为一对一聊天和一对多聊天。同时,该模块还支持用户对于聊天室、好友、消息记录等对象的管理。用户管理模块主要实现用户对于个人信息的管理以及用户权限、积分、等级的管理等。系统总体业务流程示意图如图3.3所示。图3.3 系统总体业务流程示意图系统的总体业务主要包括主题业务和即时通信业务。其中,主题业务包含普通用户对于主题的初级管理业务和版主用户对于主题的高级管理业务。即时通信模块中用户可以对自己的好友进行管理;也可以和其他在线用户进行即时的交流,还可以对聊天记录进行管理。具体的实现界面截图如图3.4所示。图3.4 系统总体实现界面从图3.4可以看出,系统的主界面实现了各个学科分类和各个课程下的主题列表情况。包括主题总数、精华主题数和本课程的版主等信息。在导航栏中,有“我的帖子”、“精华帖子”、“后台管理”、“进入聊天室”等几个主要的链接,分别对应于不同的操作。3.2.1BBS论坛模块BBS论坛模块是系统的主要模块。在BBS论坛模块中,游客(非注册用户)可以查看主题,注册用户可以查看、回复、发表主题,对主题进行初级管理。版主用户可以对主题进行加精、置顶、提前、审核、删除等操作。管理员用户可以对系统的一些基本设置进行管理。如论坛的开放和关闭,注册信息的手动审核,还可以对课程和学科分类版块进行管理。具体的业务流程示意图如图3.5所示。图3.5 BBS论坛模块业务流程示意图如图3.5所示,左侧为普通用户的业务流程,右侧为管理员用户的业务流程。普通用户只能进行简单的浏览主题、发表主题和回复主题等业务;管理员用户除了普通用户的权限外,还可以进行主题的高级管理。因此,根据用户权限的不同,BBS论坛模块又可以细分为主题的基本管理子模块,主题的高级管理子模块,课程、学科分类和用户管理子模块三个子模块。每一个子模块具体的实现过程如下所示。1、主题的基本管理子模块。用户发表、回复主题以及主题的审核是BBS论坛模块的主要功能。发表和回复主题需要用户登录。管理员对于用户主题的审核也要有一套相应的规则以方便自动运行。发表和回复主题对应的流程图如图3.6所示。图3.6 发表/回复主题流程图用户发表的主题需经过版主用户的审核。审核通过后才能真正的发表成功,生成相应的业务记录。发表主题界面如图3.7所示。图3.7 用户发表主题界面在发表主题时,用户需要输入主题名称、选择表情和输入主题内容。为了美化主题内容,在这里插入了一个小插件,可以改变输入主题内容的字体和颜色,同时还能即时记录主题的字数。2、主题高级管理子模块主题的高级管理子模块主要包括版主用户的主题加精、置顶、提前、删除、审核等功能。其业务流程示意图如图3.8所示。图3.8 主题高级管理业务流程示意图版主用户对于主题的高级管理主要是通过一个对应的链接操作从而从后台改变主题的相应属性来实现的。属性修改成功后返回给页面信息。以 “将主题提前”为例,其实现的界面如图3.9所示。图3.9 “将主题提前”操作界面实现的主要代码如下:<a href="needLogin/firstBbs.do?method=toFirstBbs&bbsId =$ sessionScope.bbsRootSingle.bbsId&bbsSender=$sessionScope.bbsRootSingle.bbsSender" title="帖子所属者/楼主/管理员操作">将帖子提前</a> 3、课程、学科分类及用户管理子模块课程、学科分类及用户管理子模块主要包括管理员用户对于课程的管理,学科分类的管理、用户管理、通知公告的管理以及论坛的基本设置管理等。该子模块相当于系统的后台管理。只有管理员用户才有相应的权限进行操作。其业务流程示意图如图3.10所示。图3.10 课程、学科分类及用户管理业务流程示意图课程、学科分类及用户管理子模块是系统的后台管理模块。只有系统管理员才有权限进入和操作,普通用户和版主用户都没有相应的权限。在实现时,一方面,在用户登录时候,要判断用户的类型。如果是管理员用户才能进入;另一方面,系统要提供一个拦截器,将非管理员用户的非法请求拦截下来。在查看分类学科和查看课程链接中,可以通过操作栏提供的“修改”和“删除”链接来进行修改和删除的操作。以查看学科分类为例,其对应的实现界面如图3.11所示。 图3.11 管理员用户查看学科分类界面3.2.2即时通信模块由于该模块涉及到即时通信,因此,即时通信技术的选择也是关系到系统功能和性能的一个重要问题。一开始我想直接通过action来接收用户的输入,后来发现这样做的效果实现不了“即时”的性能要求。用户只有在发送请求后返回的信息才会更新。即用户发送完信息后,只有等到下次再发信息时才能看到对方发的信息,这就不符合“即时聊天”的要求。即使我把页面设置为自动刷新,且刷新频率较高,实际的效果还是无法令人满意。针对以上问题,我查阅了相关资料,也上网查找了一些信息。最后发现AJAX技术对于即时聊天的支持比较好。AJAX在浏览器端生成的XMLHttpRequest对象在用户没有手动发送请求时也能自动和action进行交互。只要acton有新的信息传入,XMLHttpRequest就能监听到且能把值带回到页面。这样一个用户发表信息,其他用户即时没有任何操作也能看到所发表的信息。因此,利用AJAX技术较好的完成了即时通信模块的功能。即时通信模块主要实现在线用户间的即时交流功能。通过即时通信模块,用户可以进入聊天室聊天,也可以创建自己的聊天室,还可以查找好友进行一对一的聊天。即时通信模块最大的特点是能够实现即时的通信。用户只要在线,就可以进行即时聊天,弥补了BBS论坛模块只能通过发表主题和回复主题的形式来进行交流的缺陷。即时通信模块的业务流程主要包括一对多聊天流程和一对一的聊天流程,其具体的流程示意图如图3.12所示。图3.12 即时通信模块业务流程示意图在图3.12中,左侧代表用户一对一的业务流程,右侧代表用户一对多的业务流程。用户可以选择加入一个已经创建好的聊天室中进行聊天,也可以自己创建一个聊天室。在一对一聊天中,用户可以从在线列表中选择聊天对象。同时,用户还可以对好友、用户群和消息记录进行相应的管理。对应的实现界面如图3.13所示。图3.13 聊天室主界面截图即时通信模块主要采用的是AJAX(As

    注意事项

    本文([优秀毕业论文]基于Struts1的MVC开发模式的网络教学平台讨论区管理系统.doc)为本站会员(小小飞)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开