个人博客系统项目毕业设计论文_第1页
个人博客系统项目毕业设计论文_第2页
个人博客系统项目毕业设计论文_第3页
个人博客系统项目毕业设计论文_第4页
个人博客系统项目毕业设计论文_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

1、本科毕业设计论文名称:个人博客系统考生姓名:考生地市:滨州市档案号:联系地址:山东省滨州学院邮编:256600个人博客系统摘要对个人而言,博客可以调动个人的积极性,充分发挥个人的创造性。近些年,国内博客开始迅猛发展起来,从最初的只有几千个使用者到现在的各式各样的博客,圈子。博客系统致力于为广大用户提供优质的互动交流平台,提高网站的知名度与访问量,从而获得为企业提供更多产品介绍及展示的机会,提升自己网站的价值。论文首先论述了系统的开发背景与设计目标,并对系统开发所采用的技术进行相应的简单介绍。在系统分析中,对系统的模型进行简单分析,明确系统的操作流程,并对系统进行可行性分析,确定在目前的条件下,

2、开发博客信息管理系统就是可行的。在需求分析结果的基础上,对系统的功能模块进行划分。接着对系统中的数据库进行模型设计,包括数据流图、实体联系图及数据表结构。在系统的设计与实现中,确定系统的开发思想以及开发环境,并对系统中的JavaBean与Servlet代码进行设计。最后给出了系统中模块的详细设计与实现,并对系统模块涉及到的关键源代码进行了详细的分析。经过调试运行后表明,系统可以满足用户创建个人博客的各项要求。关键字:博客,MVC,知识共享,信息管理系统目录第一章系统概述41、1概述41、2系统的开发背景41、3个人博客的发展现状41、4课题研究的意义51、5系统的开发目标5第二章系统分析62、

3、1系统需求分析62、2、1注册博友72、2、2普通用户82、 3系统分析92、 4、1技术可行性10第三章开发环境的说明与安装113、 1开发语言的选择113、 1、1JAVA简介113、1、2Web应用程序开发环境一JSP技术113、 2数据库的选择123、 2、1Web应用程序应发环境SQLserver数据库123、 3应发工具的选择13第四章系统设计144、 1应发框架技术介绍144、 2数据库设计E-R图154、 3功能模块介绍164、 3、1博客注册登录管理模块164、 3、2博客及文章检索查询模块165、 3、3博客页面显示模块174、 3、4博客个人维护管理模块174、 4系统分

4、析174、 4、1系统架构说明185、 4、2实现DAO层196、 4、4部署DAO层20第五章数据库设计205、 1定义(数据词典)205、 2主要表结构如下20第六章主要功能的实现216、 1登录控制:217、 2用户登录228、 3注册用户239、 4Ajax读取txt格式数据2710、 5系统架构与数据库的连接28第七章系统评价29附:主要参考资料:30第一章系统概述1、1概述“博客”(Blog或Weblog)一词源于“WebLog(网络日志)”的缩写,就是一种十分简易的傻瓜化个人信息发布方式。任何人都可以像使用免费电子邮件一样,完成个人网页的创建、发布与更新。博客就就是开放的私人空间

5、,可以充分利用超文本链接、网络互动、动态更新等特点,在网络中,精选并链接全球互联网中最有价值的信息、知识与资源;也可以将个人工作过程、生活故事、思想历程、闪现的灵感等及时记录与发布,发挥个人无限的表达力;更可以以文会友,结识与汇聚朋友,进行深度交流沟通。1、2系统的开发背景博客的精神就是:自由表达,开放宽容,个性张扬,专业精神。在没有自己的博客之前,人们会经常进出于论坛发表贴子或者通过即时通信软件聊天,来表达自已的想法,可就是这些都就是零散的与杂乱的。博客的出现,让人们可以不断的把自己以前的与每天激发的一些想法或者感受整理放在自己的博客上,每次在写文章的时候,可能又会产生新的想法。虽然一些想法

6、一些思考只就是皮毛,没有什么深度,但就是当下笔去写的时候每次都会对某个小小的问题有了更多的一点点思考,再写博客的时候就感觉到了一种满足感,一种想法得以释放思考得以延伸的满足感。生活中每天的一个小小的事情都会引起人们的思考,甚至就是与朋友的聊天中一个小小的火花迸发。督促自己努力、把一时的想法变成观点,争取在生命中的每天里留下点什么,这也就是人们写博客的目的之一。这样就能督促自己每一天不要浑浑噩噩,时光流逝无痕无声无息,写博客也就是在自己的每一天上留下了一道浅浅的思考与划痕。1、3个人博客的发展现状2006年,全球中文博客站点数量达到5230万,博客用户数达到1987万,平均每个博客用户拥有大约2

