基于JSP的博客系统.docx
《基于JSP的博客系统.docx》由会员分享,可在线阅读,更多相关《基于JSP的博客系统.docx(40页珍藏版)》请在冰豆网上搜索。
![基于JSP的博客系统.docx](https://file1.bdocx.com/fileroot1/2023-1/6/7f1ef01a-ebd6-47be-b1ff-e311bfb7769e/7f1ef01a-ebd6-47be-b1ff-e311bfb7769e1.gif)
基于JSP的博客系统
基于JSP的博客系统
摘要:
Blog是Webblog的缩写,中文就是“网络日志”,在中国我们称它为博客。
它被解释为一个特定的软件系统,被用来在网络上出版、发表和张贴个人的文章并且通常是由简短且经常更新的帖子所构成,这些张贴的文章都按照年份和日期倒序排列。
Blog的内容和目的有很大的不同,从对其他网站的超级链接和评论,有关公司、个人构想到日记、照片、诗歌、散文,甚至科幻小说的发表或张贴都有。
而此系统也主导这一思想,主要为了完善地实现注册用户发表文章,访客可以匿名发表评论等相关功能来设计,并且完成前台运作和管理。
博客就是以网络作为载体,简易迅速便捷地发布自己的心得,即时有效轻松的与他人进行交流,再集丰富多彩的个性化展示于一体的综合性平台。
博客系统可以充分展示每个用户的内心世界、工作感受、技术资料等方面的资讯。
博客是个独立站点任何人都可以方便的来使用,就像每个人拥有自己的笔记本开始书写一样简单。
系统功能保留了传统博客系统的功能,同时又加上了人性化的界面设计,比如日历、音乐的引用。
完善的数据更新能力、实用的管理以及个性化的设计使本系统能适应博客的发展。
系统页面采用Html语言和Css样式以及JavaScript脚本来设计,系统的相关功能由Java语句来实现,使用Tomcat为服务器,和Oracle数据库作为后台,采用Jsp+Servlet+JavaBean模式来完成系统的相关功能。
主要分为游客角色和用户角色。
游客可以注册、查看日志、照片、博主的资料和匿名发表评论。
用户则完成写日志、修改日志、上传照片、管理照片、更改个人信息、添加收藏、退出系统等功能。
关键字:
博客系统Jsp
ABLOGSYSTEMBASEDONJSP
Abstracts:
BlogistheabbreviationofWebblog,whoseChinesemeaningis“thenetworkdiary”.InChina,wecallitBlog,whichisexplainedasspecificsoftwareusedtopublishindividualarticlesinthenetworkandusuallyconsistsofabriefandfrequentlyupdatedposts,thesearticlespostedinreversechronologicalorder,anddate.Blogcontentandpurposearequitedifferentfromotherwebsites,thehypertextlinksandcommentsaboutthecompany,personaldiary,photographs,andideastopoetry,prose,evensciencefictionpublishedorposted.Forthispurpose,oursystemisdesignedtoperfectsomecorrelativefunctions,suchaspublisharticlesfortheregistrationusers,publishanonymouscommentsforthevisitors,andcompletetheforegroundoperationsandmanagements.
Blogissimpletonetworkasthecarrier,rapidconvenientlyreleasedtheirexperiences,instanteffectivelycommunicateeasilywithothers,thensetcolorfulpersonalizeddisplayinanintegratedplatform.Blogsystemcanfullydisplayeachuser'sinnerworld,workexperienceandtechnicaldata,etc.Bloggingisaindependentsiteanyonecaneasilytouse,likeeveryonehashisnotebooktowrite.
ItnotonlyretainsthetraditionalBlogsystem,butalsoaddscompersonalwindowsdesign,suchasthequoteofcalendar,andmusic.Basedontheflawlessabilityofdatarenewal,usefulbackstagemanagementandpersonaldesign,thissystemcanadapttothedevelopmentofBlog.
SystemusingHtmlpagelanguageandCssstylesandJavaScriptscripts,systemdesignbytherelevantfunction,useJavastatementsfortheserver,andTomcatOracledatabase,usingabackendJsp+Servlet+JavaBeanmodetocompletesystemofrelatedfunctions.Itmainlydividedintotouristrolesanduserrole.Visitorscanviewthelog,photographs,andthematerialandanonymousbloggercomment.Userswillfinishwritingblog,modifylog,uploadingphotosandpictures,thechangeofpersonalinformationmanagementsystem,addcollection,exitetc.functions.
Keywords:
BlogSystemJsp
目录
引言1
1博客及相关技术概述2
1.1个人博客的概念2
1.2个人博客的发展现状2
1.3Web技术的发展2
1.4Web开发技术3
2需求分析7
2.1系统目标7
2.2系统功能要求7
2.3系统的性能要求8
2.4系统的性能要求9
3概要设计10
3.1系统体系结构10
3.2主要功能设计10
3.3数据库设计12
3.4信息安全设计14
4详细设计15
4.1首页及主要页面设计15
4.2功能模块设计15
4.3系统实现15
5遇到的难点和解决方法29
6结束语30
参考文献31
致谢39
引言
博客通常被称为“网络日志”简称为“网志”。
博客是继EMAILE、BBS、IM之后出现的第四种全新的网络交流方式。
博客系统不仅仅是一种单向的发布系统,它有着极其出色的交流功能。
在以往的几种网络交流方式中,BBS过于公共化。
而EMAILE和即时通信工具IM则有很明显的私人性质,博客系统的出现则将公共性和私人性很好的结合起来。
博客是一个正处于快速发展和快速演变中的互联网新应用,它就是一个网页,通常由简短且经常更新的帖子构成,这些帖子一般是按照年份和日期倒序排列的。
它并不等同于“网络日志”。
作为网络日志是带有很明显的私人性质的,博客则是私人性和公共性的有效结合,它绝不仅仅是纯粹个人思想的表达和日常琐事的记录,它提供的内容可以用来进行交流和为他人提供帮助,是可以包容整个互联网的,具有极高的共享精神和价值。
Blog的内容和目的有很大的不同,从对其他网站的超级链接和评论,有关公司、个人、构想的新闻到日记、照片、诗歌、散文,甚至科幻小说的发表或张贴都有。
许多Blogs是个人心中所想之事情的发表,其他Blogs则是一群人基于某个特定主题或共同利益领域的集体创作。
简言之,博客就是以网络作为载体,简易迅速便捷地发布自己的心得,即时有效轻松的与他人进行交流,再集丰富多彩的个性化展示于一体的综合性平台。
博客系统可以充分展示每个用户的内心世界、工作感受、技术资料等方面的资讯。
博客是个独立站点任何人都可以方便的来使用,就像每个人拥有自己的笔记本开始书写一样简单。
博客的出现代替了以前的个人网站,任何人不需要懂得网页设计的制作技术,就可以在互联网上表达自己的观点,展示自己的风采,记录自己的生活琐事或是工作经验,让自己得到更多人的关注。
随着Blogging快速扩张,它的目的与最初的浏览网页心得已相去甚远。
目前网络上数以千计的Bloggers发表和张贴Blog的目的有很大的差异。
不过,由于沟通方式比电子邮件、讨论群组更简单和容易,Blog已成为家庭、公司、部门和团队之间越来越盛行的沟通工具,因为它也逐渐被应用在企业内部网络(Intranet)中。
1博客及相关技术概述
1.1个人博客的概念
BLOG是WEB LOG的缩写,简单来说就是网络日记,它是1997年12月由美国的JornBarger最早提出的,这些年全球博客获得了突飞猛进的发展。
根据博客搜索引擎Technorati统计,目前全球平均每5.8秒钟诞生一个博客。
它是一个新型的个人互联网出版工具,博客使用者可以很方便地用文字、链接、影音、图片建立起个性化的网络世界。
博客秉承了个人网站的自由精神,但是综合了激发创造的新模式,使其更具开放和建设性。
它作为一种新表达的方式,它的传播不仅情绪,包括大量的智慧、意见和思想。
某种意义上说,它也是一种新的文化现象,博客的出现和繁荣,真正凸现网络的知识价值,标志着互联网发展开始步入更高的阶段。
1.2个人博客的发展现状
根据中国互联网络信息中心(CNNIC)2009年1月发布的数据显示,2008年博客用户规模持续快速发展,截至2008年12月底,在中国2.98亿网民中,拥有博客的网民比例达到54.3%,用户规模为1.62亿人。
在用户规模增长的同时,中国博客的活跃度有所提高,半年内更新过博客的比重较2007年底提高了11.7%。
博客数量的增长带来了用户聚集的规模效应。
博客的影响力进一步加强。
它不仅是网民参与互联网互动的重要体现,也是网络媒体信息渠道之一;不仅是一种网络技术手段和单纯的制作网页的行为,更是一种网络的文化现象。
现今,博客已经通过各种方式融入了我们的生活,成为了我们表现自己的主要方式。
它们大部分是由简短而且经常更新的帖子构成,所有文章都是按照年份和日期排列。
看上去平淡无奇,毫无可炫耀之处,但它让每个人零成本、零维护地创建自己的网络媒体,每个都可以随时把自己的思想火花和灵感更新到博客站点上。
1.3Web技术的发展
1991年,欧洲粒子物理研究所(CERN)的软件工程师TimBerners-Lee发布了他的万维网(WorldWideWeb)。
从此以后,通过互联网看到的将不仅仅是文字,互联网有了图片,后来又有了音频、动画甚至视频。
WWW的成功在于它制定了一套标准的,易于掌握的超文本标记语言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+EJB已经成为电子商务网站的开发标准。
1.4Web开发技术
JSP即(JavaServerPages),它具有平台无关特性,他们都用来帮助Web内容的开发者们使用相对少的代码创建动态的网页。
一个JSP页面包含掺杂着Java代码的HTML代码。
下面主要介绍下JSP的特点:
1.将内容的生成和显示进行分离使用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面。
2.JSP技术源于Java语言。
Java语言是体系结构中立的。
这使JSP技术可以在实现这个JSP平台的任何系统中运行。
这种途径适合于异构的网络环境和软件的分发。
3.JSP系统是可移植的。
这种可移植性来源于体系结构中立性。
4.强调可重用的组件。
绝大多数JSP页面依赖于可重用的,跨平台的组件(JavaBeans或者Enterprise JavaBeansTM组件)来执行应用程序所要求的更为复杂的处理。
5.采用标识简化页面开发 Web页面开发人员不会都是熟悉脚本语言的编程人员。
JSP技术封装了许多功能,这些功能是在易用的、与JSP相关的XML标识中进行动态内容生成所需要的。
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非常方便容易。
1.4.1JSP的基础—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.4.2JavaBean原理和机制
JSP的一大特点就是与JavaBeans的结合,而JSP与JavaBeans结合的一个突出的优点是页面显示和业务逻辑的分离。
这可以使团队协作的更好,开发出更高质量的站点。
JavaBean是一种可以重用的Java组件,它类似于COM,在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的COM组件同样的功能。
此外JSP推出主要就是考虑到平台的无关性。
JSP代码可以在APACHE、IIS等服务器上执行,支持大部分操作系统。
JSP继承JAVA技术的优点:
一次运行,处处运行。
鉴于此,本系统决定使用JSP做为开发工具。
下面简单介绍一下相关的其他工具。
1.4.3开发平台:
Eclipse+Dreamweaver
Eclipse是一个开放源代码的软件开发项目,专注于为高度集成的工具开发提供一个全功能的、具有商业品质的工业平台。
它主要由Eclipse项目、Eclipse工具项目和Eclipse技术项目三个项目组成,具体包括四个部分组成——EclipsePlatform、JDT、CDT和PDE.JDT支持Java开发、CDT支持C开发、PDE用来支持插件开发,EclipsePlatform则是一个开放的可扩展IDE,提供了一个通用的开发平台。
它提供建造块和构造并运行集成软件开发工具的基础。
EclipsePlatform允许工具建造者独立开发与他人工具无缝集成的工具从而无须分辨一个工具功能在哪里结束,而另一个工具功能在哪里开始。
Dreamweaver MX 是一款专业的HTML编辑器,用于对Web站点、Web页和Web应用程序进行设计、编码和开发。
无论您喜欢直接编写HTML代码的驾驭感还是偏爱在可视化编辑环境中工作,Dreamweaver都会为您提供帮助良多的工具,丰富您的Web创作体验。
利用Dreamweaver中的可视化编辑功能,您可以快速地创建页面而无需编写任何代码。
不过,如果您更喜欢用手工直接编码,Dreamweaver还包括许多与编码相关的工具和功能。
并且,借助Dreamweaver,您还可以使用服务器语言(例如ASP、ASP.NET、ColdFusion标记语言(CFML)、JSP和PHP)生成支持动态数据库的Web应用程序。
1.4.4数据库:
Oracle
Oracle是以高级结构化查询语言(SQL)为基础的大型关系数据库,通俗地讲它是用方便逻辑管理的语言操纵大量有规律数据的集合。
是目前最流行的客户/服务器(CLIENT/SERVER)体系结构的数据库之一。
Oracle具有以下特点:
1.ORACLE7.X以来引入了共享SQL和多线索服务器体系结构。
这减少了ORACLE的资源占用,并增强了ORACLE的能力,使之在低档软硬件平台上用较少的资源就可以支持更多的用户,而在高档平台上可以支持成百上千个用户。
2.提供了基于角色(ROLE)分工的安全保密管理。
在数据库管理功能、完整性检查、安全性、一致性方面都有良好的表现。
3.支持大量多媒体数据,如二进制图形、声音、动画以及多维数据结构等。
4.提供了与第三代高级语言的接口软件PRO*系列,能在C,C++等主语言中嵌入SQL语句及过程化(PL/SQL)语句,对数据库中的数据进行操纵。
加上它有许多优秀的前台开发工具如POWERBUILD、SQL*FORMS、VISIABASIC等,可以快速开发生成基于客户端PC平台的应用程序,并具有良好的移植性。
2需求分析
2.1系统目标
博客网站系统的总目标是:
在计算机网络,数据库和先进的开发平台上,利用现有的软件,配置一定的硬件,开发一个具有开放体系结构的、易扩充的、易维护的、具有良好人机交互界面的个人博客网站,为网络用户提供进行在线交流的网络平台。
通过个人博客网站可以结交更多的朋友,表达更多的想法,它随时可以发布文章。
具体的要求如下:
1.博主可以简单的添加和删除文章。
2.独立于具体的数据库平台。
对于与数据库交互的部分充分考虑兼容性。
3.容易在原先基础上进行二次开发。
4.中间基础平台的无型性。
尽量采用开放的标准技术,达到跨平台运行的效果。
为了达到以上的开发目的,个人博客网站应遵循一定的设计和开发与原则。
1.模块接口定义清晰。
2.基础类库和接口设计合理,尽量建立叮扩