Jsp个人博客系统设计_第1页
Jsp个人博客系统设计_第2页
Jsp个人博客系统设计_第3页
Jsp个人博客系统设计_第4页
Jsp个人博客系统设计_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

-.z.---.可修编.毕业论文(设计)题目:博客的设计与实现-.z.--目录目录1第一章概述21.1个人博客的概念21.2个人博客的发展现状21.3Web技术的发展41.4研究现状41.5开发技术51.5.1JSP的基础——Servlet技术61.5.2JavaBean原理和机制61.5.3开发平台:Eclipse+dreamweaver71.5.4数据库:SQLSERVER20007第二章需求分析92.1系统目标92.2系统的功能要求92.2.1前台9后台102.3系统的性能需求102.4系统的数据需求112.4.1系统的数据需求包括如下几点:112.4.2系统的数据字典112.5建立系统的约束132.5.1人力、资金、时间的约束132.5.2技术发展规律的约束13第三章概要设计143.1系统体系结构143.2主要功能设计143.2.1主要功能模块143.2.2系统流程图153.2.3系统模块介绍163.3数据库设计163.4信息安全设计183.4.1网络安全193.4.2其他安全19第四章详细设计204.1首页面及主要页面设计204.2功能模块设计204.3系统实现214.3.1博客前台首页head_main.jsp详细功能及部分代码224.3.2评论信息查询head_disussList.jsp详细功能及部分代码25系统管理backMainPage.jsp详细功能及部分代码27第五章遇到的难点和解决方法30结束语31致32参考文献33-.z.--第一章概述对个人而言,博客可以调动个人的积极性,充分发挥个人的创造性。从2002年开始,国博客开始迅猛发展起来,从最初的只有几千个尝鲜者到现在的各式各样的博客,圈子。在这三年的发展过程中,主要呈现出如下几个特点:1).博客是可以将个人信息完整呈现在互联网上的载体。2).博客具有“准实名制”趋势,有助于信任机制的建立。本文就此探讨了我国博客发展的几个要素。1.1个人博客的概念博客是WEB

LOG的缩写,简单来说就是网络日记。它是1997年12月由美国的Jorn