7、、6个博客,博客站点数与博客用户数均比前一年有一定程度的增长,人均拥有博客数与前一年相比也略有上升。2006年,拥有独立域名的博客站点,在博客站点总数中占约0、43%,这表明,绝大多数的用户将博客服务商作为她们的博客站点首选。而这一年,中国大陆博客服务商(BSP)持续大幅增长,博客服务商数量达到1460家,与去年同期相比增长近55%;大型网络公司如搜狐、百度纷纷推出相应的博客服务,而新兴的博客服务站点如51、com也开始崭露头角。过去一年中,中国博客发展速度整体趋缓,博客用户增长数较之去年有小幅上升,博客服务商之间的市场竞争日趋激烈,与早期提供博客服务的运营商相比,传统门户及大型公司的博客服务

8、已占据市场主导地位。总体而言,2006年中国博客发展呈现5大特点:专业博客如医药类、教育类等增长较快,博客圈成为社区发展新方向;博客服务商(BSP)死亡比例逐渐增高,2005年Top100服务商中,近20%勺站点已经关闭或终止服务;博客服务商(BSP)开始逐渐支持手机访问与发贴,发展迅速;综合博客服务商(BSP)增长很快,越来越多的服务商开始提供音频、视频博客等功能;利用博客进行排名作弊的站点越来越多,06年出现爆炸性增长,其中小型博客服务商(BSP)尤为突出。现今,博客网站已经由06年的风风火火变的平淡,通过各种方式融入了我们的生活,成为了我们表现自己的主要方式。它们大部分就是由简短而且经常

9、更新的帖子构成,所有文章都就是按照年份与日期排列。瞧上去平淡无奇,毫无可炫耀之处,但它让每个人零成本、零维护地创建自己的网络媒体,每个都可以随时把自己的思想火花与灵感更新到博客站点上。个人博客目前面临的主要问题:由于文化市场监督的不利,势必会造成一些淫秽的内容广泛传播于网路,这就需要文化部门的有力监督。1、4课题研究的意义随着Blog人数的增加,Blog作为一种新的生活方式、新的工作方式与新的学习方式已经被越来越多的人所接受,并且在改变传统的网络与社会结构。它使交流与沟通更有明确的选择与方向性;单一的思想与群体的智慧结合变得更加有效;个人出版变成人人都可以实现的梦想。Blog正在影响与改变着我

10、们的生活。本系统采用MVC莫式设计实现了一个简单的博客系统。MVC莫式极大地提高了系统的灵活性、复用性、开发效率、适应性与可维护性,充分发挥了JSP、Servlet等J2EE组件的特点。从而,使更多的人们通过文字、图片、声音、视频、无线等,尽情展示自我、分享感受、参与交流,美好您我生活。人人都可以博客,人人都需要博客。1、5系统的开发目标管理员通过前台页面进入后台管理模块后,可对注册的博客用户进行维护,包括对注册用户的添加、查找、修改与删除。管理员进入登录后,可对帐户进行管理,包括添加管理员帐户、修改管理员帐户、删除管理员帐户与对帐户进行权限设置。博客用户通过前台登录后,可对自己的博客空间进行

11、管理,包括发布自己的网络日志、收藏个人图片、与相关人员进行交流与沟通以及删除访问者发表的评论等。因此,在具体设计实现该博客网站时,主要考虑了主流博客网站的几个主要功能:(1)博客的注册、登录验证功能(2)网络用户通过关键字搜索博文功能(3)最热门博客页面推荐浏览(4)文章详细内容及相关评论显示(5)博客页面访问量统计(6)博客个人文章管理维护功能(7)博客个人文章分类管理维护功能(8)博客个人友情链接维护功能(9)博客个人基本信息管理维护功能(10)博客图片上传及个人相册管理(11)网络用户写留言,博主查瞧留言。第二章系统分析2、 1系统需求分析用例图用来描述系统与参与者之间的相互作用,与用例

12、图相关的几个概念:a) 角色:代表了某一事件发生的参与者,用一个小人表示。b) 用例:代表系统可以实现的功能,通常一个用例代表一组功能,实质上规定了系统实现功能范围。c) 用例图:当角色与用例发生某种关系时,就可以用一个图将它们关联起来,这就就是用例图。博客信息管理系统允许用户有三种身份:博客访问者、博客管理员及系统管理员。博客系统参与者中每种身份操作起来都很方便、快捷。博客访问者无需登陆就可以浏览信息、发表评论或留言;博客管理员注册后再登陆,就可以发布日志、管理个人主页;而博客管理员的基本信息都由系统管理员对其统一管理。博客信息管理系统用例图如图2、1所示。图2、1Blog网站主要就是实现注

