《个人博客系统毕业论文.doc》由会员分享,可在线阅读,更多相关《个人博客系统毕业论文.doc(40页珍藏版)》请在三一办公上搜索。
1、JIANGXINORMALUNIVERSITY学 士 学 位 论 文THESIS OF BACHELOR(2008 2012年)博客网站的设计与实现 Design And Implementation of Blog Website 姓 名: 张勇军 学 号: 0867010453 学 院: 软件学院 专 业: 软件工程 完成时间: 2012年4月1号 指导老师: 刘媛春 摘 要博客信息管理系统致力于为广大用户提供优质的互动交流平台,提高网站的知名度和访问量,从而获得为企业提供更多产品介绍及展示的机会,提升自己网站的价值。为了满足博客信息管理系统的要求,实现系统静态与动态页面的相互分离,系统采
2、用JSP+JavaBean+Servlet和SQL Server2005数据库相结合的开发模式。论文首先论述了系统的开发背景和设计目标,并对系统开发所采用的技术进行相应的简单介绍。在系统分析中,对系统的模型进行简单分析,明确系统的操作流程,并对系统进行可行性分析,确定在目前的条件下,开发博客信息管理系统是可行的。在需求分析结果的基础上,对系统的功能模块进行划分。接着对系统中的数据库进行模型设计,包括数据流图、实体联系图及数据表结构。在系统的设计与实现中,确定系统的开发思想以及开发环境,并对系统中的JavaBean和Servlet代码进行设计。最后给出了系统中模块的详细设计与实现,并对系统模块涉
3、及到的关键源代码进行了详细的分析。经过调试运行后表明,系统可以满足用户创建个人博客的各项要求。 关键词:MVC;JSP;JAVABEAN;博客 Abstract The blog information management system is concentrates on high-quality interactive exchanges platform for a large number of users, increasing the visits and making the website more and more famous, thereby can acquiring
4、 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 information management system, achieving the systems static page separate with dynamic page mutually, using JSP+ JavaBean+ Servlet wi
5、th the mode of development that the database of SQL Server2005 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 simply.In the analyse of system, proceeded the simple analysis to th
6、e 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 information management system is feasible. At the foundation of requirement with the analyse result, proceeding the providing of the function m
7、odule 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 environment of development,at last show the design d
8、etails 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. Key Words:MVC;JSP; JAVABEAN;Blog目 录第1章 绪论11.1 系统的开发背景11.2 系统
9、开发的目标及意义11.3 本文的主要内容2第2章 开发技术32.1 JSP的基础Servlet 技术42.2 JavaBean原理和机制42.3 开发平台:Eclipse+dreamweaver62.4 SQL SERVER 20056第3章 分析与设计83.1 业务流分析及流程图83.2 数据流图分析83.3 功能模块设计93.3.1 博客注册登录管理模块93.3.2 博客及文章检索查询模块103.3.3 博客页面显示模块103.3.4 博客个人管理维护模块103.4 数据库设计E-R图113.5 系统数据表设计13第4章 系统实现164.1 系统主界面164.1.1 注册模块的实现164.
10、1.2 发表评论模块184.1.3 删除日志模块194.2 修改个人资料界面204.3 上传图片界面214.4 系统主要功能模块的实现224.4.1 身份验证224.4.2 后台文章添加管理234.4.3 后台文章类别管理254.4.4 撰写日志模块254.4.5 修改用户信息274.5 公共核心类的设计274.5.1 数据库相关274.5.2 编写JavaBean类284.5.3 管理类设计29第5章 结束语32参考文献33致 谢34第1章 绪论1.1 系统的开发背景 博客的精神是:自由表达,开放宽容,个性张扬,专业精神。在没有自己的博客之前,人们会经常进出于论坛发表贴子或者通过即时通信软件
11、聊天,来表达自己的想法,可是这些都是零散的和杂乱的。博客的出现,让人们可以不断的把自己以前的和每天激发的一些想法或者感受整理放在自己的博客上,每次在写文章的时候,可能又会产生新的想法。虽然一些想法一些思考只是皮毛,没有什么深度,但是当下笔去写的时候每次都会对某个小小的问题有了更多的一点点思考,再写博客的时候就感觉到了一种满足感,一种想法得以释放思考得以延伸的满足感。生活中每天的一个小小的事情都会引起人们的思考,甚至是和朋友的聊天中一个小小的火花迸发。督促自己努力、把一时的想法变成观点,争取在生命中的每天里留下点什么,这也是人们写博客的目的之一。这样就能督促自己每一天不要浑浑噩噩,时光流逝无痕无
12、声无息,写博客也是在自己的每一天上留下了一道浅浅的思考和划痕。 不仅如此,通过写博客、记录自己的想法可以帮助实现如下这些目的: (1)记录生活,在自己的每一天上留下思考的划痕。 (2)整理思路,固化知识,获得更多更好的想法。 (3)分享,将自己的想法、经验与人分享。 (4)交流、提高,通过交流产生更多的思维火花,相互提高。 (5)交友,互相鼓励,一路同行。 如果说博客网站是一个舞台,那么所有的博客都是其中的舞者,把自己有价值的真实的一面展示在网络世界中,相互交流沟通;如果博客仅仅为了写日志,那么博客是一面镜子,镜子中展现的是真实的自己;如果博客是一个自由媒体,可以把自身感觉有价值的信息通过博客
13、这个工具发布,与网友共享。1.2 系统开发的目标及意义本系统是用JSP实现的一个完全基于浏览器的博客系统,任何注册个人博客的人都拥有以下功能:(1)登录博客系统的后台管理平台。(2)更改博客账号的基本信息。(3)撰写日志。(4)日志管理。(5)评论管理。(6)留言管理。博客访问者具有以下功能:(1)浏览博客系统中的日志、留言、评论。(2)发表评论及留言。(3)检索日志。随着Blog人数的增加,Blog作为一种新的生活方式、新的工作方式和新的学习方式已经被越来越多的人所接受,并且在改变传统的网络和社会结构。它使交流和沟通更有明确的选择和方向性;单一的思想和群体的智慧结合变得更加有效;个人出版变成
14、人人都可以实现的梦想。Blog正在影响和改变着我们的生活。本系统采用MVC模式设计实现了一个简单的博客系统。MVC模式极大地提高了系统的灵活性、复用性、开发效率、适应性和可维护性,充分发挥了JSP、Servlet等J2EE组件的特点3。从而,使更多的人们通过文字、图片、声音、视频、无线等,尽情展示自我、分享感受、参与交流,美好你我生活。Show you, share me,人人都可以博客,人人都需要博客。1.3 本文的主要内容本系统是用JSP实现的一个完全基于浏览器的博客系统,任何注册个人博客的人都拥有以下功能:(1)登录博客系统的后台管理平台。(2)更改博客账号的基本信息。(3)撰写日志。(
15、4)日志管理。(5)评论管理。(6)留言管理。博客访问者具有以下功能:浏览博客系统中的日志、留言、评论。第2章 开发技术一些人可能已经对微软的Active Server Pages(ASP)很熟悉了;JSP在多数方面与ASP功能相同但是具有平台无关特性。他们都用来帮助Web内容的开发者们使用相对少的代码创建动态的网页。一个JSP页面包含掺杂着Java代码的HTML代码。下面主要介绍下JSP的特点:(1)将内容的生成和显示进行分离使用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面。(2)JSP技术源于Java语言。Java语言是体系结构中立的。这使JSP技术可
16、以在实现这个JSP平台的任何系统中运行。这种途径适合于异构的网络环境和软件的分发。(3)JSP系统是可移植的。这种可移植性来源于体系结构中立性。(4)强调可重用的组件。绝大多数JSP页面依赖于可重用的,跨平台的组件(JavaBeans或者EnterpriseJavaBeansTM组件)来执行应用程序所要求的更为复杂的处理。(5)采用标识简化页面开发Web页面开发人员不会都是熟悉脚本语言的编程人员。JSP技术封装了许多功能,这些功能是在易用的、与JSP相关的XML标识中进行动态内容生成所需要的。(6)使用JSP标识或者小脚本来生成页面上的动态内容。生成内容的逻辑被封装在标识和JavaBeans组
17、件中,并且捆绑在小脚本中,所有的脚本在服务器端运行。(7)由于JSP页面的内置脚本语言是基于Java编程语言的,而且所有的JSP页面都被编译成为Java Servlet,JSP页面就具有Java技术的所有好处,包括健壮的存储管理和安全性;(8)作为Java平台的一部分,JSP拥有Java编程语言“一次编写,各处运行”的特点。当客户端请求一个JSP网页时,JSP Engine会检查所请求的JSP网页是否已经处于被载入执行的状态,如果没有,它会先读取JSP程序文件,将它换成Servlet程序代码编译载入,然后才执行请求的服务。也是就说,只有当客户端第一次请求JSP网页时,才需要被转换、编译和载入,
18、做到了一次执行,处处执行。JSP的Servlet Class是JSP Engine自动帮我们编译产生的,不像Servlet需要手动编译,另外,在JSP程序中建立新的对象和Java Bean非常方便容易。 2.1 JSP的基础Servlet 技术Java Servlet是JSP技术的基础,JSP本身就是预先被编译成Servlet,然后再运行的,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成,Servlet这个名称大概源于Applet,现在国内的翻译方式很多,本文为了避免误会,本文直接采用Servlet这个名称而不做任何翻译,读者如果愿意,可以称之为“小服务程序”。
19、Servlet其实和传统的CGI程序和ISAPI、NSAPI等Web程序开发工具的作用是相同的,在使用Java Servlet以后,用户不必再使用效率低下的CGI方式,也不必使用只能在某个固定Web服务器平台运行的API方式来动态生成Web页面。许多Web服务器都支持Servlet,即使不直接支持Servlet的Web服务器也可以通过附加的应用服务器和模块来支持Servlet。得益于Java的跨平台的特性,Servlet也是平台无关的,实际上,只要符合Java Servlet规范,Servlet是完全平台无关且是Web服务器无关的。由于Java Servlet内部是以线程方式提供服务,不必对于
20、每个请求都启动一个进程,并且利用多线程机制可以同时为多个请求服务,因此Java Servlet效率非常高。但Java Servlet也不是没有缺点,和传统的CGI、ISAPI、NSAPI方式相同,Java Servlet是利用输出HTML语句来实现动态网页的,如果用Java Servlet来开发整个网站,动态部分和静态页面的整合过程简直就是一场噩梦。这就是为什么SUN还要推出Java Server Pages的原因。2.2 JavaBean原理和机制JSP的一大特点就是与JavaBeans的结合,而JSP与JavaBeans结合的一个突出的优点是页面显示和业务逻辑的分离。这可以使团队协作的更好
21、,开发出更高质量的站点。JavaBean是一种可以重用的Java组件,它类似于COM,在JSP程序中常用来封装事物逻辑、数据库操作等,可以很好的实现业务逻辑和前台程序的分离,使得系统具有更好的健壮性和灵活性。事件处理是JavaBeans体系结构的核心之一。通过事件处理机智,可以让一些组件作为事件源,发出可被描述环境或其他组件接受的事件。这样,不同的组件就可在构造工具内组合在一起,组件之间通过事件的传递进行通信,构成一个应用。从概念上讲,事件是一种在“源对象”和“监听对象”之间、某种状态发生变化的传递机智。事件有许多不同的用途,如:鼠标事件、窗口边界改变事件、键盘事件等。在Java和JavaBe
22、ans中则是定义了一个一般的、可扩充的事件机制,它能够:(1)对事件类型和传递模型的定义和扩充提供一个公共框架,并适合于广泛的应用。(2)与Java语言和环境有较高的集成度。事件能描述环境捕获和被激发。能使其他构造工具采取某种技术在设计时直接控制事件,遗迹控制事件源和事件监听者之间的联系。事件本身不依赖于复杂的开发工具。特别的,事件机制还应当:(1)能够发现制定的对象类可以生成的事件。(2)能够发现制定的对象类可以观察监听到的事件。(3)提供一个常规的注册机制,允许动态操纵事件源与事件监听者之间的关系。(4)不需要其他的虚拟机和语言即可实现。(5)事件源与监听者之间可进行高效的事件传递。(6)
23、能完成JavaBean事件模型与相关的其他组件体系结构事件模型的中立映射。JSP和ASP.NET同样是网站开发中常用的开发工具。但是,ASP是微软的产品,其应用只能是在Windows平台上,移植性差,而且以源代码的形式存放在服务器端,安全性差。每次由服务器解释运行,运行效率不高。Jsp页面文件执行时被编译成字节代码,由客户端流览的Java虚拟机解释执行,不再是源代码,因此执行效率和安全性高。将数据库连接的重要信息存放在JavaBean文件后,可以编译成虚拟机才能解释的字节代码,确保了数据库的安全。在ASP技术里,通过Web页面要实现一些特定的功能比较困难,比如基于网页的报表,打印实现起来就比较
24、麻烦。ASP提供的解决方案是自己开发组件,通过在服务器端注册组件,成为独立的可以重复利用的模块供读者调用。因此要求读者需要掌握比较复杂的变成语言的开发技术。在JSP开发技术里,可以通过开发JavaBean文件实现同样的功能,JavaBean不需要注册,只要放置在相应的目录下就可以运行。可以实现ASP的COM组件同样的功能。此外JSP推出主要就是考虑到平台的无关性。JSP代码可以在APACHE、IIS等服务器上执行,支持大部分操作系统。JSP继承JAVA技术的优点:一次运行,处处运行。鉴于此,本系统决定使用JSP作为开发工具。下面简单介绍一下相关的其他工具:2.3 开发平台:Eclipse+dr
25、eamweaverEclipse是一个开放源代码的软件开发项目,专注于为高度集成的工具开发提供一个全功能的、具有商业品质的工业平台。它主要由Eclipse项目、Eclipse工具项目和Eclipse技术项目三个项目组成,具体包括四个部分组成Eclipse Platform、JDT、CDT和PDE.JDT支持Java开发、CDT支持C开发、PDE用来支持插件开发,Eclipse Platform则是一个开放的可扩展IDE,提供了一个通用的开发平台。它提供建造块和构造并运行集成软件开发工具的基础。Eclipse Platform允许工具建造者独立开发与他人工具无缝集成的工具从而无须分辨一个工具功能
26、在哪里结束,而另一个工具功能在哪里开始。DreamweaverMX是一款专业的 HTML 编辑器,用于对 Web 站点、Web 页和 Web 应用程序进行设计、编码和开发。无论您喜欢直接编写 HTML 代码的驾驭感还是偏爱在可视化编辑环境中工作,Dreamweaver 都会为您提供帮助良多的工具,丰富您的 Web 创作体验。利用 Dreamweaver 中的可视化编辑功能,您可以快速地创建页面而无需编写任何代码。不过,如果您更喜欢用手工直接编码,Dreamweaver 还包括许多与编码相关的工具和功能。并且,借助 Dreamweaver,您还可以使用服务器语言(例如 ASP、ASP.NET、C
27、oldFusion 标记语言 (CFML)、JSP 和 PHP)生成支持动态数据库的 Web 应用程序。2.4 SQL SERVER 2005SQL Server 2005作为Microsoft家庭的重要成员,是基于客户机/服务器的大型关系数据库系统。SQLServer 2005这种关系型数据库系统能够满足各种类型的企业客户和独立软件供应商构建商业应用程序的需求,根据客户的反映和需求,是大规模联机事务处理(OLTP)、数据仓库和电子商务应用程序的优秀数据库平台。SQL Server 2005 具有以下特点8:(1)强大可伸缩性;(2)支持大型Web站点或企业信息处理系统;(3)客户机/服务器体
28、系结构;而数据源包含了数据库位置和数据库类型等信息,实际上是一种数据连接的抽象。各部件之间的关系如图2.1所示:应用程序ODBC管理器ODBC API sql驱动程序管理器数据源名(DSN)ODBC驱动程序数据源ODBC层数据层应用层图2.1 数据关系图第3章 分析与设计3.1 业务流分析及流程图用户首先需要登录该系统得到权限后才能对系统进行操作,为注册用户可以直接进入注册模块进行注册。登录系统后确定权限,只有管理员权限,才能对系统进行维护。普通用户可以对个人主页进行管理,管理的板块包括:日记、相册、留言、好友、公告以及群。个人博客系统业务流程图,如图3.1所示:图3.1 博客业务流程图3.2
29、 数据流图分析系统运行过程中,主要涉及到两部分的数据流向,一部分是管理员在系统后台管理界面上发出的对数据库操作的数据流,另一部分是用户在应用前台使用系统时所产生的数据流。如图3.2所示:图3.2 数据流图3.3 功能模块设计博客信息管理系统分为面向网络用户的前台及面向个人博客维护管理的后台,依据博客网站中所要实现的基本功能的设定,将所有功能分解为如下四个主要的功能模块来加以实现。用户以合法的用户名及密码登录,系统即可按该登录用户的权限分配操作模块。3.3.1 博客注册登录管理模块博客注册登录管理模块用于建立博客网站固定的客户群体,通过记录对应的博客档案,实现对博客信息的后台维护及管理,同时也便
30、于通过博客档案库将网站最新动态及相关企业的信息方便地传达给每一位潜在的客户。该功能模块实现了以下几个子功能。(1)新博客在线注册。(2)博客登录管理。(3)跳转到博客主页。只有进行登录并通过身份验证的用户,才可以在个人博客页面发表日志,并借助个人设置实现对个人博客相关信息的管理维护。对于没有经过身份验证的网络用户不允许在博客页面中发表日志,更不允许对博客页面信息进行管理维护。该模块实现新博客的注册及登录验证功能。其中,注册新博客时会对用户输入的注册信息进行有效性验证,包括基本数据格式的有效性以及逻辑有效性,例如,用户名被占用时将及时给出提示。注册成功的博客登录时,会随时根据博客输入的登录信息进
31、行提示,如用户名错误或者密码错误。3.3.2 博客及文章检索查询模块博客及文章检索查询模块为网络用户提供便捷的搜索,以及日志阅读浏览等功能,同时对日志的评论信息、博客推荐也能够及时反馈给网络用户。该功能模块实现了以下几个子功能。(1)热门博客页面推荐。(2)最新博客日志推荐。(3)日志信息关键字搜索。该模块能够在网页中随时提供在线的最新日志信息。该信息需要定期更新,网络用户可以随时获得最新日志以及最热门的博客推荐。在客户选择了某个博客或者某个感兴趣的日志后,可以方便地跳转到对应博客页面进行日志的阅读,并和博客进行交流互动。为了使网络用户尽快定位到所需的博客资料及日志信息,本模块提供了搜索功能,
32、用户可以对所关注的日志信息按照标题进行关键字搜索,以避免用户浏览多个页面来寻找所需的日志信息。3.3.3 博客页面显示模块当网络用户进入某个人博客主页后,在该页面中将提供博客日志列表的显示,同时为了方便用户浏览,在该模块中提供根据分类名进行日志列表的显示,也提供日志评论的浏览,此外还允许用户在博客页面中发表评论及留言。该功能模块实现了如下几个子功能。(1)用户可以分页查看对应的日志内容及评论信息。(2)用户可以针对日志内容发表评论。(3)用户可以针对博客进行留言。(4)用户可以分类查看日志内容。在该模块中还提供了博客页面统计信息,日志、评论及留言信息分页显示等方便用户的显示效果。3.3.4 博
33、客个人管理维护模块博客个人维护管理模块用于实现用户对博客个人主页及相关信息的动态管理。该功能模块实现了如下几个子功能:(1)日志及日志分类管理。(2)评论及留言管理。(3)个人基本信息维护管理。借助该模块,用户可以随时对个人博客主页中的内容进行增加或修改,包括日志分类信息的更新、评论及留言管理等功能,也允许用户对博客的个人信息进行维护及其管理。如图3.3所示:图3.3 博客信息系统前台功能结构图后台模块功能结构如图3.4所示。图3.4 博客信息系统后台功能结构图3.4 数据库设计E-R图为了把用户的数据要求清晰明确地表达出来,通常要建立一个概念性的数据模型。概念性数据模型是一种面向问题的数据模
34、型,是按照用户的观点来对数据和信息建模。描述了从用户角度看到的数据,反映了用户的现实环境。最常用的表示概念性数据模型的方法,是实体联系方法(EntityRelationship Approach)。这种方法用ER图描述现实世界中的实体,而不涉及这些实体在系统中的实现方法。用这种方法表示的概念性数据模型又称为ER模型。ER模型中包含“实体”,“联系”和“属性”。博客信息管理系统涉及的实体包括:(1)用户:用户ID、用户名称、用户密码、博客主题、说明、E-mail、注册日期、发表日志数。 (2)类别:类别编号、类别名、类别描述、用户ID。(3)日志:日志编号、日志标题、日志内容、类别编号、发表日期
35、、最后修改日期、用户ID、浏览次数、评论数。(4)评论:评论编号、评论标题、评论内容、发表日期、最后回复日期、评论人、日志编号。(5)留言:留言编号、留言标题、留言内容、发表日期、最后回复日期、留言人、用户ID。综合本系统各子模块要实现的功能,通过前面对博客信息系统数据的分析可以得到:用户表、类别表、日志表、日志评论表、留言表的数据库概念模型(E-R图)。用户实体属性图如图3.5所示。图3.5 用户实体属性图日志类别实体属性图如图3.6所示。图3.6 日志类别实体属性图日志实体属性图如图3.7所示。图3.7 日志实体属性图日志评论实体属性图如图4.4所示。图3.8 日志评论实体属性图留言实体属
36、性图如图3.8所示。图3.9 留言实体属性图3.5 系统数据表设计(1)用户表,此表主要用于保存用户的基本信息。其结构如表3.1所示。表3.1 用户表 列名含义类型长度缺省值允许空BlogID用户编号Int4无否UserName用户名Varchar20无否Password用户密码Varchar20无否NickName博客主题Varchar50无否Description博客描述Varchar100无是Email电子邮件Email50无否RegisterTime注册日期Datetime8无否ArticleNum发表的日志数Int40否(2)日志表,此表主要用于保存日志的基本信息。其结构如表3.2所
37、示。 表3.2 日志表列名含义类型长度缺省值允许空ArticleID日志编号Int4无否Title日志标题Varchar50无否Content日志内容text8无否CategoryID类别IDint4无否PublishTime日志发表时间Datetime8无否LastModifyTime日志最后修改时间Datetime8无否BlogID用户IDInt4无否ReadTimes日志浏览次数Int40否FeedBackNum日志评论数Int40否(3)日志评论表,此表主要用于保存日志评论的基本信息。其结构如表3.3所示。表3.3 日志评论表列名含义类型长度缺省值允许空FeedBackID评论编号In
38、t4无否Title评论标题Varchar20无否Content评论内容Text8无否PublishTime发表时间Datetime8无否UserName用户名Varchar20无否ArticleID日志IDInt4无否(4)留言表,此表主要用于保存留言的基本信息。其结构如表3.4所示。 表3.4 留言表列名含义类型长度缺省值允许空MessageID留言编号Int4无否Title留言标题Varchar20无否Content留言内容text8无否PublishTime发表时间Datetime8无否LastModifyTime最后回复时间Datetime8无否UserName用户名Varchar20
39、无否BlogID用户IDInt4无否(5)类别表,此表用于保存日志类别的基本信息。其结构如表3.5所示。表3.5 类别表列名含义类型长度缺省值允许空CategoryID类别编号Int4无否Name类别名Varchar20无否Description类别描述Varchar100无是BlogID用户编号Int4无否第4章 系统实现4.1 系统主界面该界面为该系统的首页,显示出最新日志,最热日志等。访客只要一进入该网站,就可以看到该页面。并通过该页面进入留言板、日志、发表评论等其他感兴趣的页面。系统主界面如图4.1所示:图4.1 系统主界面4.1.1 注册模块的实现访客可以通过该界面注册成为该系统的注
40、册用户,拥有自己的博客空间。界面如图4.2所示:图4.2 用户注册界面 部分代码如下: protected void Button1_Click(object sender, EventArgs e) /连接数据库,使用存储过程CheckUser,查看该用户名是否已经存在SqlCommand command = new SqlCommand(“CheckUser”, conn);SqlDataReader dr=command.ExecuteReader();if (CheckBox1.Checked) /如果同意注册条款,则可以进行注册if (dr.Read() /如果用户名已经存在,则注册
41、失败Response.Write(“window.alert(注册失败:已有该用户名!);”);else /如果用户名不存在,则在数据库中保存新注册用户的信息command = new SqlCommand(“InsertUser”, conn);SqlParameter RegisterName = command.Parameters.Add(“name”, SqlDbType.NVarChar, 30); /传递各个参数的值RegisterName.Value = TextBoxName.Text;Session”username” = TextBoxName.Text.Trim();e
42、lse /如果不同意注册条款,则不能进行注册Response.Write(“window.alert(不同意注册协议不能注册! );”);4.1.2 发表评论模块发表评论的界面如图4.3所示:图4.3 发表评论界面部分代码如下:protected void ButtonOk_Click(object sender, EventArgs e) if (TextBox1.Text=”)author = “匿名”; /如果作者没填,则默认为匿名elseauthor = TextBox1.Text; /获取评论的作者SqlCommand command = new SqlCommand(“insert
43、Comment”, conn);/添加参数SqlParameter log_ID = command.Parameters.Add(“log_ID”,SqlDbType.Int);/传递参数的值log_ID.Value =Session”log_ID”;SqlParameter comm_subject = command.Parameters.Add(“comm_subject”, SqlDbType.VarChar, 30);comm_subject.Value=this.labSubject.Text;SqlParameter comm_content = command.Paramet
44、ers.Add(“comm_content”, SqlDbType.NText);comm_content.Value =TextBox2.Text;SqlParameter comm_author = command.Parameters.Add(“comm_author”, SqlDbType.VarChar,30);comm_author.Value = author;int number = command.ExecuteNonQuery();if (number 1)Response.Write(“window.alert(发表评论失败!);”);elseResponse.Write
45、(“window.alert(发表评论成功!);”);4.1.3 删除日志模块如果需要删除已发表的日志,可单击日志管理显示界面中的删除日志链接,将弹出删除日志确认对话框图如图4.4所示。图4.4 删除日志确认对话框图再次确认用户是否真的要进行该日志的删除操作,而不是误操作。点击确定按钮完成日志删除操作,点击取消按钮取消该删除操作。完成日志删除操作的核心代码如下:tryconn=DB.getConnetion();/禁止自动提交,设置回滚点conn.setAutoCommit(false);stmt=conn.createStatement();/删除该日志的所有评论stmt.prepareStatement(“delete from feed