Barger最早提出的,这些年全球博客获得了突飞猛进的发展。据博客搜索Technorati统计,目前全球平均每5.8秒钟诞生一个博客。它是一个新型的个人互联网出版工具,博客使用者可以很方便地用文字、、影音、图片建立起个性化的网络世界。博客秉承了个人的自由精神,但是综合了激发创造的新模式,使其更具开放和建设性。它作为一种新表达的方式,它的传播不仅情绪,包括大量的智慧、意见和思想。*种意义上说,它也是一种新的文化现象,博客的出现和繁荣,真正凸现网络的知识价值,标志着互联网发展开始步入更高的阶段。1.2个人博客的发展现状2006年11月3日,全球中文博客站点数量达到5230万,博客(博客ger)用户数达到1987万,平均每个博客(博客ger)用户拥有大约2.6个博客,博客站点数和博客用户数均比前一年有一定程度的增长,人均拥有博客数与前一年相比也略有上升。在近二千万的中国博客用户中,每个用户平均每7.6天更新一次博客,活跃的博客用户数(一周有更新的博客)达到302万,约15.2%的用户每周更新博客,同时,只有大约4.6%的用户每天更新博客。在用户更新的博客中,约42%的博客文章在500个汉字(1000个字节)之,500~1000个汉字(1000~2000个字节)的博客文章占约16.5%,越是长篇大论的文章在博客中所占比例则越少。用户更新博客的时间大部分集中在白天,约48.5%的用户选择在工作时间(上午10点~下午6点)更新自己的博客,其中,在临近下班前(下午4点~6点)博客更新数达12.4%,而约16.3%的用户选择在晚上7点~10点更新博客,为全日最高峰,晚上10点之后时间更新博客的数量逐渐减少。2006年,拥有独立域名的博客站点,在博客站点总数中占约0.43%,这表明,绝大多数的用户将博客服务商作为他们的博客站点首选。而这一年,中国大陆博客服务商(BSP)持续大幅增长,博客服务商数量达到1460家,与去年同期相比增长近55%;大型网络公司如搜狐、百度纷纷推出相应的博客服务,而新兴的博客服务站点如51.也开始崭露头角。过去一年中,中国博客发展速度整体趋缓,博客用户增长数较之去年有小幅上升,博客服务商之间的市场竞争日趋激烈,与早期提供博客服务的运营商相比,传统门户及大型公司的博客服务已占据市场主导地位。总体而言,2006年中国博客发展呈现5大特点:专业博客-.z.如医药类、教育类等增长较快,博客圈成为社区发展新方向;博客服务商(BSP)死亡比例逐渐增高,2005年Top100服务商中,近20%的站点已经关闭或终止服务;博客服务商(BSP)开始逐渐支持手机访问和发贴,发展迅速;综合博客服务商(BSP)增长很快,越来越多的服务商开始提供音频、视频博客等功能;利用博客进行排名作弊的站点越来越多,06年出现爆炸性增长,其中小型博客服务商(BSP)尤为突出。现今,博客已经由06年的风风火火变的平淡,通过各种方式融入了我们的生活,成为了我们表现自己的主要方式。它们大部分是由简短而且经常更新的帖子构成,所有文章都是按照年份和日期排列。看上去平淡无奇,毫无可炫耀之处,但它让每个人零成本、零维护地创建自己的网络媒体,每个都可以随时把自己的思想火花和灵感更新到博客站点上。个人博客目前面临的主要问题:由于文化市场监督的不利,势必会造成一些淫秽的容广泛传播于网路,这就需要文化部门的有力监督。1.3Web技术的发展1991年,欧洲粒子物理研究所(CERN)的软件工程师TimBerners-Lee发布了他的万维网(WorldWideWeb)。从此以后,通过互联网看到的将不仅仅是文字,互联网有了图片,后来又有了音频、动画甚至视频。的成功在于它制定了一套标准的,易于掌握的超文本标记语言HTML、信息资源的统一定位格式URL和超文本传输协议HTTP,用超和超媒体把Internet上各种相关数据有机地起来,使互联网上的资源实现了共享。你只需要点击鼠标就可以浏览来自世界各地的丰富的、直观的信息,一个不懂电脑的人也可以很快成为Internet行家。开始的web页面都是静态文本,页面呆板,互动性不强,但是随着技术的发展,很快各种各样的动态网页技术涌现出来,这其中包括CGI,ASP,PHP,Java,脚本语言如:JavaScript,VBScript等等。JavaScript和VBScript可以嵌入在HTML中实现一些客户端的动态功能;CGI大大扩展了Web服务的功能,可以实现web服务器与数据库及文件系统、应用程序的通信,动态生成超文本,于是网页活了起来。但CGI的运用需要具有一定的编程能力及算法技巧,而且与HTML要分开编写,维护和编写都比较困难,效率和安全性也不好。ASP,PHP克服了这些缺点,获得了广泛的应用。Java的出现给Web带来了新的活力。它具有完全的平台无关性,一次编写处处运行,用Java可以编写web页中执行的小程序Applet。它简单、面向对象、安全、健壮、分布式等优点特别适合开发web应用。在美国,JSP+Servlet+E已经成为电子商务的开发标准。1.4研究现状现今,博客已经由06年的风风火火变的平淡,通过各种方式融入了我们的生活,成为了我们表现自己的主要方式。它们大部分是由简短而且经常更新的帖子构成,所有文章都是按照年份和日期排列,有些类似斑竹的日记。看上去平淡无奇,毫无可炫耀之处,但它可以让每个人零成本、零维护地创建自己的网络媒体,每个都可以随时把自己的思想火花和灵感更新到博客站点上。现在的博客的主要特点:零机制:博客属于个人所有,是自发建立和非正式的建设。BSP不能对博客发号施令。零技术:博客不需要作的专业知识,可以像发一样简单地实现博客网页的呈现。技术的极度-.z.简化,包括架构和申请博客、编辑、上传和修改容等。零成本:任何一个人都可以像申请免费般免费申请自己的博客。不需要注册域名的成本,不需要租用服务器空间的成本,不需要许多软件工具的成本。零编辑:博客用户就是编辑,即时写作、即时发布、自我检查。这形成了与传统写作截然不同的“体验”,真正实现了作者“零磨损”的开放式写作。零形式:博客页面的表现形式和文章容的表现方式十分灵活,没有特定形式。与个人主页相比较,博客是使用方便的、交互性强。与传统的电子、BBS和ICQ这三种互联网沟通方式相比,博客是一种较严肃的沟通平台。BBS公共匿名性很强,而个人性很弱,因此缺乏约束。电子和ICQ则是多用于个人间的通讯,而博客是个人性和公共性的结合。博客是个人在网上展示自己、与别人沟通交流的综合平台,它的管理比BBS简单的多。1.5开发技术一些人可能已经对微软的ActiveServerPages(ASP)很熟悉了;JSP在多数方面与ASP功能相同但是具有平台无关特性。他们都用来帮助Web容的开发者们使用相对少的代码创建动态的网页。一个JSP页面包含掺杂着Java代码的HTML代码。下面主要介绍下JSP的特点:1).将容的生成和显示进行分离使用JSP技术,Web页面开发人员可以使用HTML或者*ML标识来设计和格式化最终页面。2).JSP技术源于Java语言。Java语言是体系结构中立的。这使JSP技术可以在实现这个JSP平台的任何系统中运行。这种途径适合于异构的网络环境和软件的分发。3).JSP系统是可移植的。这种可移植性来源于体系结构中立性。4).强调可重用的组件。绝大多数JSP页面依赖于可重用的,跨平台的组件(JavaBeans或者Enterprise

JavaBeansTM组件)来执行应用程序所要求的更为复杂的处理。5).采用标识简化页面开发