13、册用户登录、管理相关信息、博文及相关评论、查瞧留言、友情链接、及图片的上传与图像的播放而为上网用户提供按博文主题搜索,查瞧注册用户的博文及提出相关评论,并为注册用户写留言,游览注册用户的相册、注册等功能的系统。卜面就以两种不同的用户来分析博客网站的需求。2、2、1注册博友首先必须在博客首页中登录填写用户名与密码,这样才能执行一些相关操作,不然就就是普通用户只能查瞧一些信息,而不能发表博文。可以在管理页面上添加博文的分类,可以上传图片与游览自己的相册图2、2博客管理页面的用例图在博客主界面中发表博文日可以选择博文类型,这样可以更好管理自己的博文。并查瞧与删除网友对自己的博文的一些评论、查瞧与删除

14、网友留下的一些留言,提供与其她网友交流的空间。更好交流,在信息时代人们通过个人空间沟通也用来但不能在自己的博客主页面中提交评论与留言。这样在本系统中就可以为博友提供更多的个人色彩。在管理页面中添加与删除友情连接。这样博友可以在自己空间中快速定位自己的关心的网站。这样还可以让网友瞧到自己的一些信息。友情链接及网页访问量统计显示:在博客的个人页面中还提供了推荐给普通网络用户的相关友情链接,此外,对个人页面的访问量也在随时进行统计,并在个人页面中进行直观的显示。2、2、2普通用户在博客注册页面注册成为博客的注册用户,才可以拥有自己独立的空间,进入某一博客页面查瞧相关文章信息时,可以随时对自己所感兴趣

15、的文章发表评论,同时也可以查瞧到其她人针对该博文的评论。普通用户在阅读博文时可以在最后留下自己的一些评论。她也可以留下更多的信息。这样她可以写留言。这样她留下的信息就更快地被博友所瞧到。普通用户进入博友的用例图如图2、4所示:图2、4上网博友在博客主页面的用例图普通网友可以搜索自己关心的一些数据。并且在搜索结果中提供在结果范围内再次搜索。这样就可2、3系统分析在整个blog进行开发之前,要确定出整个项目的整体架构,包括系统的选型、运行环境的确定及系统结构设计。下面对这进行详细介绍。在进行软件系统开发的最初环节,一般都需要进行系统的选型,即根据系统功能的实际需求,选择合适的开发工具及软件架构。b

16、log对系统的可靠性、稳定性有比较高的要求。本系统设计时,比较主流的B/S设计有基于JSRASPPHPCGI及J2EE等模式。相比较而言PHP的功能相对简单,不适合做大程序;而CGI效率相对较低,所以也不考虑。由于J2EE的开源的框架中提供了MVC模式实现框架Struts、对象关系模型中的Hibernate的框架及拥有事务管理与依赖注入的Spring。利用现存框架可以更快开发系统。所以选择Java技术作为blog的开发工具。为了增加系统的吞吐量,提高并发处理客户请求数量,系统采用了IBM服务器作为主机。在数据库处理方面,不需要在数据层借助存储过程及数据库服务器端函数封装过多的业务逻辑,因此数据

17、库系统采用相对精巧的MySQL。该在线博客系统服务器端如果需要布置到其她主机上,则该主机必备条件如下:1.服务器端操作系统:独立于操作系统的跨平台系统,客户端MicroSoftWindows2000及以上;2、数据库:MySQL5、0、27版本;3、Web服务器:Tomcat5、5及以上版本,配合MVC3:计模式及Hibernate开发架构;4 、客户端运行环境:能运行IE5以上或Netscape5以上浏览器的操作系统,配合使用Ajax技术;5 、客户端运行工具:目前的系统采用浏览器作为客户端,为了支持Ajax开发框架,应该选择使用IE5以上版本浏览器。本网站以xp为Web平台,JSP+Aja

18、x+Servlet+JavaBean+Hibernate为网站实现技术,建立基于MySQ改据库系统的核心动态网页,实现博客网站前台及博客个人维护管理等功能模块。2、4系统的可行性分析2、4、1技术可行性技术上的可行性分析要考虑将来要采用的硬件与软件技术能否满足用户(这里就是服务器,网速)提出的要求(如计算机的容量、速度等)。此外,还要考虑开发人员的水平,学习了两年的jsp开发,对于这个系统的编写,我想完整的之需要两个月就可以写出程序,再花上几天的调试,计划两个月左右就可以完成投入使用了。1、 我们掌握了数据库及其应用技术、数据库原理、计算机网络技术等课程,对数据库的设计、应用、维护及局域网的组

