版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、摘要多媒体博客系统致力于为广大用户提供优质的互动交流平台,提高网站的知名度和 访问量,从而获得为企业提供更多产品介绍及展示的机会,提升自己网站的价值。为了 满足博客系统的要求,实现系统静态与动态页面的相互分离,系统采用 JSP+JavaBean+Servlet和SQL Server2000数据库相结合的开发模式。论文首先论述了系统的开发背景和设计目标,并对系统开发所采用的技术进行相应 的简单介绍。在系统分析中,对系统的模型进行简单分析,明确系统的操作流程,并对 系统进行可行性分析,确定在目前的条件下,开发博客系统是可行的。在需求分析结果 的基础上,对系统的功能模块进行划分。接着对系统中的数据库
2、进行模型设计,包括数 据流图、实体联系图及数据表结构。在系统的设计与实现中,确定系统的开发思想以及 开发环境,并对系统中的JavaBean和Servlet代码进行设计。最后给出了系统中模块的 详细设计与实现,并对系统模块涉及到的关键源代码进行了详细的分析。经过调试运行后表明,系统可以满足用户创建个人博客的各项要求。关键词:设计模式知识共享 博客系统。AbstractThe multimedia blog system is concentrates on high-quality interactive exchanges platform for a large number of user
3、s, increasing the visits and making the website more and more famous, thereby can acquiring for the opportunity that business enterprise providing more introductions and shows of products, promoting the value of the website.Satisfy for the functions of blog system, achieving the systems static page
4、separate with dynamic page mutually, using JSP+ JavaBean+ Servlet with the mode of development that the database of SQL Server2000 combine together.The paper discusses the background of development of the system and the design of the target first, and introduces the tecknique which used to develop s
5、imply.In the analyse of system, proceeded the simple analysis to the model of the system, made sure the operation process of the system, proceed the analyse to the system, ensure that under the current term, developing blog system is feasible. At the foundation of requirement with the analyse result
6、, proceeding the providing of the function module of the system. Follow, designing the database model, including the data flow diagram, entity relation diagram and data tables. during the design and realization of the system, making sure the development thought of the system and install the environm
7、ent of development,at last show the design details with realize finally an a key for of detailed design with realization, and analyzed the program which relate to the system module.After debugging and running ,it shows that the system can satisfy with users to create personal blog.Keywords: Design P
8、atterns; Knowledge sharing; The Blog System第一章引言1.1选题的背景随着因特网在中国的兴起和普及,越来越多的人成了网络中的一员,越来越多的 网民参与了互动。巨大的网民为网上在线交易提供了可能,并最终促使其在中国的发 展。在没有自己的博客之前,人们会经常进出于论坛发表贴子或者通过即时通信软件 聊天,来表达自已的想法,可是这些都是零散的和杂乱的。博客的出现,让人们可以 不断的把自己以前的和每天激发的一些想法或者感受整理放在自己的博客上,每次在 写文章的时候,可能又会产生新的想法。虽然一些想法一些思考只是皮毛,没有什么 深度,但是当下笔去写的时候每次都会对
9、某个小小的问题有了更多的一点点思考,再 写博客的时候就感觉到了一种满足感,一种想法得以释放思考得以延伸的满足感。生 活中每天的一个小小的事情都会引起人们的思考,甚至是和朋友的聊天中一个小小的 火花迸发。督促自己努力、把一时的想法变成观点,争取在生命中的每天里留下点什 么,这也是人们写博客的目的之一。这样就能督促自己每一天不要浑浑噩噩,时光流 逝无痕无声无息,写博客也是在自己的每一天上留下了一道浅浅的思考和划痕。1.2选题目的和意义博客网站代表了当前博客的发展趋势,选择多媒体博客系统作为课题,在理论上 具备了研究的实用性。本毕业设计希望通过对网站的规划与设计来培养学生综合运用所学知识来分析和 解
10、决实际问题的能力;掌握“Web数据库开发”;学会使用JSP设计动态服务器网页; 学会使用SQL Server建立网络数据库和编辑查询网络数据库的语句;学会使用程序设 计语言编制各种图形应用到网页制作中。这样,既可以使网站访问网络数据库后生成 动态网页,又可以使网页增加动态的图形、图像和声音。总之,本课题能够强化计算机实际应用技能训练,为今后开展网站规划、设计和 开发打下一个良好的基础。1.3博客的研究现状现今,博客网站已经由06年的风风火火变的平淡,通过各种方式融入了我们的生 活,成为了我们表现自己的主要方式。它们大部分是由简短而且经常更新的帖子构成, 所有文章都是按照年份和日期排列,有些类似
11、斑竹的日记。看上去平淡无奇,毫无可 炫耀之处,但它可以让每个人零成本、零维护地创建自己的网络媒体,每个都可以随 时把自己的思想火花和灵感更新到博客站点上。现在的博客网站的主要特点:零机制:博客属于个人所有,是自发建立和非正式的建设。BSP不能对博客发号 施令。零技术:博客不需要作网站的专业知识,可以像发邮件一样简单地实现博客网页 的呈现。技术的极度简化,包括架构和申请博客网站、编辑、上传和修改内容等。零成本:任何一个人都可以像申请免费邮件般免费申请自己的博客网站。不需要 注册域名的成本,不需要租用服务器空间的成本,不需要许多软件工具的成本。零编辑:博客用户就是编辑,即时写作、即时发布、自我检查
12、。这形成了与传统 写作截然不同的“体验”,真正实现了作者“零磨损”的开放式写作。零形式:博客页面的表现形式和文章内容的表现方式十分灵活,没有特定形式。与个人主页相比较,博客是使用方便的、交互性强。与传统的电子邮件、BBS和 ICQ这三种互联网沟通方式相比,博客是一种较严肃的沟通平台。BBS公共匿名性很 强,而个人性很弱,因此缺乏约束。电子邮件和ICQ则是多用于个人间的通讯,而博 客是个人性和公共性的结合。博客是个人在网上展示自己、与别人沟通交流的综合平 台,它的管理比BBS简单的多。1.4研究目标和主要内容本系统实现了博客网站的基本功能,为博客用户提供了一个在网上展现自己的平 台。系统主要分为
13、博客管理后台和前台两个大模块,后台模块主要包括:文章的发表 与管理,公告的发表与管理,相片、视频、音乐的上传与管理以及评论管理。前台模 块主要包括:文章的浏览与评论,公告浏览,音乐、相片、视频的查看。主要内容简介系统设计,主要介绍博客系统总体的功能设计。包括系统总体功能模块设计,系 统功能详细说明,数据库设计,数据库建表;系统开发环境搭建和环境介绍。注册与登录模块,主要介绍博客系统的注册与登录模块的详细设计。博客管理员模块,主要介绍注册为本系统会员以后所拥有的权限操作的各模块的 详细实现。主要包括日志、文件、视频等管理模块。系统管理员模块,主要介绍博客系 统管理员所有有的权限操作的各模块的详细
14、实现。主要包括博客会员管理,音乐管理, 文章管理,文件管理,相片管理,视频管理。博客管理员与普通用户可以通过博客首页或相关模块连接进行登录。通过身份 验证模块,普通用户只能进入博客前台页面,博客管理员可以进入博客前台和后台管理 员界面进行操作。博客管理员进入管理员界面后,可以发表自己的网络日志,文章、相片和文件 等信息外还可以及时修改自己的个人基本信息,设置注册用户。注册用户只能浏览其他注册会员发表的网络日志、文章、下载文件、相片等信 息,同时可以对自己感兴趣的文章或者网络日志发表自己的看法和建议,以供博主查看。第2章系统的开发工具与环境2.1开发技术为了方便博客的管理,实现系统静态与动态页面
15、的相互分离,系统采用 JSP+JavaBean+Servlet和SQL Server2000数据库相结合的开发模式。在该模式中,结 合了 JSP和Servlet技术,充分利用了 JSP和Servlet两种技术原有的优点。在此模式 中,JavaBean作为模型的角色,充当JSP和Servlet通信的中间工具,Servlet处理完后 设置JavaBean的属性,JSP读取此JavaBean的属性,然后进行显示。该模式更加明显 地把显示和逻辑分离,使得代码更容易管理。开发工具采用MyEclipse7.0和 Dreamweaver 8,Web服务器软件采用Tomcat 6.0O JSP中用到的各种技术
16、如下:JSP概述JSP即Java Server Pages,是由Sun Microsystem公司于1996年6月推出的新技术, 是基于Java Servlet以及整个Java体系的Web开发技术。JSP已经成为开发Web动态 网页重要、快速和有效的工具,是全新的网络服务器编程环境。JSP充分利用了 Java 的强大功能,是一种优秀的服务器端技术。随着Java技术的日益成熟和流行,JSP在 网络编程中也变得越来越重要。JSP基于强大的Java语言,具有极强的扩展能力,良 好的缩收性,以及与平台无关的开发特性,成为构建动态网站的主流技术之一,JSP 有着其他技术所不具备的优势。其优势在于:可以将
17、内容的生成和显示进行分离、生 成可重用的组件、采用标识简化页面开发。JSP能提供所有Servlet的功能Servlet 概述Servlet是Java编写的服务器端程序,是由服务器端执行和调用的Java类。Servlet 是采用Java技术来实现CGI功能的一种技术,能够像CGI 一样动态地扩展Web服务器 的功能,并采用请求响应模式提供Web服务。Servlet和CGI 一样都是运行在Web 服务器上,用来生成Web页面。Servlet的主要功能在于交互式地浏览和修改数据,生 成动态Web内容。其工作流程图如图2.1所示。Servlet工作流程:客户端发送请求信息至服务器。服务器将请求信息发送
18、至ServletoServlet生成响应内容并将其传给Servlet。响应内容动态生成,通常取决于客户 端的请求。服务器将响应信息返回至客户端。2.4 JavaBean原理和机制JSP的一大特点就是与JavaBeans的结合,而JSP与JavaBeans结合的一个突出的 优点是页面显示和业务逻辑的分离。这可以使团队协作的更好,开发出更高质量的站 点。JavaBean是一种可以重用的Java组件,在JSP程序中常用来封装事物逻辑、数据 库操作等,可以很好的实现业务逻辑和前台程序的分离,使得系统具有更好的健壮性 和灵活性。2.5开发平台Eclipse是一个开放源代码的软件开发项目,专注于为高度集成
19、的工具开发提供一 个全功能的、具有商业品质的工业平台。它主要由Eclipse项目、Eclipse工具项目和 Eclipse技术项目三个项目组成,具体包括四个部分组成Eclipse Platform、JDT、CDT和PDE.JDT支持Java开发、CDT支持C开发、PDE用来支持插件开发,Eclipse Platform则是一个开放的可扩展IDE,提供了一个通用的开发平台。它提供建造块和 构造并运行集成软件开发工具的基础。Eclipse Platform允许工具建造者独立开发与他 人工具无缝集成的工具从而无须分辨一个工具功能在哪里结束,而另一个工具功能在 哪里开始。Dreamweaver MX是
20、一款专业的 HTML编辑器,用于对 Web站点、Web页和Web应用程序进行设计、编码和开发。无论您喜欢直接编写HTML代码的驾驭感还 是偏爱在可视化编辑环境中工作,Dreamweaver都会为您提供帮助良多的工具,丰富 您的Web创作体验。利用Dreamweaver中的可视化编辑功能,您可以快速地创建页面而无需编写任何 代码。不过,如果您更喜欢用手工直接编码,Dreamweaver还包括许多与编码相关的 工具和功能。并且,借助Dreamweaver,您还可以使用服务器语言例如ASP、ASP.NET、 ColdFusion标记语言(CFML、JSP和PHP)生成支持动态数据库的Web应用程序。
21、2.6数据库SQL Server 2000作为Microsoft家庭的重要成员,是基于客户机/服务器的大型关 系数据库系统。SQL Server 2000这种关系型数据库系统能够满足各种类型的企业客户 和独立软件供应商构建商业应用程序的需求,根据客户的反映和需求,是大规模联机 事务处理(OLTP)、数据仓库和电子商务应用程序的优秀数据库平台。SQL Server 2000 具有以下特点:强大可伸缩性;支持大型Web站点或企业信息处理系统;客户机/服务器体系结构;而数据源包含了数据库位置和数据库类型等信息,实际上是一种数据连接的抽象。 各部件之间的关系如图2-1所示:图2-1数据关系图2.7系统
22、的开发要求硬件要求:CPU:最低 Intel Pentium II 500 MHz。磁盘空间:250MB(完全安装),155MB(快速安装)。内存:512MB(最好1GB以上)。显示:1024*768,256 色软件要求:操作系统:Windows 2000以上的操作系统。开发平台:Eclipse3.3,Microsoft SQL Serve第3章需求分析3.1系统目标博客网站系统的总目标是:在计算机网络,数据库和先进的开发平台上,利用现 有的软件,配置一定的硬件,开发一个具有开放体系结构的、易扩充的、易维护的、 具有良好人机交互界面的个人博客网站,为网络用户提供进行在线交流的网络平台。 通过个
23、人博客网站可以结交更多的朋友,表达更多的想法,它随时可以发布文章。具体的要求如下:博主可以简单的添加和删除文章;独立于具体的数据库平台。对于与数据库交互的部分充分考虑兼容性;容易在原先基础上进行二次开发;中间基础平台的无型性。尽量采用开放的标准技术,达到跨平台运行的效果; 为了达到以上的开发目的,个人博客网站应遵循一定的设计和开发与原则:模块接口定义清晰;基础类库和接口设计合理,尽量建立叮扩展的接口和抽象类;数据库操作使用标准SQL语句,如果一定要使用有差别的SQL语句,则尽量集 中在一起,以减少将来维护和移植的难度;采用开放的标准和工具等;3.2系统的功能要求博客系统通常提供三类服务:信息服
24、务:文章显示,热点文章推荐,博主风采查询服务:可以根据文章内容,文章标题,留言内容,留言标题等进行模糊查询 留言服务:游客可以对系统进行留言或发表看法意见下面分析本系统的各个子系统的功能需求。前台功能在前台的功能实现上,可以分为以下几个部分:用户登录:网站用户用个人注册的帐号,密码登录到网站。网站检测用户的帐号, 密码并给予其相应的权限对网站进行操作。用户注册:用户将个人的信息存储到博客网站的数据库中,以成为本博客的正式用户。用户信息修改:把已存储的用户信息用一个网页显示出来,方便用户对个人信息 进行更新。文章查询和留言:用户可以检索或浏览博客中的文章同时给感兴趣的文章。公告查询:用户可以浏览
25、网站中发布的公告信息,了解博客的一些情况。相片查询:用户可以对博客中的相片,图片等进行查询,浏览。音乐查询:用户可以享受博客中的音乐。视频:用户可以观看博主上传的视频内容。后台功能通过计算机网络将前台与后台的数据库相连,网站管理员将从前台得到的信息进 行处理,实现文章管理,公告管理,视频管理,个人相册管理,音乐管理,用户设置 及博主设置等子系统。文章管理:管理员对网站中已有的文章进行删除,更新等操作。公告管理:发布,删除,更改公告。视频管理:视频的上传、删除。音乐管理:音乐的上传、删除。相册管理:对博客相册中的图片进行删除,更新等操作。用户设置:更新普通用户对博客的操作的权限。博主设置:对博主
26、的信息等进行操作。3.3系统的性能需求博客网站的特性要求博客网站系统需要具备以下几个主要特性:多样性:博客网站在设计时必须遵循的一个重要原则,就是以用户为系统设计的 中心。网络的发展大大降低了信息咨询的成本,用户面临更多的选择,所以,博客网 站除了降低成本以外,还必须在皮肤,功能的多样性上下工夫,才能够得到用户的认 可。具体来说,应用系统应能实现用户特定的需求,操作界面友好、方便,功能设置 符合用户的习惯和要求。易维护:管理员能够简单方便地管理系统,定义新的应用,并对系统进行日常维护; 随着博客网站信息的变更或增加、数据规模的增大,系统升级、维护应易于操作各子 系统、功能模块的设计应具有良好的
27、灵活性,保证在博客网站系统建设过程中后期系 统功能的实现不影响前期已投入使用的系统功能。安全性:系统应充分考虑信息、设备、运行和管理的安全性,建立完善的多层次的 安全保障体系,保证用户的个人信息等资料的数据安全。可扩展:博客网站的用户从事着各种行业,他们的需求各不相同,系统在设计时 应充分考虑到用户需求不断变化的需要,降低系统在扩展新的业务功能时的复杂度。3.4系统的数据需求系统的数据需求包括如下几点:数据录入和处理的准确性和实时性数据的输入是否准确是数据处理的前提,错误的输入会导致系统输出的不正确和 不可用,从而使系统的工作失去意义。数据的输入来源是用户的手工输入。手工输入 要通过系统界面上
28、的安排系统具有容错性,并且对用户操作进行实时的跟踪和错误提 示。在系统中,数据的输入往往是大量的,因此系统要有一定的处理能力,以保证迅 速的处理数据。数据的一致性与完整性由于网站的数据是共享的,所以如何保证这些数据的一致性,是网站必须解决的 问题。要解决这一问题,要有一定的人员维护数据的一致性,在数据录入处控制数据 的去向,并且要求对数据库的数据完整性进行严格的约束。对于输入的数据,要为其定义完整性规则,如果不能符合完整性约束,网站应该 拒绝该数据。数据的共享与独立性整个博客网站的数据是共享的。然而,从网站开发的角度上看,共享会给设计和调试带来困难。因此,应该提供灵活的配置,使各个分系统能够独
29、立运行,而通过人 工干预的手段进行系统数据的交换。这样,也能提供系统的强壮性。第4章总体设计4.1总体设计概述本阶段设计的基本目标是解决系统如何实现问题,也叫做概要设计,本阶段主要 任务是划分出系统的物理元素及设计软件的结构,完成软件定义时期的任务之后就应 该对系统进行总体设计,即根据系统分析产生的分析结果AS来PX确定这个系统由哪 些系统和模块组成,这些系统和模块又如何有机的结合在一起,每个模块的功能如何 实现。系统设计的目标是使系统实现拥有所要求的功能,同时,力争达到高效率、高 可靠性、可修改性,并且容易掌握和使用。模块化的依据是:把复杂问题分解成许多容易解决的小问题。原来的问题也就变 得
30、容易解决。模块化设计是把大型软件按照一定的原则划分成一个较小的相对功能独 立又相关联的模块。每个模块完成一个特定的子功能。把这些模块结合起来组成一个 整体。完成指定的功能,满足问题的要求。采用模块化原理的优点在于可以使软件结 构清晰,容易测试和调试。从而提高软件的可靠性,可修改性。有助于软件开发的组 织管理。一个大型软件可分别编写不同的模块。模块化理论的几个重要概念如下:抽象。抽象就是抽象出事物的本质特性而暂时不考虑它们的细节。处理复杂系统 唯一有效的方法是用层次的方式构造和分析它。一个复杂的动态系统首先可以用一些 高级的抽象概念构造和理解,这些高级概念又可以用一些较低级的理解,直到最低层 次
31、的具体元素。信息隐蔽和局部化。信息隐蔽是指在设计和确定模块时,应使得一个模块内包含 的信息对于不需要这些信息的模块来说,是不能访问。局部化是指把一些关系密切的软件元素物理的放得彼此靠近。局部化有助于实现 信息隐蔽。信息隐蔽原理和局部化有助于在测试期间以及软件维护期间修改软件。因为绝大 多数数据和过程对于软件的其它部分而言是隐蔽的,从而由疏忽引入的错误就很少可 能传播到软件的其它部分。逐步求精的模块化概念。逐步求精和模块化的抽象是密切相关的。软件结构每一 层中模块表示对软件抽象层次的次细化。用自顶向下,逐步求精的方法由抽象到具体 的方式分配控制,简化了软件设计和实施,提高了软件的可理解性和可测试
32、性,并使 得软件更容易维护。模块独立性。模块的划分要使模块间尽可能的相互独立,独立模块较易维护。度 量模块的独立程度有两个标准:内聚和耦合。耦合是对一个软件结构内不同模块之间 互连程度的度量。耦合强弱取决于模块间接口的复杂程度,进入或访问一个模块的点, 以及通过接口的数。在软件的设计中应追求尽可能松散的耦合。内聚标志一个模块内各个元素彼此结 合的紧密程度,它是信息隐藏和局部化概念的自然扩展,理想内聚的模块只做一件事 情。在设计时应力求做到高内聚。博客网站系统的总目标是:在计算机网络,数据库和先进的开发平台上,利用现 有的软件,配置一定的硬件,开发一个具有开放体系结构的、易扩充的、易维护的、 具
33、有良好人机交互界面的博客网站,以达到个人推荐、展现自我的一个平台,为交流 提供综合的网络环境,同时也为个人的宣传,发展,提供了一个平台。4.2系统体系结构基于B/S结构的个人博客网站系统,应由终端(用户主机/浏览器)、WEB服务器、 数据服务器构成。个人博客网站的核心是中间的接入服务器和应用服务器部分。个人 博客网站的总体结构图如图4.1所示:图4.1博客网站总体结构4.3主要功能模块系统实现的物理结构如图4.2所示:4.4系统页面框架图系统页面整体框架如图4.3所示。图4.3系统页面整体框架图主要页面如表4.1主要页面清单表所示:表4.1主要页面清单表文件名说明Index. Jsp普通用户登
34、录页面,用户只要输入已注册的帐号和密码head_Consumer.jsp用户信息页面head_photoSelect.jsp相片查询页面head_consumerUpdate.jsp新用户注册页面head_disussForm.jsp评论信息查询页面back_PhotoInsert.jsp相片上传页面backMainPage.jsp系统管理页面back_MovieInsert.jsp视频上传页面Back_MusicInsert.jsp音乐上传页面head_main.jsp文章显示界面(包含文章搜索)4.6功能模块设计功能的详细划分如表4.2所示:表4.2功能详细划分表功能设计划分具体功能备注首
35、页(head_main.jsp)通过点击不同的导航进入不同的页面文章(head_ArticleList.js文章列表通过点击查看全 文进入全文显示页面p)文章分页一页显示5篇文* 早发表留言点进进入留言页面加好友本功能暂未实现与又早只有管理员才能发表文早阅读数评论数发表评论只有注册为会员才能发表评论留言留言显示(head_disussForm.js留言发表p)用户管理可查看、删除用后户台文章管理可修改、删除文管早理留言管理可查看、删除留言相片管理存储相片,图片视频管理上传视频音乐管理上传音乐图4.4前台系统结构图4.8后台系统结构图图4.5系统后台流程图4.9系统模块介绍博客注册登录管理本模块
36、实现新用户注册,登录功能。其中,注册新用户时会对用户输入的注册信 息进行有效的验证,包括基本数据格式的有效性,以及逻辑有效性,例如:用户名被 占用时给出提示。注册成功登录时会对博客输入的信息进行提示,如用户名、密码错 误。博客文章查询显示管理本模块用于帮助网络用户快速定位到自己关注的博客页面及对应的文章信息中。在本模块中提供了最新文章推荐,还提供了按内容或标题等关键字快速查询所需文章 信息发表文章管理该模块实现了博主发表新文章的功能。此外博主还可以对所发表的内容进行更新 和删除。发表及显示评论管理该模块实现了与文章相关的评论管理。只有注册成本站用户才能对文章进行发表 评论。留言显示及查询管理注
37、册成本站的用户可以对博主所发表的文章进行评论。视频管理该模块实现了博主上传视频的功能,博主可以对视频进行更新、删除操作。音乐管理该模块实现了博主上传音乐的功能,博主可以对音乐进行更新、删除操作。相片管理该模块实现了博主上传相片的功能,博主可以对相片进行更新、删除操作。4.10数据库设计一个设计良好的数据库,可以使系统的实现变得非常的简单。同时,也可以使系 统的执行速度变得很快。反之,一个设计混乱的数据库,不仅增加了吸引的管理实现 过程,同时在系统的执行过程中,使得检索变得很慢,降低效率。所以数据库的设计 是一个系统设计很重要的步骤。根据系统功能设计要求和模块划分,本站的数据库主要有用户信息、文
38、章信息、 管理员信息、照片信息、评论信息、视频信息、音乐信息。数据库的设计通常是以一个已经存在的数据库管理系统为基础的,常用的数据库管理系统有Access SQL Server、Oracle My SQL等。根据用户需求和系统分析,本 系统采用SQL Server2000数据库管理系统。第5章详细设计详细设计是整个系统设计中,最重要的一个步骤。下面对系统得主要模块进行详细的 介绍。5.1前台主要页面设计顶框架页面顶框架页面是页面头部部分,是这个网站的公共部分,显示博主信息及欢迎标语。 当登录的用户为管理员时,在顶部右边有管理员登录后台的链接,可以进入后台操作。 当为普通用户时无此链接。用于显示
39、博主信息的主要代码:for(int host=0;host 博主信息、 重新登录 进入后台 】顶框架页面设计效果如图5.1所示:图5.1前台顶部框架页面左模块框架左模块框架主要负责显示相片,音乐、视频、文章等,是随着请求响应的需求而改 变。右模块框架右模块同顶模块一样是整个网站的公共部分,包含整个网站前台的公共链接,网络 日历,以及公告列表。公共链接公共链接部分包含了网站的主要部分的链接,方便用于浏览各个部分。包含有首页、 文章、视频、公告以及音乐的链接。设计效果如图5.2所示:.萱页HOME视频峻VIE文章ARTICLE告DISCUSS相册. PHOTO;音乐MUSIC图5.2右模块中的公共
40、链接网络日历网络日历用来显示当前系统的确定时间,模块上面显示年、月,下面显示具体的日 期和星期,而且将当期的日期显示为红色。此外还可以设置时间,可以自己调整年月以 及日期,方便用户查看时间。主要代码如下:GregorianCalendar currentDay = new GregorianCalendar();int today=currentDay.get(Calendar.DAY_OF_MONTH);int month=currentDay.get(Calendar.MONTH);int year= currentDay.get(Calendar.YEAR);Calendar thisM
41、onth=Calendar.getInstance();thisMonth.set(Calendar.MONTH, month )int firstIndex=thisMonth.get(Calendar.DAY_OF_WEEK)-1;int maxIndex=thisMonth.getActualMaximum(Calendar.DAY_OF_MONTH);for(int i=0;i首先创建GregorianCalendar实例获取当期时间的年月日,然后根据年月日来获取星 期。然后将获取的日期信息赋值给控件:月 日 % for(int j=0;j% for(int i=j*7;i 将获取到的
42、具体的某一天用红色显示。设计效果如图5.3所示:year年(month月 日IE (days i) daysi图5.3网络日历设计图公告部分是显示后台管理员所发布的信息,上面显示的是管理员最新发布的几条信息,上面提供了连接可以看到更多的或更早所发布的信息。设计图如图5.4所示:堂最新公告o titl 己更多图5.4公告设计图底框架页面底框架也是系统的公共部分,只是用来显示一张图片,如图5.5所示:Copyright 2010 残建周 All Rights Reserped图5.5底框架页面系统前台整体页面以上介绍的是前台页面的各个具体部分,现在用一个整体的框架把各个部分包含进来。使用jsp:i
43、nclude page=*.jsp flush=true /语句把各个所要的部分组合到一块。登录系统后显示的整体框架图如图5.6所示:性别音乐MirsicARTICLE懿FHOIO即1 ci年5月薮迎您光临我的悝彳JSF技术Java Seryer Page简称JSF,正是运行在服务器蔬的脚本语言之一-与 其他的服务器端脚本语言一样,是用来:芹发动态网页的一种技术 JSF 页面是由佐统的/ML代玛和嵌兑其中的Jawa代码.阅读却ID年5月尊日星期四|阅读(11 ) |回复(1)史玉柱再沈创业从中国“苜负,到中国“首副,司玉柱确实是中置商界的传奇人物. 从珠海巨人大裳的“轰然倒塌加到“今天过节不收
44、礼收礼.日收老白金 再到巨人集团在美国纽约的上市,司玉柱短短的20余年间缠巧了赤生的 大起大落”现.阅读至文%卜即如年5月招日星期四|阅读(10) |回复愆)什么事无知我在触研究的时候,发现一些很奇怪的现象,就是很害案例的决策人在 楸决中的时候,错误7攻卜律存i车7F常&都赠以薛解,而决策A却是受讦姓名:张连周兴趣:读书,音乐QQ : 49318739.ETilmil : zlz063y:=LtLLio. cuni. cn主页 :ht tp : / zh:=LTLgl 1 :=LTLzhuU. CLifTl个人日志HOME博主信息重新登录】进人后台】网结日历文早图5.6系统前台整体页面5.2后
45、台主要页面设计顶框架页面后台顶框架页包含了我的首页、管理博客、安全退出链接,以及显示系统的实时时 间。其中“我的首页”链接到博客前台首页,“管理博客”链接到博客后台的管理控制 面板,“安全退出”链接到博客登录页面。实时时间用来显示当前系统的时间,而且时 间会自动更新显示当前的时间,具体时间包括年、月、日、星期以及时、分、秒。如图 5.7所示:我的首页管理博客安全退出年。6月。3日 星期四14:34:19图5.7后台顶框架页面其中用于控制时间显示的是JavaScript代码,其主要代码如下:function clockon(bgclock)(var now=new Date();var year
46、=now.getYear();if(month10) month=0+month;if(date10) date=0+date;if(hour10) hour=0+hour;if(minu10) minu=0+minu;if(sec10) sec=0+sec;var arr_week=new Array(星期日,星期一,星期二,星期三,星期四,星期五 ,星期六);week=arr_weekday;var time=;time=year+年+month+月+date+日 +week+ +hour+:+minu+:+sec;if(document.all)(bgclock.innerHTML=+t
47、ime+var timer=setTimeout(clockon(bgclock),200);底框架页面后台底框架同样是一副图片,如图5.8所示:Copyright。2010 张连周 All Rights Reserved图5.8底框架页面左框架页面左框架页面主要为博客后台页面提供导航链接。包括文章的发表与设置、相片的发 表与设置、视频的上传与设置、音乐的上传与设置以及博主的设置和博主对用户的设置 页面。如图5.9所示:V:博客文章管理o发表博客文章0博客文章设詈Q公告管理io公告逐加0公告设置/视频管理0视频添加0规;嫩置个人相册设置0相册添加0 相册没O音乐添加0言乐设詈m用户设置海博主设
48、詈图5.9后台左框架模块后台总体框架本模块是系统后台管理模块,是后台整体框架,管理员通过登录进入管理页面,可 对前台信息进行修改、删除等操作。具体功能如下发表博客文章及对文章类型等进行设置。设置公告的内容及形式。设置音乐的内容及形式。设置个人相片的内容及形式。相片的上传及设置。视频的上传与设置。最新公告的主要内容。用户信息,权限等设置。博主的个人信息的设置。后台总体框架如图5.10所示:图5.10后台总体框架图5.3视频模块实现本设计是用JSP、Servlet、javaBean相结合的方式开发,采用MVC三层结构,达 到了视图、模型及控制的分离,有利于代码复用以及后期维护。其中JSP负责视图显
49、示, javaBean负责数据模型和业务逻辑,Servlet负责对JSP页面发来的请求进行处理,然后 转发相应页面。视频模块主要功能包括后台管理员添加、删除以及前台用户进行浏览。添加视频要完成以下操作管理员进入系统后台添加视频页面;上传上自己要添加的视频;系统对添加视频存数据库,并提示添加成功。删除视频要完成以下操作管理员进入系统后台视频设置界面;点击要删除的视频后的删除;系统在列表和数据库中删除视频,并提示删除成功。视频的数据模型数据模型(javaBean)是静态的数据模块,每个字段的对外访问权限为private,因此 不能被外界直接访问,只能通过setter和getter方法对字段进行操作
50、。视频的控制模块Servlet是程序的核心控制模块,它负责对接收的页面请求进行处理或者转发页面请 求。注册控制模块的主要包括视频的上传和删除上传视频的主要代码如下:movieForm.setMovieDescription(movieDescription);filedir = filedir + maxID + .+ singlefile.getFileExt();movieForm.setMovieAddress(filedir);if (movieDao.operationMovie(添加, movieForm) (singlefile.saveAs(filedir, File.SAVE
51、AS_VIRTUAL);result =上传视频成功!;删除的主要代码如下:if (movieDao.operationMovie(删除,photoForm) (file.delete();out.print(alert(删除视频成功,请重新查询! );window.location.href=back_movieSelect.jsp;); else (out.print(alert( 删 除 失 败 ! );history.go(-1););当删除成功时转入back_movieSelect.jsp页面,当失败时返回前一个(hitory.go(-1)页面。5.3.3 视频的数据库操作模块视频的
52、数据库操作,主要包括对数据库的增、删、改、查功能。对数据库的添加和删除的主要代码如下:if (operation.equals(删除)sql = delete from tb_movie where id= + movieForm.getId() + ;if (operation.equals(添加)sql = insert into tb_movie values (+ movieForm.getMovieAddress() + ,+ movieForm.getMovieDescription() + ,+ movieForm.getMovieTime() + );if (connectio
53、n.executeUpdate(sql)flag = true;注册视频servletServlet只有经过注册才能使用。在web.xml中完成的最常见的一个任务是对Servlet或 JSP页面给出名称和定制的URLO 用 Servlet元素分配名称,使用Servlet-mapping元素 将定制的URL与分配的名称关联起来,这样应用程序才能访问的到。MovieServlet注册名,与下W元素的名字必须一致,而且在整个web.xml中是唯一com.servlet.MovieServlet注册类的完整类名MovieServlet/MovieServlet/注册页面的映射路径,“/”代表根目录当要
54、访问Servlet时,容器会根据请求路径中的路径在web.xml中对元素就 行匹配,要是能匹配上就访问相应的Servleto后台视频添加页面后台视频添加时,主要包括视频地址,视频描述,以及上传的时间。在上传时系统会在 后台自动的将所上传的视频复制到指定的文件夹下,同时将视频的地址、描述、上传时 间写入数据库。上传界面如图5.11所示:视频上传上传地址:浏览.视频描述:上传时间:网口8年1月理日星期二注意:祖蒙的梧式只能为:Havi保存重置图5.11视频上传后台视频设置页面视频设置页面是对数据库中的视频进行删除操作,当进入设置页面时,系统从数据库中查找所有的视频进行分页出来,每页显示一个视频。设
55、置界面如图5.12所示:O hah角 删除.下载X前台视频浏览页面当前页数:必下一页最后一页前台视频浏览是供管理者和用户进行浏览,当有多个视频时,系统会进行分页显示,还可以点击具体的页码显示具体的视频。如图5.13所示:博主信息匚重If登录N匚进A!后台】姓名:张连周性别封趣:读书,音乐QQ : 49.3187439E-Mail : zlzUFi3y:ELtLuij. curri. cn主页:http:/ zh:dTLgl 1 :ELTizhijU. C 口 E上佳日期:-即1CI年6月2日星期三HOIEARTICLEPHOTOVSIC5.1Lf5.4公告模块实现当前页数:1/4 下一页 最后
56、一页也最新企告公告的数据模型以及公告的数据库操作和视频的都一样,因此不再做详细介绍。公告后台的操作包括公告的添加和删除以及更新操作,前台用户只能浏览。公告在前台 显示时以列表的形式显示,用户点击链接时可以进行详细查询。当公告的内容较多时系 统会自动进行分页显示。发表公告要完成以下操作用户进入系统后台发表公告发表页面;用户只需要输入“公告题目、公告内容”等内容;系统把内容存入数据库,并提示“添加公告成功。修改公告要完成以下操作用户进入系统后台发表公告设置页面;用户找到要修改的公告,进入要修改页面,修改后并提交;系统把修改后的内容存入数据库,并提示“修改公告成功”。删除公告要完成以下操作用户进入系
57、统后台发表公告设置页面;用户找到要删除的公告,点击要删除的公告后的删除;系统在网页和数据库中删除公告。公告前台页面如图5.14查询所有公告信息题目发布时间操作感谢你,孔子雹1口年S月13日星期四详细查询春天的故事雹1口年S月13日星期四详细查询悲伤的坐在你农1年5月13日星期四详细查询雹1呻2口1 口年5月13日星期四详细查询陌生人的来信雹1口年S月13日星期四详细查询散文一篇农1年5月13日星期四详细查询诸恶与众善2口1 口年5月13日星期四详细查询当前页数:1/1图5.14前台公告查询页面5.5评论模块实现评论模块是用户对博主所发表的内容进行评论,博主登录后台后就可以看到评论,还可 以对评
58、论的内容进行删除。当用户进入博主的文章页面时,系统会显示出当前对博主的 文章进行评论的人次以及别人对博主文章的评论,当用户提交评论时,系统会根据当前 用户的session将当前用户的名字一块提交到数据库。前台评论的主要代码如下:0)(for(int i=0;i题目: 内容: 回复人:out.print(pagination.printCtrl(Page,id);%如果评论的条数较多,利用pagination.printCtrl(Page,id)方法进行分页。前台评论页面如图5.15所示:图5.15前台评论回复主题:回复人:后台评论呈斑博博主可以对评论进行删除操作,这里不再一一叙述。*台实现与前
59、台基本相同,于前台相比后台的题目:你好内容:你好回复人:张连周题目:不错内容:口门_口哈哈*回复人:张连周当前页数:1/U5.6辅助模块实现辅助模块是为了辅助其它模块的使用,主要包括字符集编码模块、分页模块以及包括时 间模块。分页模块实际考虑系统中的音乐、视频、公告、评论以及相片上传的会比较多,一个页面也许不 能显示所有的条目,因此需要提供分页显示的功能。考虑到用到分页功能的模块比较多, 因此将分页模块单独从各个具体的模块分离出来开发,对外提供公共访问接口。分页模 块提供以下功能:初始化分页:根据需要指定每页需要显示的记录数获取指定页数据:根据需要选取某一确定页数据。初始化分页主要代码如下:t
60、his.list=list;recordCount=list.size();this.pagesize=pagesize;this.maxPage=getMaxPage();try(for(int i=(1)*pagesize;i=recordCount)break;catch(Exception e)newList.add(Object)list.get(i);List是对象数组,存放的是一个数据对象,pagesize指定每页需要显示记录数目。获取 指定页代码如下:for(int i=(1)*pagesize;i=recordCount)break;catch(Exception e)new
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 反电诈宣传工作总结范文(13篇)
- 星空摄影曝光后期调整-洞察分析
- 网络暴力影响心理健康-洞察分析
- 体育明星代言市场研究-洞察分析
- 危险化学品安全管理应急预案(6篇)
- 关于值班缺勤的检讨书(7篇)
- 新型酶制剂研发与应用-洞察分析
- 艺术与文化传承研究-洞察分析
- 副主任医师评审个人工作总结(6篇)
- 医疗产品设计的创新与技术进步
- 短债基金入门技巧知识讲座
- 国开法律职业伦理期末复习资料
- 京东2023审计报告
- 2023年江苏省普通高中学业水平测试生物试卷
- 鞋类产品线上销售平台的运营与推广
- 审计学原理-审计基础与案例智慧树知到课后章节答案2023年下哈尔滨商业大学
- 医院PACS系统解决方案
- 留言板实验报告
- DB51-T 3103-2023 四川省天然林修复类型划分与评价
- 国开电大专科《外国文学》在线形考(任务1至4)试题及答案
- 新概念英语第二册L53+Hot+snake课件
评论
0/150
提交评论