Web页面开发人员不会都是熟悉脚本语言的编程人员。JSP技术封装了许多功能,这些功能是在易用的、与JSP相关的*ML标识中进行动态容生成所需要的。6).使用JSP标识或者小脚本来生成页面上的动态容。生成容的逻辑被封装在标识和JavaBeans组件中,并且捆绑在小脚本中,所有的脚本在服务器端运行。7).由于JSP页面的置脚本语言是基于Java编程语言的,而且所有的JSP页面都被编译成为JavaServlet,JSP页面就具有Java技术的所有好处,包括健壮的存储管理和安全性;8).作为Java平台的一部分,JSP拥有Java编程语言“一次编写,各处运行”的特点。当客户端请求一个JSP网页时,JSPEngine会检查所请求的JSP网页是否已经处于被载入执行的状态,如果没有,它会先读取JSP程序文件,将它换成Servlet程序代码编译载入,然后才执行请求的服务。也是就说,只有当客户端第一次请求JSP网页时,才需要被转换、编译和载入,做到了一次执行,处处执行。JSP的ServletClass是JSPEngine自动帮我们编译产生的,不像Servlet需要手动编译,另外,在JSP程序中建立新的对象和JavaBean非常方便容易。JSP的基础——Servlet技术JavaServlet是JSP技术的基础,JSP本身就是预先被编译成Servlet,然后再运行的,而且大型的Web应用程序的开发需要JavaServlet和JSP配合才能完成,Servlet这个名称大概源于Applet,现在国的翻译方式很多,本文为了避免误会,本文直接采用Servlet这个名称而不做任何翻译,读者如果愿意,可以称之为“小服务程序”。Servlet其实和传统的CGI程序和ISAPI、NSAPI等Web程序开发工具的作用是相同的,在使用JavaServlet以后,用户不必再使用效率低下的CGI方式,也不必使用只能在*个固定Web服务器平台运行的API方式来动态生成Web页面。许多Web服务器都支持Servlet,即使不直接支持Servlet的Web服务器也可以通过附加的应用服务器和模块来支持Servlet。得益于Java的跨平台的特性,Servlet也是平台无关的,实际上,只要符合JavaServlet规,Servlet是完全平台无关且是Web服务器无关的。由于JavaServlet部是以线程方式提供服务,不必对于每个请求都启动一个进程,并且利用多线程机制可以同时为多个请求服务,因此JavaServlet效率非常高。但JavaServlet也不是没有缺点,和传统的CGI、ISAPI、NSAPI方式相同,JavaServlet是利用输出HTML语句来实现动态网页的,如果用JavaServlet来开发整个,动态部分和静态页面的整合过程简直就是一场噩梦。这就是为什么SUN还要推出JavaServerPages的原因。1.5.2JavaBean原理和机制JSP的一大特点就是与JavaBeans的结合,而JSP与JavaBeans结合的一个突出的优点是页面显示和业务逻辑的分离。这可以使团队协作的更好,开发出更高质量的站点。JavaBean是一种可以重用的Java组件,它类似于,在JSP程序中常用来封装事物逻辑、数据库操作等,可以很好的实现业务逻辑和前台程序的分离,使得系统具有更好的健壮性和灵活性。事件处理是JavaBeans体系结构的核心之一。通过事件处理机智,可以让一些组件作为事件源,发出可被描述环境或其他组件接受的事件。这样,不同的组件就可在构造工具组合在一起,组件之间通过事件的传递进行通信,构成一个应用。从概念上讲,事件是一种在“源对象”和“监听对象”之间、*种状态发生变化的传递机智。事件有许多不同的用途,如:鼠标事件、窗口边界改变事件、键盘事件等。在Java和JavaBeans中则是定义了一个一般的、可扩充的事件机制,它能够:1).对事件类型和传递模型的定义和扩充提供一个公共框架,并适合于广泛的应用。2).与Java语言和环境有较高的集成度。事件能描述环境捕获和被激发。能使其他构造工具采取*种技术在设计时直接控制事件,遗迹控制事件源和事件监听者之间的联系。事件本身不依赖于复杂的开发工具。特别的,事件机制还应当:1).能够发现制定的对象类可以生成的事件。2).能够发现制定的对象类可以观察监听到的事件。3).提供一个常规的注册机制,允许动态操纵事件源与事件监听者之间的关系。4).不需要其他的虚拟机和语言即可实现。5).事件源与监听者之间可进行高效的事件传递。6).能完成JavaBean事件模型与相关的其他组件体系结构事件模型的中立映射。JSP和ASP.NET同样是开发中常用的开发工具。但是,ASP是微软的产品,其应用只能是在Windows平台上,移植性差,而且以源代码的形式存放在服务器端,安全性差。每次由服务器解释运行,运行效率不高。Jsp页面文件执行时被编译成字节代码,由客户端流览的Java虚拟机解释执行,不再是源代码,因此执行效率和安全性高。将数据库连接的重要信息存放在JavaBean文件后,可以编译成虚拟机才能解释的字节代码,确保了数据库的安全。在ASP技术里,通过Web页面要实现一些特定的功能比较困难,比如基于网页的报表,打印实现起来就比较麻烦。ASP提供的解决方案是自己开发组件,通过在服务器端注册组件,成为独立的可以重复利用的模块供读者调用。因此要求读者需要掌握比较复杂的变成语言的开发技术。在JSP开发技术里,可以通过开发JavaBean文件实现同样的功能,JavaBean不需要注册,只要放置在相应的目录下就可以运行。可以实现ASP的组件同样的功能。此外JSP推出主要就是考虑到平台的无关性。JSP代码可以在APACHE、IIS等服务器上执行,支持大部分操作系统。JSP继承JAVA技术的优点:一次运行,处处运行。鉴于此,本系统决定使用JSP做为开发工具。下面简单介绍一下相关的其他工具:1.5.3开发平台:Eclipse+dreamweaverEclipse是一个开放源代码的软件开发项目,专注于为高度集成的工具开发提供一个全功能的、具有商业品质的工业平台。它主要由Eclipse项目、Eclipse工具项目和Eclipse技术项目三个项目组成,具体包括四个部分组成——EclipsePlatform、JDT、CDT和PDE.JDT支持Java开发、CDT支持C开发、PDE用来支持插件开发,EclipsePlatform则是一个开放的可扩展IDE,提供了一个通用的开发平台。它提供建造块和构造并运行集成软件开发工具的基础。EclipsePlatform允许工具建造者独立开发与他人工具无缝集成的工具从而无须分辨一个工具功能在哪里结束,而另一个工具功能在哪里开始。Dreamweaver