19、成有了深刻的认识与一定的动手实践能力,考取了信息处理、程序设计、数据库技术等国家IT认证。从一定程度上具备了开发一个小型系统的能力。再有就系统处理的准确性与及时性:系统处理的准确性与及时性就是系统的必要性能。在系统设计与开发过程中,要充分考虑系统当前与将来可能承受的工作量,使系统的处理能力与响应时间能够满足信息处理的需求。2、 系统的开放性与系统的可扩充性:系统在开发过程中,应该充分考虑以后的可扩充性。例如数据表中用户选择字段方式的改变,用户查询的需求也会不断的更新与完善。所有这些,都要求系统提供足够的手段进行功能的调整与扩充。而要实现这一点,应通过系统的开放性来完成,既系统应就是一个开放系统

20、,只要符合一定的规范,可以简单的加入与减少系统的模块,配置系统的硬件。通过软件的修补、替换完成系统的升级与更新换代。3、 系统的易用性与易维护性:要实现这一点,就要求系统应该尽量使用用户熟悉的术语与中文信息的界面;针对用户可能出现的使用问题,要提供足够的在线帮助,缩短用户对系统熟悉的过程。4、 系统的数据要求:(1)数据录入与处理的准确性与实时性。(2)数据的一致性与完整性。(3)数据的共享与独立性。2、 4、2经济可行性主要从对项目的经济上进行分析评价,一方面就是支出的费用,包括设备购置费、管理与维护费用、人员工资与培训费等,另一个就是取得的收益。这就是个小型的系统,从投入的人力,财力与物力

21、来讲就是非常小的,发布出去之需要注册域名就可以了,从节省人力方面,可以让管理人员从繁与复杂的工作中解脱出来,做更多的工作。第三章开发环境的说明与安装3、 1开发语言的选择4、 1、1JAVA简介Java就是Sun司推出的新的一代面向对象程序设计语言,特别适合于Internet应用程序开发。Java的产生与流行就是当今Internet发展的客观要求,Java就是一门各方面性能都很好的编程语言,它的基本特点就是简单、面向对象、分布式、解释的、健壮的、安全的、结构中立的、可移植的、性能很优异的、多线程的、动态的,特别适合在Internet环境上开发的应用系统。3、1、2Web应用程序开发环境一JS戈

22、术JSP的全称就是JavaServerPages,它就是SUN!出的一种动态网页技术标准。它在传统的静态页面文件(*、html,*、htm)中加入JAV倒序片段与JS刖记,就构成了JSFM面。JSPM有以下的优点1、将业务层与表示层分离:使用JS限术,网络开发人员可充分使用HTM来设计页面显示部分(如字体颜色等),并使用JSPf令或者JAVA程序片段来生成网页上的动态内容;2、能够跨平台:JSP支持绝大部分平台,包括现在非常流行的LINUX系统,应用非常广泛的Apache服务器也提供了支持JSP的服务;3、组件的开发与使用很方便:如ASP勺组件就是由C+,VB?语言开发的,并需要注册才能使用;

23、而JSP的组件就是用Java开发的,可以直接使用;4、一次编写,处处运行:作为JAV所发平台的一部分,JSP具有JAVA勺所有优点,包括Writeonce,Runeverywhere、3、 2数据库的选择4、 2、1Web应用程序开发环境SQLserver数据库SQLServer就是由Microsoft开发与推广的关系数据库管理系统(DBMS),它最初就是由Microsoft、Sybase与Ashton-Tate三家公司共同开发的。SQLServer2000就是Microsoft公司于2000年推出的最新版本。SQLServer特点:1. 真正的客户机/服务器体系结构。2. 图形化用户界面,使

24、系统管理与数据库管理更加直观、简单。3. 丰富的编程接口工具,为用户进行程序设计提供了更大的选择余地。4.SQLServer与WindowsNT完全集成,利用了NT的许多功能,如发送与接受消息,管理登录安全性等。SQLServer也可以很好地与MicrosoftBackOffice产品集成。5.具有很好的伸缩性,可跨越从运行Windows95/98的膝上型电脑到运行Windows2000的大型多处理器等多种平台使用。6.对Web术的支持,使用户能够很容易地将数据库中的数据发布到Web页面上。7.SQLServer提供数据仓库功能,这个功能只在Oracle与其她更昂贵的DBMM才有。SQLSer

25、ver2000与以前版本相比较,又具有以下新特性:1 .支持XML(ExtensiveMarkupLanguage,扩展标记语言)2 .强大的基于Web的分析3 .支持OLEDB与多种查询4 .支持分布式的分区视图安装、运行SQLServer2000的硬件需求(1) 计算机Inter及其兼容计算机,Pentium166Mz或者更高处理器或DECAlpha与其兼容系统。(2) 内存(RAM)企业版最少64MB内存,其她版本最少需要32MB内存,建议使用更多的内存。(3) 硬盘空间完全安装(Full)需要180MB的空间,典型安装(Typical)需要170MB的空间,最小安装(Minimum)需

