- 467.63 KB
- 2022-08-30 发布
- 1、本文档由用户上传,淘文库整理发布,可阅读全部内容。
- 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,请立即联系网站客服。
- 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细阅读内容确认后进行付费下载。
- 网站客服QQ:403074932
asp个人博客网站的开发毕业设计论文目录摘要1ABSTRACT2第1章绪论31.1开发背景及意义31.2系统开发软件简介41.2.1J2EE41.2.2JSP51.2.3SQLServer20057第2章系统分析102.1系统功能需求102.1.1访客102.1.2注册用户112.1.3管理员122.2系统流程13第3章系统设计143.1系统B/S结构143.2数据库设计153.2.1数据库概念结构设计153.2.2数据库逻辑结构设计163.3存储过程17第4章系统实现184.1系统主界面184.2注册模块184.3发表评论模块194.4日志管理模块21结论24参考文献25\n[键入文字][键入文字][键入文字]摘要随着互联网技术的高速发展,生活节奏的加快,博客被越来越多的人选择作为学习和交流的工具。博客的内容丰富多彩,有对其他网站的超链接和评论,有个人构思,还有新闻日志、照片、诗歌和散文等。博客具有自主性、开放性、互动性和共享性的特点,是一个很好的交流的渠道,思想展现的舞台和学术探讨的园地。本系统是一个实用的个人博客网站,集博客、留言板、链接于一身。未注册用户(访客)可以浏览文章,发表评论及留言。也可以通过注册成为该系统的注册用户,注册用户可以管理自己的博客、留言板、友情链接等,同时还可以发表新日志,上传附件等。关键词博客,日志,评论,留言第25页\n[键入文字][键入文字][键入文字]ABSTRACTWiththerapiddevelopmentofInternettechnologyandhighspeedofliferhythm,Bloghasbeingchosenbymoreandmorepeopleasthetoolofstudyandcommunication.ThecontentofBlogisveryrichandcolourful:somehashyperlinkandcommentofotherwebsite,someaboutpersonalthinking,news,music,articleandsoon.Becauseofthecharacterofindependence,open,interactionandshareofBlog,itisregardedasanoutletofgoodexchangechannel,thestageofpersonalthoughtdisplaying,andthegardenareaofknowledgestudying.ThissystemisapracticalBlogwebsitewhichhasBlog,photoalbum,messageboardandlink.Visitorcanbrowsearticles,postcommentsandleavemessages.ThevisitorcanregisterintheBlogwebsite,afterthattheycanmanagetheBlog,photoalbum,messageboard,linkoffriendshipetc.Atthesametime,theycanalsopostnewlog,pictureetc.KeywordsBlog,log,comment,message第25页\n[键入文字][键入文字][键入文字]第1章绪论互联网技术的发展使得博客及博客文化成为热点。博客以其自主性、开放性、共享性的特点,是满足了人们个人自由表达和出版,知识过滤与积累,深度交流沟通的网络新方式。本章主要介绍该系统的开发背景及意义、系统的开发软件。1.1开发背景及意义近几年来,博客及博客文化正成为互联网的热点,并被视为继e-mail、bbs和icq之后出现的第四种网络交流方式。在网络上发表Blog的构想始于1998年,但到了2000年才真正开始流行。而2000年博客开始进入中国,并迅速发展,但都业绩平平。直到2004年木子美事件,才让中国民众了解到了博客,并运用博客。2005年,国内各门户网站,如新浪、搜狐,原不看好博客业务,也加入博客阵营,开始进入博客春秋战国时代。起初,Bloggers将其每天浏览网站的心得和意见记录下来,并予以公开,来给其他人参考和遵循。但随着Blogging快速扩张,它的目的与最初已相去甚远。目前网络上数以千计的Bloggers发表和张贴Blog的目的有很大的差异。不过,由于沟通方式比电子邮件、讨论群组更简单和容易,Blog已成为家庭、公司、部门和团队之间越来越盛行的沟通工具,因为它也逐渐被应用在企业内部网络(Intranet)。博客正在改变社会交流方式。目前,全球参与博客的人数已经达到千万之众,而且每几秒钟,都有一名新的博客用户加盟进来。很多记者、律师、教授、学者、专家,甚至法官和议员都有了自己的博客网站,形成了独特的博客文化。美国总统候选人乐于开设博客站点,作为竞选的重要手段。企业界也正在把博客方式引入企业内部网和公司网站,用于非正式的知识管理和网络营销等。政府部门和教育领域都在尝试利用博客构建内部知识管理和沟通交流的新体系,可以让职员发表评论,积累知识,链接有意思的网络资源,促进彼此的交流沟通。第25页\n[键入文字][键入文字][键入文字]显然,博客的发展对应了全球范围内知识社会来临的背景。对于中国,这样一个组织机构信息化仍处于初级阶段的国家,博客这种充分发挥个人主导性和积极性的非正式知识管理工具和其深度沟通交流的功能,对于我们国家的知识传播、知识扩散和有效提升组织的学习和创新能力,具有更特殊的意义。博客用户的快速增长以及组织机构对它的广泛应用,有助于推动中国向学习型社会演进。本系统根据现实的情况以及博客互动性的特点进行设计开发,旨在为用户提供一个交流的平台,促进用户间的深度沟通;并根据博客共享性的特点,促进用户之间的知识交流,使其成为一个学习的园地。1.2系统开发软件简介1.2.1J2EE本系统主要运用J2EE技术开发。J2EE是一套全然不同于传统应用开发的技术架构,包含许多组件,主要可简化且规范应用系统的开发与部署,进而提高可移植性、安全与再用价值。J2EE核心是一组技术规范与指南,其中所包含的各类组件、服务架构及技术层次,均有共通的标准及规格,让各种依循J2EE架构的不同平台之间,存在良好的兼容性,解决过去企业后端使用的信息产品彼此之间无法兼容,导致企业内部或外部难以互通的窘境。这种基于组件,具有平台无关性的J2EE结构使得J2EE程序的编写十分简单,因为业务逻辑被封装成可复用的组件,并且J2EE服务器以容器的形式为所有的组件类型提供后台服务.因为你不用自己开发这种服务,所以你可以集中精力解决手头的业务问题。J2EE为搭建具有可伸缩性、灵活性、易维护性的商务系统提供了良好的机制:保留现存的IT资产:由于企业必须适应新的商业需求,利用已有的企业信息系统方面的投资,而不是重新制定全盘方案就变得很重要。这样,一个以渐进的(而不是激进的,全盘否定的)方式建立在已有系统之上的服务器端平台机制是公司所需求的。J2EE架构可以充分利用用户原有的投资,如一些公司使用的BEATuxedo、IBMCICS,IBMEncina,、InpriseVisiBroker以及NetscapeApplicationServer。这之所以成为可能是因为J2EE拥有广泛的业界支持和一些重要的’企业计算’领域供应商的参与。每一个供应商都对现有的客户提供了不用废弃已有投资,进入可移植的J2EE领域的升级途径。由于基于J2EE平台的产品几乎能够在任何操作系统和硬件配置上运行,现有的操作系统和硬件也能被保留使用。高效的开发:J2EE允许公司把一些通用的、很繁琐的服务端任务交给中间件供应商去完成。这样开发人员可以集中精力在如何创建商业逻辑上,相应地缩短了开发时间。高级中间件供应商提供以下这些复杂的中间件服务:状态管理服务—第25页\n[键入文字][键入文字][键入文字]让开发人员写更少的代码,不用关心如何管理状态,这样能够更快地完成程序开发。持续性服务—让开发人员不用对数据访问逻辑进行编码就能编写应用程序,能生成更轻巧,与数据库无关的应用程序,这种应用程序更易于开发与维护。分布式共享数据对象CACHE服务—让开发人员编制高性能的系统,极大提高整体部署的伸缩性。支持异构环境:J2EE能够开发部署在异构环境中的可移植程序。基于J2EE的应用程序不依赖任何特定操作系统、中间件、硬件。因此设计合理的基于J2EE的程序只需开发一次就可部署到各种平台。这在典型的异构企业计算环境中是十分关键的。J2EE标准也允许客户订购与J2EE兼容的第三方的现成的组件,把他们部署到异构环境中,节省了由自己制订整个方案所需的费用。可伸缩性:企业必须要选择一种服务器端平台,这种平台应能提供极佳的可伸缩性去满足那些在他们系统上进行商业运作的大批新客户。基于J2EE平台的应用程序可被部署到各种操作系统上。例如可被部署到高端UNIX与大型机系统,这种系统单机可支持64至256个处理器。(这是NT服务器所望尘莫及的)J2EE领域的供应商提供了更为广泛的负载平衡策略。能消除系统中的瓶颈,允许多台服务器集成部署。这种部署可达数千个处理器,实现可高度伸缩的系统,满足未来商业应用的需要。稳定的可用性:一个服务器端平台必须能全天候运转以满足公司客户、合作伙伴的需要。因为INTERNET是全球化的、无处不在的,即使在夜间按计划停机也可能造成严重损失。若是意外停机,那会有灾难性后果。J2EE部署到可靠的操作环境中,他们支持长期的可用性。一些J2EE部署在WINDOWS环境中,客户也可选择健壮性能更好的操作系统如SunSolaris、IBMOS/390。最健壮的操作系统可达到99.999%的可用性或每年只需5分钟停机时间。这是实时性很强商业系统理想的选择。1.2.2JSP本系统主要用JSP开发的。JSP(JavaServerPages)是由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。用JSP开发的Web应用是跨平台的,即能在Linux下运行,也能在其他操作系统上运行。JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的第25页\n[键入文字][键入文字][键入文字]Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。JSP与JavaServlet一样,是在服务器端执行的,通常返回该客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。JSP的1.0规范的最后版本是1999年9月推出的,12月又推出了1.1规范。目前较新的是JSP1.2规范,JSP2.0规范的征求意见稿也已出台。JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。JavaServlet是JSP的技术基础,而且大型的Web应用程序的开发需要JavaServlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。自JSP推出后,众多大公司都支持JSP技术的服务器,如IBM、Oracle、Bea公司等,所以JSP迅速成为商业应用的服务器端语言。为了快速方便地进行动态网站的开发,JSP在以下几个方面做了改进,使其成为快速建立跨平台的动态网站的首选方案。1.将内容的生成和显示进行分离用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面,并使用JSP标识或者小脚本来生成页面上的动态内容(内容是根据请求变化的,例如请求账户信息或者特定的一瓶酒的价格等)。生成内容的逻辑被封装在标识和JavaBeans组件中,并且捆绑在脚本中,所有的脚本在服务器端运行。由于核心逻辑被封装在标识和JavaBeans中,所以Web管理人员和页面设计者,能够编辑和使用JSP页面,而不影响内容的生成。在服务器端,JSP引擎解释JSP标识和脚本,生成所请求的内容(例如,通过访问JavaBeans组件,使用JDBC技术访问数据库或者包含文件),并且将结果以HTML(或者XML)页面的形式发送回浏览器。这既有助于作者保护自己的代码,又能保证任何基于HTML的Web浏览器的完全可用性。2.可重用组件绝大多数JSP页面依赖于可重用的、跨平台的组件(JavaBeans或者EnterpriseJavaBeans组件)来执行应用程序所要求的复杂的处理。开发人员能够共享和交换执行普通操作的组件,或者使得这些组件为更多的使用者和客户团体所使用。基于组件的方法加速了总体开发过程,并且使得各种组织在他们现有的技能和优化结果的开发努力中得到平衡。3.采用标识Web页面开发人员不会都是熟悉脚本语言的编程人员。JSP技术封装了许多功能,这些功能是在易用的、与JSP相关的XML第25页\n[键入文字][键入文字][键入文字]标识中进行动态内容生成所需要的。标准的JSP标识能够访问和实例化JavaBeans组件,设置或者检索组件属性,下载Applet,以及执行用其他方法更难于编码和耗时的功能。4.适应平台几乎所有平台都支持Java,JSP+JavaBeans几乎可以在所有平台下通行无阻。从一个平台移植到另外一个平台,JSP和JavaBeans甚至不用重新编译,因为Java字节码都是标准的与平台无关的。5.数据库连接Java中连接数据库的技术是JDBC,Java程序通过JDBC驱动程序与数据库相连,执行查询、提取数据等操作。Sun公司还开发了JDBC-ODBCbridge,利用此技术Java程序可以访问带有ODBC驱动程序的数据库,目前大多数数据库系统都带有ODBC驱动程序,所以Java程序能访问诸如Oracle、Sybase、MSSQLServer和MSAccess等数据库。此外,通过开发标识库,JSP技术可以进一步扩展。第三方开发人员和其他人员可以为常用功能创建自己的标识库。这使得Web页面开发人员能够使用熟悉的工具和如同标识一样的执行特定功能的构件来进行工作。JSP技术很容易整合到多种应用体系结构中,以利用现存的工具和技巧,并且能扩展到支持企业级的分布式应用中。作为采用Java技术家族的一部分,以及Java2(企业版体系结构)的一个组成部分,JSP技术能够支持高度复杂的基于Web的应用。由于JSP页面的内置脚本语言是基于Java的,而且所有的JSP页面都被编译成为JavaServlets,所以JSP页面具有Java技术的所有好处,包括健壮的存储管理和安全性。作为Java平台的一部分,JSP拥有Java编程语言“一次编写,各处运行”的特点。1.2.3SQLServer2005本系统的数据库采用SQLserver2005。SQLServer2005的失败转移集群和数据库镜像技术确保企业向员工、客户和合作伙伴提交高度可靠和可用的应用系统。SQLServer2005引进了一套集成的管理工具和管理应用编程接口(APIs),以提供易用性、可管理性、及对大型SQLServer配置的支持。SQLServer2005旨在通过数据库加密、更加安全的默认设置、加强的密码政策和细化许可控制、及加强的安全模型等特性,为企业数据提供最高级别的安全性。SQLServer2005可伸缩性的先进性包括表格分区、复制能力的增强和64位支持。SQLServer2005引入了使用Microsoft.NET语言来开发数据库目标的性能。SQLServer2005提供一种新的XML数据类型,使在SQLServer数据库中存储XML片段或文件成为可能。新的查询类型和在交易过程中使用错误处理的功能,为开发人员在SQLServer第25页\n[键入文字][键入文字][键入文字]查询开发方面提供了更高的灵活性和控制力。SQL服务代理为各个级别的可伸缩性提供一种创新的、分发的、异步的应用系统体系结构。分析服务对数据仓库、商务智能和line-of-business解决方案的可伸缩性、可管理性、可靠性、可用性和可规划性提供扩展。对DTS结构合工具的全部重新设计为开发人员和数据库管理员提供了增强的灵活性和可管理性。报表服务是一种新的报表服务器和工具箱,用于创建、管理和配置企业报告。数据挖掘的功能得以增强,主要归功于四种新的运算法则、改进的数据模型和处理工具。通过新数据库镜像方法,将记录档案传送性能进行延伸。您将可以使用数据库镜像,通过将自动失效转移建立到一个待用服务器上,增强您SQL服务器系统的可用性。使用SQL2005版服务器,数据库管理人员将可以在SQL服务器运行的情况下,执行恢复操作。在线恢复改进了SQL服务器的可用性,因为只有正在被恢复的数据是无法使用的,而数据库的其他部分依然在线、可供使用。在线检索选项可以在指数数据定义语言(DDL)执行期间,允许对基底表格、或集簇索引数据和任何有关的检索,进行同步修正。例如,当一个集簇索引正在重建的时候,您可以对基底数据继续进行更新、并且对数据进行查询。新的、速度更快的恢复选项可以改进SQL服务器数据库的可用性。管理人员将能够在事务日志向前滚动之后,重新连接到正在恢复的数据库。SQLServer2005包括了一些在安全性能上的改进,例如数据库加密、设置安全默认值、增强密码政策、缜密的许可控制、以及一个增强型的安全模式。SQLServer2005引入了SQLServerManagementStudio,这是一个新型的统一的管理工具组。这个工具组将包括一些新的功能,以开发、配置SQLServer数据库,发现并修理其中的故障,同时这个工具组还对从前的功能进行了一些改进。SQLServer2005将引进一个专门的管理员连接,即使在一个服务器被锁住,或者因为其他原因不能使用的时候,管理员可以通过这个连接,接通这个正在运行的服务器,这一功能将能让管理员,通过操作诊断功能、或Transact—SQL指令,找到并解决发现的问题。我们将在数据库层面上提供一个新的快照隔离(SI)标准。通过快照隔离,使用者将能够使用与传统一致的视野观看数据库,存取最后执行的一行数据。这一功能将为服务器提供更大的可升级性。数据分割,将加强本地表检索分割,这使得大型表和索引可以得到高效的管理。对于分布式数据库而言,SQLServer2005提供了全面的方案修改(DDL)复制、下一代监控性能、从甲骨文(Oracle)到SQLServer的内置复制功能、对多个超文本传输协议(http第25页\n[键入文字][键入文字][键入文字])进行合并复制,以及就合并复制的可升级性和运行,进行了重大的改良。另外,新的对等交易式复制性能,通过使用复制,改进了其对数据向外扩展的支持。第25页\n[键入文字][键入文字][键入文字]第2章系统分析本章将详细介绍该系统的分析过程,包括系统的各类用户的功能需求以及系统流程。2.1系统功能需求系统涉及到的用户角色分三种:访客、注册用户和管理员。下面分别介绍各类用户角色的主要功能。2.1.1访客访客无须注册,即可浏览注册用户发表的日志、上传的附件,并且还可对自己感兴趣的日志发表评论,给注册用户留言。其功能结构如图2-1所示:图2-1访客功能图2.1.2注册用户注册用户可以通过登录,对自己的博客空间进行管理。主要包括以下几个模块:第25页\n[键入文字][键入文字][键入文字]日志管理模块:包括日志分类管理(添加新分类、删除分类),个人日志管理(个人日志的添加、删除、编辑),日志评论管理(查看评论、删除评论)。留言板管理模块:包括查看所有留言,删除留言。相册管理模块:此模块包括上传新照片,删除照片。友情链接管理模块:包括添加新的友情链接,编辑友情链接,删除友情链接。功能结构如图2-2所示:图2-2注册用户功能图第25页\n[键入文字][键入文字][键入文字]2.1.3管理员管理员要对系统的注册用户的基本资料进行维护,并管理注册用户的日志以及留言。另外,管理员还可以修改该系统的常规设置,如:修改系统公告,修改用户注册条款等。功能结构如图2-3所示:图2-3管理员功能图第25页\n[键入文字][键入文字][键入文字]2.2系统流程根据以上的需求分析,以及各类用户的功能要求,得到系统的流程如图2-4所示:图2-4系统流程图第25页\n[键入文字][键入文字][键入文字]第3章系统设计本章主要介绍该系统采用的结构以及数据库的详细设计过程。3.1系统B/S结构B/S结构为三层结构,建立在广域网的基础之上,客户端只需要安装浏览器,通过http协议向WebServer提出请求,WebServer站点收到请求后,通过CGI(ISAPI)得到相关数据,然后以HTML文档的形式返回给浏览器。结构如图3-1所示:图3-1B/S结构原理B/S建立在广域网之上,不必是专门的网络硬件环境,有比C/S更强的适应范围,一般只要有操作系统和浏览器即可。在B/S结构的系统中,用户可以通过浏览器向分布在网络上的许多服务器发出请求。B/S结构极大地简化了客户机的工作,客户机上只需安装、配置少量的客户端软件即可,服务器将担负更多的工作,对数据库的访问和应用程序的执行将在服务器上完成。B/S体系的优点是:系统安装维护简便、数据集中管理;便于分散用户使用,适应互联网时代软件的发展趋势。根据B/S结构的特点和本系统的性能特点,采用B/S结构进行开发更合适。第25页\n[键入文字][键入文字][键入文字]3.2数据库设计本系统采用微软公司的大型数据库MSSQLServer2005,数据库结构设计如下:3.2.1数据库概念结构设计概念结构设计就是将需求分析得到的用户需求抽象为信息结构,即概念模型。在这里采用E-R模型。概念结构的E-R模型设计如图3-2所示:图3-2E-R模型第25页\n[键入文字][键入文字][键入文字]3.2.2数据库逻辑结构设计概念结构设计阶段得到的E-R模型是用户的模型,它独立于任何一种数据模型,独立于任何一种具体的DBMS。为了建立用户所需求的数据库,需要把上述概念模型转换为某个具体的DBMS所支持的数据模型。数据库逻辑结构设计的任务就是将概念结构转换为特定DBMS的所支持的数据模型的过程。该系统数据库的逻辑结构设计如图3-3所示:图3-3数据库逻辑关系图第25页\n[键入文字][键入文字][键入文字]3.3存储过程简单的说,存储过程是由一些SQL语句和控制语句组成的被封装起来的过程,它驻留在数据库中,可以被客户应用程序调用,也可以从另一个过程或触发器调用。它的参数可以被传递和返回。与应用程序中的函数过程类似,存储过程可以通过名字来调用,而且它们同样有输入参数和输出参数。根据返回值类型的不同,我们可以将存储过程分为三类:返回记录集的存储过程,返回数值的存储过程(也可以称为标量存储过程),以及行为存储过程。相对于直接使用SQL语句,在应用程序中直接调用存储过程有以下好处:(1)减少网络通信量(2)执行速度更快(3)更强的适应性。(4)可用于增强安全性。由于存储过程具有以上的优点,该系统也多次使用。例如:在发表日志时,存储过程InsertLog用于保存新发表的日志的信息。在日志管理时,存储过程updateLog用于及时更新日志信息。在用户注册时,存储过程checkUser用于验证数据库中是否已经存在该用户名,以保证用户名不能重复。第25页\n[键入文字][键入文字][键入文字]第4章系统实现本章主要介绍该系统主要部分的具体实现。4.1系统主界面该界面为该系统的首页,显示出最新日志,最热日志等。访客只要一进入该网站,就可以看到该页面。并通过该页面进入留言板、日志、发表评论等其他感兴趣的页面。系统主界面如图4-1所示:图4-1系统主界面4.2注册模块访客可以通过该界面注册成为该系统的注册用户,拥有自己的博客空间。界面如图4-2所示:第25页\n[键入文字][键入文字][键入文字]图4-2用户注册界面protectedvoidButton1_Click(objectsender,EventArgse){//连接数据库,使用存储过程CheckUser,查看该用户名是否已经存在SqlCommandcommand=newSqlCommand(“CheckUser”,conn);SqlDataReaderdr=command.ExecuteReader();if(CheckBox1.Checked)//如果同意注册条款,则可以进行注册{if(dr.Read())//如果用户名已经存在,则注册失败Response.Write(“”);else//如果用户名不存在,则在数据库中保存新注册用户的信息{command=newSqlCommand(“InsertUser”,conn);SqlParameterRegisterName=command.Parameters.Add(“@name”,SqlDbType.NVarChar,30);//传递各个参数的值RegisterName.Value=TextBoxName.Text;Session[”username”]=TextBoxName.Text.Trim();}else//如果不同意注册条款,则不能进行注册Response.Write(“”);4.3发表评论模块在该模块中主要使用了存储过程。SQL存储过程执行起来比SQL命令快得多,当一个SQL语句包含在存储过程中时,服务器不必每次都要第25页\n[键入文字][键入文字][键入文字]分析和编译它。而且存储过程使程序易于维护。如果程序需要做某些修改,只要改动存储过程即可。数据库建立表之后,根据系统的功能,也多次用到存储过程。创建存储过程如下:CreatProcedureInsertComment(@log_IDint,//日志编号@comm_subjectvarchar(30),//评论主题@comm_contentntext,//评论内容@comm_authorvarchar(30),//评论作者@post_timedatetime//评论时间)ASInsertintoblog_comment(log_ID,comm._subject,comm._content,comm._author,post_time)Values(@log_ID,@comm_subject,@comm_content,@comm_author,@post_time)RETURN发表评论的界面如图4-3所示:图4-3发表评论界面以下为点击提交按钮时触发的事件:protectedvoidButtonOk_Click(objectsender,EventArgse){if(TextBox1.Text==””)author=“匿名”;//如果作者没填,则默认为匿名else第25页\n[键入文字][键入文字][键入文字]author=TextBox1.Text;//获取评论的作者SqlCommandcommand=newSqlCommand(“insertComment”,conn);//添加参数SqlParameterlog_ID=command.Parameters.Add(“@log_ID”,SqlDbType.Int);//传递参数的值log_ID.Value=Session[”log_ID”];SqlParametercomm_subject=command.Parameters.Add(“@comm_subject”,SqlDbType.VarChar,30);comm_subject.Value=this.labSubject.Text;SqlParametercomm_content=command.Parameters.Add(“@comm_content”,SqlDbType.NText);comm_content.Value=TextBox2.Text;SqlParametercomm_author=command.Parameters.Add(“@comm_author”,SqlDbType.VarChar,30);comm_author.Value=author;intnumber=command.ExecuteNonQuery();if(number<1)Response.Write(“”);elseResponse.Write(“”);}4.4日志管理模块该模块用到的控件是DataList以及用户自定义控件。DataList控件是一种以自定义格式显示绑定数据源信息的控件,使数据的显示外观更加多样化,操作更加简单。(1)DataList任务菜单中选择[编辑模板]命令,DataList控件进入模板编辑状态,在下拉列表框中选择”ItemTemplate”,布局如图4-4所示:图4-4项模板第25页\n[键入文字][键入文字][键入文字](2)编辑模板的设计,布局如图4-5所示:图4-5编辑项模板(3)各事件代码如下:protectedvoidDataList1_CancelCommand(objectsource,DataListCommandEventArgse){DataList1.EditItemIndex=-1;//编辑结束DataList1.DataBind();}protectedvoidDataList1_EditCommand(objectsource,DataListCommandEventArgse){DataList1.EditItemIndex=e.Item.ItemIndex;DataList1.DataBind();//数据绑定}protectedvoidDataList1_UpdateCommand(objectsource,DataListCommandEventArgse){//获取要编辑的记录的主键号stringID=DataList1.DataKeys[e.Item.ItemIndex].ToString();//获取参数的值stringtitle=((TextBox)e.Item.FindControl(“textBox1”)).Text;stringcate_name=((DropDownList)e.Item.FindControl(“dropDownList1”)).SelectedItem.Text;stringlog_content=((TextBox)e.Item.FindControl(“textBox2”)).Text;第25页\n[键入文字][键入文字][键入文字]SqlDataSource1.UpdateParameters[”id”].DefaultValue=ID;//传递参数的值SqlDataSource1.UpdateParameters[”cate_name”].DefaultValue=cate_name;SqlDataSource1.UpdateParameters[”log_title”].DefaultValue=title;SqlDataSource1.Update();//更新数据源DataList1.EditItemIndex=-1;//编辑结束DataList1.DataBind();}第25页\n[键入文字][键入文字][键入文字]结论经过一个多月的努力,博客网站的基本功能已经实现。本系统主要是为用户提供一个交流的平台、学习的园地,达到自主性和共享性相结合的目的。该系统的特点是所有的访客无须注册,即可浏览该系统所有的日志、图片等。每一个注册用户都有自己独立的空间,可以尽情的展示自己的内心世界。该系统的界面大方,给人一种很清新的感觉,而且使用方便。由于时间仓促及本人的能力有限,系统还有很多不尽人意的地方:比如说界面不够美观;有些功能还不够完善;代码的重用性不够高;一些细节的问题还没有解决。这些都需要平时经验的积累和对技术的熟练掌握,希望在以后的工作学习中能有进一步的提高。第25页\n[键入文字][键入文字][键入文字]参考文献[1]陈志泊、李冬梅、王春玲等,数据库原理及应用教程,第1版,人民邮电出版社,2002年3月[2]萨师煊、王珊,数据库系统概论,第3版,高等教育出版社,2000年2月[3]齐治昌、谭庆平、宁洪等,软件工程,第2版,高等教育出版社,2004年4月[4]邓良松、刘海岩、陆丽娜,软件工程,西安电子科技大学出版社,2001年[5]新浪博客,http://blog.sina.com第25页