M*

是一款专业的HTML编辑器,用于对Web站点、Web页和Web应用程序进行设计、编码和开发。无论您喜欢直接编写HTML代码的驾驭感还是偏爱在可视化编辑环境中工作,Dreamweaver都会为您提供帮助良多的工具,丰富您的Web创作体验。利用Dreamweaver中的可视化编辑功能,您可以快速地创建页面而无需编写任何代码。不过,如果您更喜欢用手工直接编码,Dreamweaver还包括许多与编码相关的工具和功能。并且,借助Dreamweaver,您还可以使用服务器语言(例如ASP、ASP.NET、ColdFusion标记语言(CFML)、JSP和PHP)生成支持动态数据库的Web应用程序。1.5.4数据库:SQLSERVER2000SQLServer2000作为Microsoft家庭的重要成员,是基于客户机/服务器的大型关系数据库系统。SQLServer2000这种关系型数据库系统能够满足各种类型的企业客户和独立软件供应商构建商业应用程序的需求,根据客户的反映和需求,是大规模联机事务处理(OLTP)、数据仓库和电子商务应用程序的优秀数据库平台。SQLServer2000具有以下特点:1).强大可伸缩性;2).支持大型Web站点或企业信息处理系统;3).客户机/服务器体系结构;而数据源包含了数据库位置和数据库类型等信息,实际上是一种数据连接的抽象。各部件之间的关系如图2-1所示:应用程序应用程序ODBC管理器ODBCAPIsql驱动程序管理器数据源名(DSN)ODBC驱动程序数据源ODBC层数据层应用层图2-1数据关系图第二章需求分析2.1系统目标博客系统的总目标是:在计算机网络,数据库和先进的开发平台上,利用现有的软件,配置一定的硬件,开发一个具有开放体系结构的、易扩充的、易维护的、具有良好人机交互界面的个人博客,为网络用户提供进行在线交流的网络平台。通过个人博客可以结交更多的朋友,表达更多的想法,它随时可以发布文章。具体的要求如下:1).博主可以简单的添加和删除文章;2).独立于具体的数据库平台。对于与数据库交互的部分充分考虑兼容性;3).容易在原先基础上进行二次开发;4).中间基础平台的无型性。尽量采用开放的标准技术,达到跨平台运行的效果;为了达到以上的开发目的,个人博客应遵循一定的设计和开发与原则:1).模块接口定义清晰;2).基础类库和接口设计合理,尽量建立叮扩展的接口和抽象类;3).数据库操作使用标准SQL语句,如果一定要使用有差别的SQL语句,则尽量集中在一起,以减少将来维护和移植的难度;4).采用开放的标准和工具等;2.2系统的功能要求博客系统通常提供三类服务:1).信息服务,它可分为:文章显示,热点文章推荐,博主风采2).查询服务:可以根据文章容,文章标题,留言容,留言标题等进行模糊查询3).留言服务:游客可以对系统进行留言或发表看法意见在此,我参考现有的几大博客如QQ空间,新浪博客等,采用Browser/Server结构,将个人博客划分为两个子系统:前台,后台。下面分析各个子系统的功能需求。2.2.1前台在前台的功能实现上,可以分为以下几个部分:1).用户登录:用户用个人注册的,密码登录到。检测用户的,密码并给予其相应的权限对进行操作。2).用户注册:游客将个人的信息存储到博客的数据库中,以成为本博客的正式用户。3).用户修改个人信息:把已存储的用户信息用一个网页显示出来,方便用户对个人信息进行更新。4).文章查询和留言:用户可以检索或浏览博客中的文章同时给感兴趣的文章。5).公告信息查询:用户可以浏览中发布的公告信息,了解博客的一些情况。6).相片查询:用户可以对博客中的相片,图片等进行查询,浏览。2.2.2后台通过计算机网络将前台与后台的数据库相连,管理员将从前台得到的信息进行处理,实现文章管理,公告管理,投票管理,个人相册管理,朋友圈,用户设置及博主设置等子系统。1).文章管理:管理员对中已有的文章进行删除,更新等操作。2).公告管理:发布,删除,更改公告。3).投票管理:发起投票,统计投票等。4).个人相册管理:对博客相册中的图片进行删除,更新等操作。5).用户设置:更新普通用户对博客的操作的权限。6).博主设置:对博主的信息等进行操作。2.3系统的性能需求博客的特性要求博客系统需要具备以下几个主要特性:1).多样性:博客在设计时必须遵循的一个重要原则,就是以用户为系统设计的中心。网络的发展大大降低了信息咨询的成本,用户面临更多的选择,所以,博客除了降低成本以外,还必须在皮肤,功能的多样性上下工夫,才能够得到用户的认可。具体来说,应用系统应能实现用户特定的需求,操作界面友好、方便,功能设置符合用户的习惯和要求。2).易维护:管理员能够简单方便地管理系统,定义新的应用,并对系统进行日常维护;随着博客信息的变更或增加、数据规模的增大,系统升级、维护应易于操作;各子系统、功能模块的设计应具有良好的灵活性,保证在博客系统建设过程中后期系统功能的实现不影响前期已投入使用的系统功能。3).安全性:系统应充分考虑信息、设备、运行和管理的安全性,建立完善的多层次的安全保障体系,保证用户的个人信息等资料的数据安全。4).可扩展:博客的用户从事着各种行业,他们的需求各不相同,系统在设计时应充分考虑到用户需求不断变化的需要,降低系统在扩展新的业务功能时的复杂度。2.4系统的数据需求2.4.1系统的数据需求包括如下几点:1.数据录入和处理的准确性和实时性数据的输入是否准确是数据处理的前提,错误的输入会导致系统输出的不正确和不可用,从而使系统的工作失去意义。数据的输入来源是用户的手工输入。手工输入要通过系统界面上的安排系统具有容错性,并且对用户操作进行实时的跟踪和错误提示。在系统中,数据的输入往往是大量的,因此系统要有一定的处理能力,以保证迅速的处理数据。2.数据的一致性与完整性由于的数据是共享的,所以如何保证这些数据的一致性,是必须解决的问题。要解决这一问题,要有一定的人员维护数据的一致性,在数据录入处控制数据的去向,并且要求对数据库的数据完整性进行严格的约束。对于输入的数据,要为其定义完整性规则,如果不能符合完整性约束,应该拒绝该数据。3.数据的共享与独立性整个博客的数据是共享的。然而,从开发的角度上看,共享会给设计和调试带来困难。因此,应该提供灵活的配置,使各个分系统能够独立运行,而通过人工干预的手段进行系统数据的交换。这样,也能提供系统的强壮性。2.4.2系统的数据字典中的数据元素:名字:用户信息名字:用户信息别名:描述:用户的个人信息,用于对用户的确认和更新。定义:用户信息=**+密码+**+性别+工作单位+QQ+位置:输入到用户浏览器(前台)名字:名字:管理员信息别名:描述:管理员的个人信息,用于对管理员的确认和更新。定义:管理员信息=**+密码位置:输入到管理员浏览器(后台)名字:名字:评论信息别名:描述:对已有文章进行评论。定义:评论信息=评论题目+评论内容+评论日期位置:输入到用户浏览器(前台)名字:名字:朋友圈信息别名:描述:用户的个人信息,用于对用户的确认和更新。定义:朋友信息=**+QQ+说明位置:输入到用户浏览器(前台)名字:名字:文章类型信息别名:描述:用于对文章进行分类。定义:用户信息=类型名称+分类说明位置:输入到用户浏览器(前台)名字:名字:照片信息别名:描述:用户上传的照片,图片等。定义:照片信息=照片位置+照片说明+日期位置:输入到用户浏览器(前台)名字:名字:投票信息别名:描述:定义:投票信息=投票分类+投票数量位置:输入到用户浏览器(前台)2.5建立系统的约束个人博客做为Browser/Server结构的一个应用系统,不可避免的要受到Browser/Server结构的约束。在其实施的各个阶段都要服从它的一些规划,包括功能设计、系统配置和计划。2.5.1人力、资金、时间的约束个人博客实施的目标就是要为网络用户提供进行在线交流的网络平台,其开发过程中也要考虑到人力、资金和时间的约束。因此,在设计中,重点是博客系统中良好的人机交互界面,能提供给用户以优质高效的服务。2.5.2技术发展规律的约束计算机技术和产品的发展日新月异,将会给信息处理带来更多的手段,同时也会带来更加丰富的信息表达形式。例如图象和语音技术的进步,多媒体技术的发展,这些都要求博客在设计时考虑技术变化的可能性,为可能的变化预留一定的系统处理能力。第三章概要设计博客系统的总目标是:在计算机网络,数据库和先进的开发平台上,利用现有的软件,配置一定的硬件,开发一个具有开放体系结构的、易扩充的、易维护的、具有良好人机交互界面的博客,以达到个人推荐、展现自我的一个平台,为交流提供综合的网络环境,同时也为个人的宣传,发展,提供了一个平台。3.1系统体系结构基于B/S结构的个人博客系统,应由终端(用户主机/浏览器)、WEB服务器、数据服务器构成。个人博客的核心是中间的接入服务器和应用服务器部分。个人博客的总体结构图如图3.1所示:WEB服务器(webWEB服务器(webServer)数据用服务器PC图3.1博客总体结构3.2主要功能设计3.2.1主要功能模块1.博客注册登录管理模块.2.博客即文章检索查询模块.3.博客页面显示模块.4.博客管理模块.5.留言显示检索模块.系统实现的物理结构如图所示:注册登陆管理模块注册登陆管理模块文章检索查询模块页面显示模块留言显示检索模块管理模块图3.2系统各模块关系图3.2.2系统流程图前台:图3.3前台系统流程图后台:图3.4后台系统流程图3.2.3系统模块介绍1.博客注册登录管理本模块实现新用户注册,登录功能。其中,注册新用户时会对用户输入的注册信息进行有效的验证,包括基本数据格式的有效性,以及逻辑有效性,例如:用户名被占用时给出提示。注册成功登录时会对博客输入的信息进行提示,如用户名、密码错误。同时在注册时还用到了验证码技术,防止恶意注册!2.博客文章查询显示管理本模块用于帮助网络用户快速定位到自己关注的博客页面及对应的文章信息中。在本模块中提供了最新文章推荐,还提供了按容或标题等关键字快速查询所需文章信息3.发表文章管理该模块实现了博主发表新文章的功能。博主发表文章时,可以选择文章所属类别,此外只有是博主才能发表文章,对此进行了严格的身份验证。4.发表及显示评论管理该模块实现了与文章相关的评论管理。只有注册成本站用户才能对文章进行发表评论。5.留言显示及查询管理实现了查看用户留言和查询用户/文章的管理,用户可以检索或浏览博客中的文章同时给感兴趣的文章。3.3数据库设计一个设计良好的数据库,可以使系统的实现变得非常的简单。同时,也可以使系统的执行速度变得很快。反之,一个设计混乱的数据库,不仅增加了吸引的管理实现过程,同时在系统的执行过程中,使得检索变得很慢,降低效率。所以数据库的设计是一个系统设计很重要的步骤。根据系统功能设计要求和模块划分,本站的数据库主要有用户信息、文章信息、管理员信息、照片信息、文章类型信息、评论信息、投票信息、朋友圈视图。数据库的设计通常是以一个已经存在的数据库管理系统为基础的,常用的数据库管理系统有Access、SQLServer、Oracle、MySQL等。根据用户需求和系统分析,本系统采用SQLServer2000数据库管理系统。在SQLServer2000数据库管理系统中建立名称为博客的数据库。管理员信息表如图3.5:表3.5管理员表文章信息表如图3.6:图3.6文章表评论信息表如图3.7:图3.7评论表文章类型信息表如图3.8所示:图3.8文章类型视图用户信息表如图3.9所示:图3.9用户视图朋友圈信息表如图3.10所示:图3.10朋友圈视图照片信息表如图3.11所示:图3.11照片视图投票信息表如图3.12所示:图3.12投票视图3.4信息安全设计网络的开放性导致网络技术的全面开放,任何团体和个人都可以获得网络资源,因而网络所面临的破坏和攻击将会是多方面的,可以是对软件环境实施攻出,也可以是对硬件环境实施攻击。网络的国际性还意味着网络的攻击将不仅仅来自本地网络用户,它可能来自Internet上的任何一台机器。即,发起攻击的节点可以位于世界上任何地方。因此可以说,网络安全所面临的将是一个国际性全球化的挑战。网络的自由性意味着网络最初对用户的使用并没有提供任何的技术约束,用户可以自由地访问网络,自由地使用和发布各种类型的信息。用户只对自己的行为负责,而没有受到任何的法律限制。如何保护个人的信息不受木马和病毒的入侵,己成为信息安全化健康发展所要考虑的重要事情之一。博客用户个人信息的安全问题是至关重要的,制定切实可行的安全策略和实施有力的防手段是非常必要的。系统的安全体系由下述结构组成,如图4.13所示。图3.13系统的安全体系结构3.4.1网络安全Jsp技术虽然比较安全,但还是存在着很多安全上的问题的,客观的说,服务器软件的开发商在部测试中不可能将系统中的所有bug找出来,即使发布了软件后,被发现的漏洞也只会是其中的很小一部分,将来还会不断的有新的安全问题出现,所以我们必须时刻提高警惕。服务器的操作系统要打好补丁,进行安全权限的设置,并安装好防火墙,杀毒软件等,定时对数据进行备份。3.4.2其他安全环境安全是整个系统安全的基础,要把信息泄露的危险减至最低限度,需要选择适当的设施位置,要充分考虑水灾、地震、电磁干扰与辐射以及其他等人为威胁,保证净化电源等等。物理安全也是整个系统安全的基础设置之一,物理安全涉及以系统中微机和主机、服务器等资源的房间,必须进行严格的管理。第四章详细设计详细设计是整个系统设计中,最重要的一个步骤。下面对系统得主要模块进行详细的介绍。4.1首页面及主要页面设计主要页面如表4.1主要页面清单表所示:表4.1主要页面清单表文件名说明Inde*.jsp普通用户登录页面,用户只要输入已注册的和密码head_Consumer.jsp用户信息页面head_photoSelect.jsp相片查询页面head_consumerUpdate.jsp新用户注册页面head_disussForm.jsp评论信息查询页面back_PhotoInsert.jsp相片上传页面backMainPage.jsp系统管理页面head_e*plain.jsp满意监督中心页面head_main.jsp文章显示界面(包含文章搜索)4.2功能模块设计功能的详细划分如表4.2所示:表4.2功能详细划分表功能设计划分具体功能备注首页(head_main.jsp)通过点击不同的导航进入不同的页面文章(head_ArticleList.jsp)文章列表通过点击查看全文进入全文显示页面文章分页一页显示5篇文章发表留言点进进入留言页面加好友本功能暂未实现写文章只有管理员才能发表文章阅读数评论数发表评论只有注册为会员才能发表评论留言(head_disussForm.jsp)留言显示留言发表后台管理(adminmanager.jsp)用户管理可查看、删除用户文章管理可修改、删除文章留言管理进入留言页面进行留言管理相册(photo.html)存储相片,图片用户查看文章流程如图4.1所示:验证身份验证身份登陆查看文章,发表评论返回登陆或注册YN结束图4.1用户查看文章流程图2)管理员操作流程如图4.2所示:验证身份登陆执行管理员操作验证身份登陆执行管理员操作YN结束图4.2管理员操作流程图4.3系统实现本系统主要包括用户登录、用户注册、全部文章显示、文章详细信息查询、评论信息查询、相册、公告、系统管理(包括文章管理,评论信息管理,公告管理)、八大模块。以下是各功能模块的具体实现过程。整个系统的框架如图4.3所示。4.3.1博客前台首页head_main.jsp详细功能及部分代码1).用户个人信息2).显示文章的目录及文章部分容3).提供了文章的发表日期,阅读过此文章的人数和评论过的人数4).到达说明,公告,相片,博主的主5).网络日历6).最新公告的主要容7).进入投票界面的8).进入后台管理界面的博客系统的前台首页如下图4.4所示:图4.4个人博客系统首页主要代码如下:<title>前台-首页</title><%pagelanguage="java"import="java.util.*"%><styletype="te*t/css"><body><!--网页头部分--><jsp:includepage="head_top.jsp"flush="true"/>//调用head_top.jsp<tdheight="846"valign="top"background="images/head_07.jpg"> <!--登录用户部分--> <br> <jsp:includepage="head_Consumer.jsp"flush="true"/> <tablewidth="390"border="0"align="center"cellpadding="0"cellspacing="0"><tr><tdalign="center"><%Listlist=articleTypeDao.queryArticleType();for(inti=0;i<list.size();i++){ArticleTypeFormarticleTypeForm=(ArticleTypeForm)list.get(i);%><ahref="head_ArticleList.jsp"typeId=<%=articleTypeForm.getId()%>">[<%=articleTypeForm.getTypeName()%>]</a> <%}%></td></tr></table><%for(intarticleI=0;articleI<articleNumber;articleI++){ArticleFormarticleForm=(ArticleForm)articleList.get(articleI);StringarticleContent=articleForm.getContent();if(articleContent.length()>100){articleContent=articleContent.substring(0,100)+"...";}%>href="head_ArticleForm.jsp"id=<%=articleForm.getId()%>"class="head-02">阅读全文>></a></td></tr><tr><tdheight="17"align="right"><%=articleForm.getPhTime()%> | 阅读(<%=articleForm.getNumber()%>) | 回复(<%=restoreDao.queryRestore(articleForm.getId()).size()%>)</td></tr></table><divalign="right"class="style6"><hr></div><%}%></td><tdwidth="10"background="images/head_07.jpg"><imgsrc="images/head_08.jpg"width="13"height="846"></td><tdwidth="184"valign="top"> <!--右侧操作部分--> <jsp:includepage="head_right.jsp"flush="true"/></td><tdwidth="122"><imgsrc="images/head_10.jpg"width="122"height="846"></td></tr></table><!--网页尾部分--><jsp:includepage="head_down.jsp"flush="true"/>4.3.2评论信息查询head_disussList.jsp详细功能及部分代码评论信息查询模块显示了对博客中的文章的评论的详细容,日期等。通过从数据库调用评论信息编号,显示在页面上,点击查看全文可以查看全部评论容和发表评论时间。页面如4.5图所示:图4.5评论信息显示主要代码实现如下:<%pagecontentType="te*t/html;charset=gb2312"language="java"import="java.sql.*"errorPage=""%><jsp:directive.pageimport=".wy.form.DiscussForm"/><html><head><metahttp-equiv="Content-Type"content="te*t/html;charset=gb2312"><linkhref="CSS/style.css"type="te*t/css"rel="stylesheet"><title>前台-评论信息查询</title><%pagelanguage="java"import="java.util.*"%><styletype="te*t/css"><!--body{ background-image:url(images/bg_01.gif);}</style></head><jsp:useBeanid="discussDao"class=".wy.dao.DiscussDao"scope="page"></jsp:useBean><%DiscussFormdiscussForm=discussDao.queryDiscuss(Integer.valueOf(request.getParameter("id")));%><body><!--网页头部分--><jsp:includepage="head_top.jsp"flush="true"/><tablewidth="800"border="0"align="center"cellpadding="0"cellspacing="0"><tr><tdwidth="74"><imgsrc="images/head_06.jpg"width="74"height="846"></td><tdheight="846"valign="top"background="images/head_07.jpg"width="407"><%out.println("<br><palign=left>    <imgsrc=images/icon.gifwidth=10height=10>  "+discussForm.getDiscussTitle()+"</p>");%><tablewidth="373"border="0"cellspacing="0"cellpadding="0"><tr><tdheight="21"align="right"><%=discussForm.getDiscussTime()%></td></tr></table> <tablewidth="373"border="1"cellpadding="1"cellspacing="1"bordercolor="*FFFFFF"bgcolor="*fece62"><tr><tdvalign="top"bgcolor="*FFFFFF">    <%=discussForm.getDiscussContent()%></td></tr></table> <tablewidth="373"border="0"cellspacing="0"cellpadding="0"><tr><tdheight="48"align="right"><divalign="center"><ahref="*"onClick="javascript:history.go(-1);"><imgsrc="images/back.gif"></a></div></td></tr></table></td><tdwidth="10"><imgsrc="images/head_08.jpg"width="13"height="846"></td><tdwidth="184"valign="top"> <jsp:includepage="head_right.jsp"flush="true"/></td><tdwidth="122"><imgsrc="images/head_10.jpg"width="122"height="846"></td></tr></table><!--网页尾部分--><jsp:includepage="head_down.jsp"flush="true"/>4.3.3系统管理backMainPage.jsp详细功能及部分代码本模块是系统后台管理模块,管理员通过登录进入管理页面,可对前台信息进行修改、删除等操作。具体功能如下:1).发表博客文章及对文章类型等进行设置。2).设置公告的容及形式。3).设置投票的容及形式。4).设置个人相片的容及形式。5).朋友信息的容添加及设置。6).最新公告的主要容。7).用户信息,权限等设置。8).博主的个人信息的设置。如图4.7所示:图4.7系统管理页面主要代码实现如下所示:<title>博客天空-后台管理</title><body><jsp:includepage="back_Top.jsp"flush="true"/><tablewidth="800"border="0"align="center"cellpadding="0"cellspacing="0"><tr><tdwidth="227"valign="top"background="images/back1.gif"> <jsp:includepage="back_Left.jsp"flush="true"/></td><tdwidth="573"valign="top"background="images/back1.gif"><tablewidth="227"border="0"cellpadding="0"cellspacing="0"><tr><tdbackground="images/back1.gif"><imgsrc="images/back_noword_03.jpg"width="573"height="25"></td></tr></table><tablewidth="573"border="0"cellpadding="0"cellspacing="0"background="images/back_noword_05.jpg"><tr><tdvalign="middle"><tableborder="0"align="center"cellpadding="0"cellspacing="0"><tr><tdwidth="81"height="88"><imgsrc="images/article.jpg"width="81"height="72"></td><tdwidth="140"height="88"><ahref="back_ArticleAdd.jsp"class="aaaa">发表博客文章</a><br> <spanclass="style4">这里提供最方便的方式来发表你的博客文章,由你选择。</span></td><tdwidth="81"><imgsrc="images/review.jpg"width="81"height="72"></td><tdwidth="140"><ahref="back_DiscussAdd.jsp"class="aaaa">公告添加</a><br> <spanclass="style4">这里提供最方便的方式来发表你的公告,由你选择。</span></td></tr><tr><tdheight="76"><imgsrc="images/photo.jpg"width="81"height="72"></td><tdwidth="140"height="88"><ahref="back_PhotoInsert.jsp"class="aaaa">相片添加</a><br><spanclass="style4">这里提供最方便的方式来上传你的照片,由你选择。</span></td><td><imgsrc="images/vote.jpg"width="81"height="72"></td><tdwidth="140"><ahref="back_VoteAdd.jsp"class="aaaa">投票容添加</a><br><spanclass="style4">这里提供最方便的方式来设置你的投票容,由你选择。</span></td></tr><tr><tdheight="74"><ahref="ConsumerServlet"method=4"><imgsrc="images/manager.jpg"width="81"height="72"></a></td><tdwidth="140"height="88"><ahref="ConsumerServlet"method=4"class="aaaa">博主设置</a><br><spanclass="style4">这里提供最方便的方式来设置你自己的个人信息,由你选择。</span></td><td><ahref="back_FriendAdd.jsp"><imgsrc="images/friend.jpg"width="81"height="72"></a></td><tdwidth="140"><ahref="back_FriendAdd.jsp"class="aaaa">好友添加</a><br><spanclass="style4">这里提供最方便的方式来设置你好友信息,由你选择。</span></td></tr><tr><tdheight="94"><ahref="ConsumerServlet"method=4"><imgsrc="images/account.jpg"width="81"height="72"></a></td><tdheight="94"colspan="3"><ahref="back_consumerSelect.jsp"class="aaaa">用户设置</a><

温馨提示

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

评论

0/150

提交评论