26、要65MB的空间。3、 3开发工具的选择MyEclipse,Deamweare,选择SQLserver作为后台的数据库,选择JAVA、JSP、JavaScript、Html作为应用程序开发工具,运用Tomcat服务器技术,整个系统完全基于B/S(Browser/Server)模式进行设计。1 、Tomcat应用服务器目前支持JSP的应用服务器就是较多的,Tomcat就是其中较为流行的一个Web服务器,被JavaWorld杂志的编辑选为2001年度最具创新的Java产品,可见其在业界的地位。Tomcat就是一个免费的开源的Serlvet容器,在Tomcat中,应用程序的部署很简单,您只需将您的W

27、AR放到Tomcat的webapp目录下,Tomcat会自动检测到这个文件,并将其解压。您在浏览器中访问这个应用的Jsp时,通常第一次会很慢,因为Tomcat要将Jsp转化为Servlet文件,然后编译。编译以后,访问将会很快。Tomcat也具有传统的Web服务器白功能:处理Html页面。但就是与Apache相比,它的处理静态Html的能力就不如Apache。我们可以将Tomcat与Apache集成到一块,让Apache处理静态Html,而Tomcat处理Jsp与Servlet。Tomcat就是一个很好的工具,不仅仅因为其免费,功能强大,更因为其开放性,越来越受到人们的重视。2 、B/S开发模

28、式伴随着Internet的迅速发展,计算机技术正在由基于C/S(client/Server)模式的应用系统转变为基于B/S模式的应用系统。过去,网络软件的开发都采用C/S(client)模式,在这种模式下,主要的业务逻辑都集中于客户端程序,因此,必然导致以下问题:系统安装、调试、维护与升级困难。由于客户端的硬件配置可能存在差异,软件环能各不相同,因此,在安装时,必须对每一个客户端分别进行配置,同样,在软件升级时也要对客户端分别处理。3 、B/S模式带来了巨大的好处:开发成本及维护成本降低。由于B/S架构管理软件只安装在服务器端(Server)上,即应用程序在部署、升级、维护时,只需要在服务器端

29、进行配置就可以了,网络管理人员只需要管理服务器就行了,用户界面主要事务逻辑在服务器(Server)端完全通过WW浏览器实现,极少部分事务逻辑在前端(Browser)实现,所有的客户端只有浏览器,网络管理人员只需要做硬件维护。良好的安全性能,防火墙技术可以保证后台数据库的安全性。所有的配置工作都集中在服务器端且所有客户端请求都就是通过DBMSB访问数据库,从而大大减少了数据直接暴露的风险。第四章系统设计4、 1开发框架技术介绍对于框架技术,我们采用Struts+ajax的整合!Struts就是应用比较广泛的一种表现层框架1 、Struts就是一个为开发基于模型(Model)视图(View)控制器

30、(Controller)(MVC)模式的应用架构的开源框架,就是利用Servlet,JSP与customtaglibrary构建Web应用的一项非常有用的技术。由于Struts能充分满足应用开发的需求,简单易用,敏捷迅速。它使用服务层框架可以将JavaBeans从Jsp/Servlet中分离出来,而使用表现层框架则可以将Jsp中剩余的JavaBeans完全分离,这部分JavaBeans主要负责显示相关信息,一般就是通过标签库(Taglib)实现,不同框架有不同自己的标签库,Struts就是应用比较广泛的一种表现层框架。2 、Ajax我们主要应用就就是xmlhttprequest,回调函数实现局

31、部刷新达道数据更新。4、2数据库设计E-R图为了把用户的数据要求清晰明确地表达出来,通常要建立一个概念性的数据模型。概念性数据模型就是一种面向问题的数据模型,就是按照用户的观点来对数据与信息建模。描述了从用户角度瞧到的数据,反映了用户的现实环境。最常用的表示概念性数据模型的方法,就是实体一联系方法(EntityRelationshipApproach)。这种方法用ER图描述现实世界中的实体,而不涉及这些实体在系统中的实现方法。用这种方法表示的概念性数据模型又称为ER模型。ER模型中包含“实体”,“联系”与“属性”。博客信息管理系统涉及的实体包括:a)用户:用户昵称、用户性别、登录密码、注册时间

32、、所属的用户组ID、用户email、QQ号码、用户MSNb)博友:博友ID、博友昵称、类别描述、用户名、登录密码。c)日志:日志ID、日志所属的分类ID、日志作者ID、标题、内容、发表日期、浏览次数、评论数、日志属性(1、公开2、锁定3、隐藏日志4、草稿)。综合本系统各子模块要实现的功能,通过前面对博客信息系统数据的分析可以得到:用户表、博友表、日志表的数据库概念模型(E-R图)。用户E-R图如图4、1所示。用户email g用户组ID X 注册时间U 7"X /QQ号码工/用户MSN)一用户/图 4、1日志类别E-R图如图4、2所示。类别描述 )/ C登录用户名Q登录皆码pZ,即京

33、 2日志E-R图如图4、3所示。 、 日志内容一一彳发表日期、J浏览次数Xyj / /JF /(登录密码)-、用户性别 )( 用户昵称,博友昵称 、广博友IDy- 日志标题作者 ID)7/4、3功能模块介绍4、3、1博客注册登录管理模块博客注册登录管理模块用于建立博客网站固定的客户群体,通过记录对应的博客档案,实现对博客信息的后台维护及管理,同时也便于通过博客档案库将网站最新动态及相关企业的信息方便地传达给每一位潜在的客户。该功能模块实现了以下几个子功能。(1)新博客在线注册。(2)博客登录管理。(3)跳转到博客主页。只有进行登录并通过身份验证的用户,才可以在个人博客页面发表日志,并借助个人设

34、置实现对个人博客相关信息的管理维护。对于没有经过身份验证的网络用户不允许在博客页面中发表日志,更不允许对博客页面信息进行管理维护。该模块实现新博客的注册及登录验证功能。其中,注册新博客时会对用户输入的注册信息进行有效性验证,包括基本数据格式的有效性以及逻辑有效性,例如,用户名被占用时将及时给出提示。注册成功的博客登录时,会随时根据博客输入的登录信息进行提示,如用户名错误或者密码错误。4、3、2博客及文章检索查询模块博客及文章检索查询模块为网络用户提供便捷的搜索,以及日志阅读浏览等功能,同时对日志的评论信息、博客推荐也能够及时反馈给网络用户。该功能模块实现了以下几个子功能。(1)热门博客页面推荐

35、。(2)最新博客日志推荐。(3)日志信息关键字搜索。该模块能够在网页中随时提供在线的最新日志信息。该信息需要定期更新,网络用户可以随时获得最新日志以及最热门的博客推荐。在客户选择了某个博客或者某个感兴趣的日志后,可以方便地跳转到对应博客页面进行日志的阅读,并与博客进行交流互动。为了使网络用户尽快定位到所需的博客资料及日志信息,本模块提供了搜索功能,用户可以对所关注的日志信息按照标题进行关键字搜索,以避免用户浏览多个页面来寻找所需的日志信息。4、 3、3博客页面显示模块当网络用户进入某个人博客主页后,在该页面中将提供博客日志列表的显示,同时为了方便用户浏览,在该模块中提供根据分类名进行日志列表的

36、显示,也提供日志评论的浏览,此外还允许用户在博客页面中发表评论及留言。该功能模块实现了如下几个子功能。(1) 用户可以分页查瞧对应的日志内容及评论信息。(2) 用户可以针对日志内容发表评论。(3) 用户可以针对博客进行留言。(4) 用户可以分类查瞧日志内容。在该模块中还提供了博客页面统计信息,日志、评论及留言信息分页显示等方便用户的显示效果。4、 3、4博客个人维护管理模块博客个人维护管理模块用于实现用户对博客个人主页及相关信息的动态管理。该功能模块实现了如下几个子功能:(1) 日志及日志分类管理。(2) 评论及留言管理。(3) 个人基本信息维护管理。借助该模块,用户可以随时对个人博客主页中的

37、内容进行增加或修改,包括日志分类信息的更新、评论及留言管理等功能,也允许用户对博客的个人信息进行维护及其管理。4、4系统分析本系统采用严格的J2EE应用结构,主要有如下几个分层。1、表现层:由JSP页面组成。2、MVC层:使用Struts框架。3、业务逻辑层:主要由SpringloC容器管理的业务逻辑组件组成。4、DAO层:由7个DAO组件组成,实现类必须继承Spring提供的HibernateDaoSupport。5、Hibernate持久层:由7个PO组成,并在HibernateSession管理下,完成数据库访问。6、数据库服务层:使用SQLServer数据库存储持久化数据。系统的具体分

38、层如图4、4所示。图4、4黑色大方框内的MVC控制层、Service层及DAO组件层的组件,都由SpringIOC容器负责生成,并管理组件的实例(实例必须就是单身模式的,本系统中的bean基本上就是单身的)。4、4、1系统架构说明本系统不仅严格按MVC模式设计,还按J2EE分层设计,将中间层严格分成业务逻辑层、DAO层及数据持久层等。MVC层的控制器绝对禁止持久层访问,甚至不参与业务逻辑的实现。表现层采用传统JSP技术。本系统采用的就是典型的J2EE三层结构,分为表现层、中间层(业务逻辑层)与数据服务层。三层体系将业务规则、数据访问及合法性校验等工作放在中间层处理。客户端不直接与数据库交互,而

39、就是通过组件与中间层建立连接,再由中间层与数据库交互。Jsp广泛的应用与稳定的表现,为其作为表现层技术打下了坚实的基础。中间层采用的就是流行的Spring+Hibernate,为了将控制层与业务逻辑层分离,又细分为以下几种。Web层,就就是MVC模式里面的C,负责逻辑层与表现层的交互。调用业务逻辑层,并将业务数据返回给表现层作组织表现,该系统的MVCI用Struts框架。Service层(就就是业务逻辑层),负责实现业务逻辑。业务逻辑层以DAO层为基础,通过对DAO组件的正面模式包装,完成系统所要求的业务逻辑。DAO层,负责与持久化对象交互。该层封装了数据的增、删、查、改的操作。PO,持久化对

40、象。通过实体关系映射工具将关系型数据库的数据映射成对象,很方便地实现以面向对象方式操作数据库,该系统采用Hibernate作为ORM框架。Spring的作用贯穿了整个中间层,将Web层、Service层、DAO层及PO无缝整合,其数据服务层用来存放数据。通过使用Hibernate持久层,可以避免使用传统的JDBC操作数据库,对JDBC近一步包装,从而更好地使用面向对象的方式来操作数据库。保证了整个软件开发过程以面向对象的方式进行,即面向对象分析、设计及编程,透过Hibernte对PO对象持久化操作,不管插入还就是查询都就是通过PQ4、4、2实现DAO层DAO还有助于提升系统的可移植性。独立的D

41、AO层使得系统能在不同的数据库之间轻易切换,底层的数据库实现对于业务逻辑组件就是透明的。数据库移植时仅仅影响DAO层,不同数据库的切换不会影响业务逻辑组件,因此提高了系统的可复用性。对于不同的持久层技术,Spring的DAO提供一个DAO模板,将通用的操作放在模板里完成,而对于特定的操作,则通过回调接口完成。Spring为Hibernate提供的DAO支持类就是:HibernateDaoSupport。4、4、3DAO组件的定义DAO组件提供了各持久化对象的基本的CRUD操作。而在DAO接口里则对DAOI且件包含的各种CRUD方法提供了声明,但有一些IDE工具也可以生成基本的CRU出法。使用D

42、AO接口的原因就是:避免业务逻辑组件与特定的DAO且件藕合。由于DAO组件中的方法不就是开始就设计出来的,其中的很多方法可能会随着业务逻辑的需求而增加,但以下几个方法就是通用的。?get:根据主键加载持久化实例。?saveorupdate:保存或更新持久化实例。?remove:删除持久化实例。上面涉及了7个PO,这样我们必须设计7个对应的PODao7个Dao必须继承BaseDao这个BaseDao有对接口的一些基本的CURD操作。7个Dao如下。LinksDao,BlogDao、FeedBackDao、ArticleDao、MessageDa。SortDao、PictureDao。这7个Dao

43、分别封装对自己的持久化对象的一些操作。4、4、4部署DAO层HibernateDaoSupport类只需要一个SessionFactory属性,即可完成数据库访问。SessionFactroy创建Session,而数据库的CRUDI作都就是有Session完成,并将查询结果保存在一级缓存中,每次用户提交一次会话,可能需要Session完成一些数据库的操作而实际的数据库访问由模板类HibernateTemplate完成,该模板类提供了大量便捷的方法,简化了数据库的访问。第五章数据库设计5、1定义(数据词典)1、数据库表名的定义使用:重点字_table;重点字可以就是多个英文单词的组合,从组合的第

44、二单词起首字母大写,字段命名就是能表达字段内容的英文单词的组合,组合方式同表名重点字相同。2、NN表示notnull不填表可为空。3、数据类型不使用固定数据库的类型,标识大众类型,如字符串、字符、数字等。这样在更改数据库时需求的数据就是可移植的4、输写数据表在数据库中的物理名称,可用自己熟悉的语言再定义表名称,方便沟通。5、长度定义又数据类型决定:如字符串可选8000以下,数字可在50位之间,字符只允许一位。6、输入方式表示数据的来源:生成表由程序或数据库的索引自动生成,而不需人工录入;输入表示通过文本框等输入的数据;选择表单选框、复选框、下拉列表等通过选择输入的数据;自定获取就是为外码的输入

45、设定的,它由程序自动获取。5、2主要表结构如下1.表blogs日志数据表字段名说明blogidInt(10)日志的IDtitletext日志标题pubtimeInt(11)日志发表时间authoridInt(8)日志作者的IDrepliesInt(8)日志的评论数tbsInt(8)日志的trackback数viewsInt(8)日志的查瞧次数categoryInt(3)日志所属的分类的IDcontentmediumtext日志正文内容propertyInt(1)日志的属性0公开日志1锁定日志2隐藏日志3一般草稿2、表user博友登陆信息表字段名;回说明useridInt(10)博友IDnich

46、engText博友在博客里的称呼usernametext登陆时的用户名passwordtext登陆密码3、表register用户数据表字段名回说明useridInt(8)登陆时需要用到的用户名usernametext用户昵称userpwdInt(8)登陆密码regtimeInt(11)注册时间usergroupInt(2)所属的用户组IDemailtext用户emailqqtextQq号msntext用户msngendertext用户性别第六章主要功能的实现6、1登录控制:if(this、session。、getAttribute("rand")!=null)/检验随机数就

47、是否为空if(this、checkCode、equals(this、session。、getAttribute("rand")toString()/比较随机数uservo=userbo、queryUserBylNfo(uservo);/检验用户信息并将信息返回if(uservo!=null)/瞧用户就是否存在this、setUserpurview(uservo、getPurviewId();设置用户权限this、session。、setAttribute("user",uservo);/将用户信息放在session中returnSUCCESS;/返回用户

48、主界面页面elsereturnERROR;返回到失败页面elsereturnERROR;elsereturnERROR;界面如下:»对不起,您没有权服访问本页面I”Sorry;youtvisitthis请遐回 此页面只有管理员可以进入 您是否是本网站的会员,若不是,请注册 清不要恶意破坏本网站,请尊重他人利益,谢谢合作6、2用户登录functioncheck()if(document、login、username、value="11")window、alert("请填写您的用户名!");document、login、username、focus

49、();return(true);if(document、login、pwd、value="11")window、alert("请填写密码!");document、login、pwd、focus();return(true);登录界面如下:niybbg优于:2114ffsmy飒functioncheck_fir()、RegistForm、login_name、value="")if(documentwindow、alert("请填写您的用户名!");document、RegistForm、login_name、foc

50、us();return(false);if(document、RegistForm、login_name、value、length>16)window、alert("用户名不能大于16!");document、RegistForm、login_name、focus();return(false);if(document、RegistForm、pwd1、value="")window、alert("请填写您的密码!");document、RegistForm、pwd1、focus();return(false);if(docume

51、nt、RegistForm、pwd2、value="")window、alert("请填写您的确认密码!");document、RegistForm、pwd2、focus();return(false);if(document、RegistForm、pwd1、value!=document、RegistForm、pwd2、value)window、alert("您两次填写的密码不一致,请核对!");document、RegistForm、pwd2、focus();return(false);if(document、RegistForm

52、、password_question、value="")window、alert("请填写密码提示问题!");document、RegistForm、password_question、focus();return(false);if(document、RegistForm、password_answer、value="")window、alert("请填写密码提示问题的答案!");document、RegistForm、password_answer、focus();return(false);if(docume

53、nt、RegistForm、e_mail、value="")window、alert("请填写EMAILS址!");document、RegistForm、e_mail、focus();return(false);if(!isEmail(document、RegistForm、e_mail、value)document、RegistForm、e_mail、focus();return(false);if(document、RegistForm、introduce、value="")window、alert("简单的说说您自己

54、");document、RegistForm、introduce、focus();return(false);if(document、RegistForm、introduce、value、length>100)window、alert("我不查您户口呀,干嘛写这么多呀A_A");document、RegistForm、introduce、focus();return(false);functionisEmail(s)varregu="A(0-9a-zA-Z+)|(0-9a-zA-Z+_、0-9a-zA-Z-*0-9a-zA-Z+)(a-zA-Z0-

55、9-+、)+(a-zA-Z|net|com|gov|mil|org|edu|int)$"varre=newRegExp(regu);if(s、search(re)!=-1)returntrue;elsewindow、alert("请输入有效的E-mail地址!myg120416、3com")returnfalse;注册界面如下:6、4Ajax读取txt格式数据functionajax_function(var1,var2)varxmlHttp=null;/创建xmlhttprequesttry/Firefox,Opera8、0+,Safari对不同浏览器常见不同对

56、象xmlHttp=newXMLHttpRequest();catch(e)tryxmlHttp=newActiveXObject('Msxml2、XMLHTTP');catch(e)tryxmlHttp=newActiveXObject('Microsoft、XMLHTTP');catch(e)alert('YourbrowserdoesnotsupportAJAX!');returnfalse;xmlHttp、onreadystatechange=function()if(xmlHttp、readyState=4&&xmlHttp、status=200)varsomeDiv=document、getElementById('someDiv');someDiv、innerHTML=xmlHttp、re

温馨提示

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

最新文档

评论

0/150

提交评论