版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、软件工程课程设计个人博客 信 息 工 程 学 院软件工程课程设计报告本题 目: 个人博客专业班级: 软件091学 生: 廖扬华指导老师: 李淑芝 2012年 7月 5 日49目 录第一章 问题定义11.问题背景12.主要解决的问题13.运行环境要求14.技术要求1第二章 可行性研究报告21引言21.1编写目的21.2项目背景21.3符号和定义21.4参考资料22.可行性研究前提32.1性能需求32.2技术可行性分析32.3经济可行性分析42.4 社会因素方面的可行性分析43. 所建议系统概述4第三章 项目开发计划61引言61.1编写目的61.2 背景61.3定义61.4参考资料62项目概述62
2、.1工作内容62.2主要参加人员72.3程序72.4文件72.5服务72.6非移交的产品72.7验收标准72.8完成项目的最迟期限72.9本计划的批准者和批准日期83实施计划83.1工作任务的分解与人员分工83.2预算84项目进度85.支持条件95.1计算机系统支持9第四章 需求分析101.引言102.需求分析102.1系统的需求分析102.2系统的功能分析10第五章 系统概要设计121引言121.功能模块划分142功能模块设计142.1博客登录管理模块15第六章 数据库设计171数据库分析171.1数据库设计e-r图172 系统数据表设计193数据连接21第七章 详细设计231.系统主要功能
3、模块详述231.1登录模块231.2日志管理模块231.3撰写日志模块241.4删除日志模块242配置源程序273附加数据库mysql273.1需要导入的包274将程序发布到tomcat下275公共核心类的设计285.1数据库相关285.2管理类设计30第八章 测试报告331引言331.1编写目的331.2测试范围331.3参考资料342测试计划执行情况342.1 测试类型342.2 进度偏差352.3测试环境与配置352.4 测试问题总结363.测试总结363.1测试用例执行结果363.2测试问题解决373.3覆盖分析383.4测试覆盖分析383.5需求覆盖分析383.6缺陷分析384.综合
4、评价394.1 软件能力394.2 缺陷和限制394.3 建议39第九章 用户使用手册40引言40系统介绍40操作注意事项40操作流程40十 附录431数据连接文件432获取前台主页面453实现文章发表464实现照片上传关键代码485实现留言49第一章 问题定义1.问题背景博客,译自英文blog。blog(个人博客系统): 个人博客是使广大博客用户能够在互联网上发表及评论相关文章的软件系统。c/s(client/server):客户机/服务器它是互联网平台上的个人信息交流中心。通常博客就是用来发表文章,所有的文章都是按照年份和日期排列,有些类似斑竹的日记。看上去平淡无奇,毫无可炫耀之处,但它可
5、以让每个人零成本、零维护地创建自己的网络媒体,每个人都可以随时把自己的思想火花和灵感更新到博客站点上。2.主要解决的问题个人博客系统用来展示个人风采,其中模块主要包括:(1)个人首页:交流、提高,通过交流产生更多的思维火花,相互提高。(2)心情日志: 记录生活,在自己的每一天上留下思考的划痕(3)个人相册: 分享,将自己的相片、自己所见美丽景色。 (4)个人资料:告知访客一些可以公开的个人信息3.运行环境要求(1)客户端:windows操作系统ie浏览器(2)服务器:windows server 版操作系统4.技术要求(1)了解有关web网站建设的基本概念与方法。(2)掌握网页设计制作的基本概
6、念,有关美学基本知识与设计制作流程。(3)掌握网络信息发布与维护的方法。 第二章 可行性研究报告1引言近年来随着信息技术的进步,blog也快速扩张,它已经满足不了用户的需求。目前用户在网络上发表文章、张贴内容的目的有很大的差异,但是,由于沟通方式比电子邮件、讨论群组以及bbs和论坛更简单和容易,博客系统已经成为广大各界用户进行沟通的主流工具1.1编写目的本系统是针对博客用户的需求设计的,可以完成博客用户登入、发表、浏览、修改博文、上传、浏览照片、留言等主要功能。 此可行性研究报告,实现了在最短的时间内以最小的代价确定问题是否可以解决,从而确定进一步对系统进行开发。1.2项目背景 开发软件名称:
7、个人博客系统 项目任务提出者:软件工程课程设计指导老师 项目开发者:本人 用户:admin 实现软件的单位:江西理工大学信息工程学院1.3符号和定义(1)blog(个人博客系统): 个人博客是使广大博客用户能够在互联网上发表及评论相关文章的软件系统。(2)c/s(client/server):客户机/服务器1.4参考资料1史济明,顾春华,郑红.软件工程原理、方法及应用(第三版)m.高等教育出版社,2009.6.2.可行性研究前提个人博客系统的主要功能:个人博客管理以及系统管理等功能。(1)前台广大博客用户的登录主要包括的功能:阅读博客、发表评论、注册博客、博客登录、发表留言。 1)阅读博客:给
8、广大用户提供便捷的在线阅读自己感兴趣的文章。 2)发表评论:提供给阅读者对自己所阅读的博客发表自己得观点、作相关的评论。 3)注册博客:以满足用户成为本系统真正的博客用户,登陆本系统从而满足自己更多的需求,包括发表留言等。(2)个人博客管理的功能:发表文章、文章管理、相册管理、消息管理、个人详细资料管理。1) 博客登陆系统以后可以发表自己得文章,并且对自己发表的文章作最基本的管理,包括增删改查等。2)相册管理功能是广大博客用户对自己的相册进行的最基本的操作,包括相片的上传、下载、删除等。3)消息管理功能是用户对自己收到的信息进行查阅、评论与删除。4)个人详细资料是博客用户对自己得个人资料做出完
9、善,包括增删改查等。(3)系统管理的功能:用户管理、博客分类、公告管理、评论管理、友情链接、系统维护。用户管理功能实现管理员对博客用户的审核等操纵。博客分类功能实现了系统对博客用户发表的博客做出类型的归并。公告管理功能是将最近系统的一些最新消息公布到系统的界面,从而实现用户对系统情况的真实了解。 评论管理:对进入本系统的游客所发表的评论进行查看管理,而对于已经过期或不良评论进行删除操作,使博客可以做到及时的更新,以利于网站的维护。 系统维护功能实现了系统的安全性等。2.1性能需求 方便、快捷、有效的实现博客用户以及系统管理员的需求,进行数据的操作的速度快。2.2技术可行性分析 此个人博客系统是
10、一个涉及到数据库的应用程序。利用现有的数据库开发技术可以达到各方面的要求。2.3经济可行性分析(1)支出1)完全可以利用现有的设备,不需要增加新的硬件设备。2)需要经常性的软件维护费用。 2、效益 目前的情况还不可以确定具体的效益,只能根据后期的点击率和使用效率来确定。 3、投资回收周期 估计是系统运行后的一年2.4 社会因素方面的可行性分析(1)法律方面的可行性 本系统的研制和开发所涉及到的软件都选用正版,不会侵犯他人、集体和国家的利益,遵循相关的法律法规。(2)使用方面的可行性 使用本系统的用户需要拥有一定的计算机基础3. 所建议系统概述此系统的设计包括以下方面,一为博客用户空间,二为系统
11、管理员空间,三为普通游客空间。博客用户在首页进行登录后,在个人界面可以进行对相册、文章、评论以及个人信息进行修改等管理。系统管理员可以对系统近期的动态做出维护、对博客用户的审核等。普通游客可以在博客里浏览博文或对博文进行感言评论。所建议的数据流程:第一层:访客博主个人博客系统第二层:第三层:第三章 项目开发计划 1引言对个人而言,博客可以调动个人的积极性,充分发挥个人的创造性。从2002年开始,国内博客开始迅猛发展起来,从最初的只有几千个尝鲜者到现在的各式各样的博客,圈子。在这三年的发展过程中,主要呈现出如下几个特点:(1)博客是可以将个人信息完整呈现在互联网上的载体。(2)博客具有“准实名制
12、”趋势,有助于信任机制的建立。1.1编写目的开发小组成员需要阅读本说明,已明确项目初步的开发计划,此计划适合小组内部系统的开发,读者为设计人员、开发人员和测试人员。1.2 背景开发的软件系统的名称:个人博客系统;本项目的任务提出者、开发者、用户:邱自阳;1.3定义a.jsp:即java server pages,是由sun公司倡导,与多个公司共同建立的一种技术标准,它是建立在servlet之上的。b.servlet:servlet是在jsp之前就存在的运行在服务器端的一种java技术,它是用java语言编写的服务器端程序,java语言能够实现的功能,servlet基本上可以实现。c.javab
13、ean:可称它们为“独立的组件”,每一个javabean实现一个特定的功能,通过合理地组织具有不同功能的javabean,可以快速地生成一个全新的应用程序。1.4参考资料1 jsp程序设计教程人民邮局出版社,2008年4月2 窦万峰.软件工程方法与实践.机械工业出版社,2009 年5 月.3 窦万峰.软件工程实验教程.机械工业出版社,2009 年5 月.4 个人博客系统可行性分析报告.2项目概述2.1工作内容在本项目开发过程中需要进行可行性分析、制定项目开发计划、软件需求、软件分析设计、软件实现、软件测试以及相应的文档编写工作。2.2主要参加人员廖扬华为大学生,选该项目作为软件工程课程设计的题
14、目,掌握程序设计和软件工程的基本原理和思想,通过查阅资料和讨论的形式,能够解决问题。2.3程序 所用的编程语言是jsp,采用了javabean+servlet结合技术实现的。2.4文件移交用户的每种文件的名称及内容要点:(1)问题定义:明确要解决的问题是什么?(2)可行性研究报告:要解决的关键问题是“对于上一个阶段所确定的问题有有行得通的解决办法吗?”(3)需求分析报告:准确地确定“为了解决这个问题,目标系统应该做什么?”,主要是确定目标系统必须具备哪些功能;(4)概要设计报告:概括的说就是“应该怎么实现目标系统”,主要任务是设计程序的体系结构;(5)详细设计报告:设计出程序的详细规格说明;(
15、6)编码及单元测试文档:写出正确的容易理解、容易维护的程序模块;(7)综合测试文档:利用测试工具按照测试方案和流程对产品进行功能和性能测试,甚至根据需要编写不同的测试工具,设计和维护测试系统,对测试方案可能出现的问题进行分析和评估。执行测试用例后,需要跟踪故障,以确保开发的产品适合需求;(8)软件维护文档:通过各种必要的维护活动使系统持久地满足用户的需要。2.5服务向用户提供的服务为需求分析文档及用户手册,用户可从中得到关于软件使用的信息。2.6非移交的产品所有文件都应上交项目委托单位,即江西理工大学。2.7验收标准用户可根据需求分析中的“需求规定”一栏对系统进行详细的评定与验证,或参考系统提
16、供的其他功能/性能指标。2.8完成项目的最迟期限本学期结束即2012年7月4号。2.9本计划的批准者和批准日期本计划的批准者为江西理工大学,批准日期为2012年6月26日。3实施计划3.1工作任务的分解与人员分工可行性分析:廖扬华项目开发计划:廖扬华软件需求:廖扬华软件需求分析设计:廖扬华编码:廖扬华测试与维护:廖扬华等用户手册的编写:廖扬华3.2预算人员成本:60元/人天,共计6011=660元其他费用如下:办公费用:700元 差旅费:无机时费:无 资料费:1000元设备费:4000元 专用设备租金:无总计费用支出:6360元4项目进度时间完成功能第一周文章管理第二周注册、登录、发表文章,上
17、传照片和评论管理项目进度图如下:5.支持条件5.1计算机系统支持计算机系统支持包括以下内容:(1)运行该软件系统所需要的硬设备包括服务器和客户机,要求满足(最低配置):1) 1g hz 以上处理器,内存不少于256m。2) 3g 以上空余硬盘空间。3) 客户机为普通电脑。(2)运行该软件系统所需要的软设备包括:1) tomcat 5.5以上版本(服务器)2) 安装了jdk1.5版本以上3) 安装了sql server 2000版本以上4) 以及相关的jar包(3)开发这个系统运用到的软件1) myeclipse 8.6版本2) dreamweaver 8.0以上3) jdk1.5版本4) to
18、mcat 5.5以上版本5) sql server 2000版本第四章 需求分析1.引言本环节是为后面的详细设计,实现,测试,以及最后的验收提供参考,也为评价系统的功能和性能提供标准,本过程适合用户,开发人员,系统分析人员,程序设计人员以及系统测试人员阅读和提供参考2.需求分析2.1系统的需求分析 此博客系统为简单的博客系统,主要的功能包括五大部分:管理文章、管理评论、友情链接、管理公告、浏览者的评论管理和修改个人密码。文章管理包括添加文章、删除文章、修改文章等功能。评论管理可以实现查看评论、添加评论等功能。项目按照企业级三层架构开发,包括model层,数据访问操作层和页面展示层。2.2系统的
19、功能分析博客系统的使用角色一般有浏览者和博主两种:博主是博客信息的发布者,浏览者是对博客内容进行浏览,也可以通过发表评论来与博主交流。详细功能如下表:功能类别子功能用户管理(浏览者)注册浏览文章发表评论博主管理管理文章管理评论管理公告友情链接博客统计图4-1 功能类别图(1).浏览者浏览者一般使用的功能如图所示:图4-2浏览者功能图1)注册浏览者可以通过博客网站注册功能开通自己的博客,成为一名博主。注册信息包括注册人的id、密码和有效邮箱等。2)浏览文章博客最吸引人的当属博客充满创意的文章,包括技术类、生活类、情感类等。3)发表评论浏览者可以对某篇文章发表评论,来作为与博主沟通的途径。同时,浏
20、览者与浏览者也可以在此展开讨论。(2).博主博主除了拥有浏览者的功能外,还可以维护自己的博客,包括外表修饰,发表文章,管理类别等,用例图如下图所示: 图4-31)管理文章博主可以通过博客发表文章、编辑文章、删除文章等。2)管理评论博主通过评论管理对浏览者的评论进行回复或删除。3)管理类别为了便于组织文章,一般博客都会给文章分类,如技术,情感,生活等。4)管理公告每一个博客都有自己的公告区,博主可以对博客公告内容进行修改。5)友情链接提供进入朋友博客的链接,以达到信息共享的目的。3.管理员管理员是博客网站的管理者,通常对网站进行综合管理,具体来说可以有下面有:数据备份恢复、博客统计。用例图如下图
21、:图4-4 管理员第五章 系统概要设计1引言根据博客信息管理系统的特点,将其分为两大模块:前台用户浏览模块和后台用户管理模块。前台用户浏览模块主要用于用户浏览日志信息;后台用户管理模块主要用于博客管理员对个人博客网站的管理,如日志管理、留言管理及评论管理等。博客系统平台的前台用户浏览模块流程图如图5-1所示。博客系统平台的后台用户管理模块流程图如图5-2所示。前台用户浏览模块主要用于用户浏览日志信息,用户浏览日志有三种浏览方式可以选择:一是直接点击日志标题链接进入日志显示页面浏览日志;二是点击博客主题链接进入该个人博客的首页,然后在该首页中选择所需的日志标题链接进入日志显示页面浏览日志;三是通
22、过首页提供的搜索功能,搜索所需要的日志,然后在结果列表中选择所需的日志标题链接进入日志显示页面浏览日志。浏览日志的同时用户可以查看别人对该日志的评论,然后用户也可以对该日志发表自已的评论。用户进入后台管理平台,首先必需进行权限验证,防止未授权的用户非法登录。若未通过验证,则显示出错提示,并跳转到登录界面。若通过验证,则进入个人博客后台管理平台。用户可以浏览已发表的日志,并对其进行相应的操作如修改日志和删除日志;可以查看日志的评论信息并对其进行回复或者删除操作;可以发表新的日志;可以新建日志分类;可以浏览个人博客的留言信息并对其进行相应的操作如回复留言图5-1 前台用户浏览模块流程图图5.2 后
23、台用户管理模块流程图1.功能模块划分前台模块功能结构如图3.5所示。图3.5 博客信息系统前台功能结构图后台模块功能结构如图3.6所示。图3.6 博客信息系统后台功能结构图2功能模块设计博客信息管理系统分为面向网络用户的前台及面向个人博客维护管理的后台,依据博客网站中所要实现的基本功能的设定,将所有功能分解为如下四个主要的功能模块来加以实现。用户以合法的用户名及密码登录,系统即可按该登录用户的权限分配操作模块。2.1博客登录管理模块博客注册登录管理模块用于建立博客网站固定的客户群体,通过记录对应的博客档案,实现对博客信息的后台维护及管理,同时也便于通过博客档案库将网站最新动态及相关企业的信息方
24、便地传达给每一位潜在的客户。该功能模块实现了以下几个子功能。a)新博客在线注册。b)博客登录管理。c)跳转到博客主页。只有进行登录并通过身份验证的用户,才可以在个人博客页面发表日志,并借助个人设置实现对个人博客相关信息的管理维护。对于没有经过身份验证的网络用户不允许在博客页面中发表日志,更不允许对博客页面信息进行管理维护。该模块实现新博客的注册及登录验证功能。其中,注册新博客时会对用户输入的注册信息进行有效性验证,包括基本数据格式的有效性以及逻辑有效性,例如,用户名被占用时将及时给出提示。注册成功的博客登录时,会随时根据博客输入的登录信息进行提示,如用户名错误或者密码错误。2.2博客及文章检索
25、查询模块博客及文章检索查询模块为网络用户提供便捷的搜索,以及日志阅读浏览等功能,同时对日志的评论信息、博客推荐也能够及时反馈给网络用户。该功能模块实现了以下几个子功能。a)热门博客页面推荐。b)最新博客日志推荐。c)日志信息关键字搜索。该模块能够在网页中随时提供在线的最新日志信息。该信息需要定期更新,网络用户可以随时获得最新日志以及最热门的博客推荐。在客户选择了某个博客或者某个感兴趣的日志后,可以方便地跳转到对应博客页面进行日志的阅读,并和博客进行交流互动。为了使网络用户尽快定位到所需的博客资料及日志信息,本模块提供了搜索功能,用户可以对所关注的日志信息按照标题进行关键字搜索,以避免用户浏览多
26、个页面来寻找所需的日志信息。3博客页面显示模块当网络用户进入某个人博客主页后,在该页面中将提供博客日志列表的显示,同时为了方便用户浏览,在该模块中提供根据分类名进行日志列表的显示,也提供日志评论的浏览,此外还允许用户在博客页面中发表评论及留言。该功能模块实现了如下几个子功能。a)用户可以分页查看对应的日志内容及评论信息。b)用户可以针对日志内容发表评论。c)用户可以针对博客进行留言。d)用户可以分类查看日志内容。在该模块中还提供了博客页面统计信息,日志、评论及留言信息分页显示等方便用户的显示效果。4博客个人管理维护模块博客个人维护管理模块用于实现用户对博客个人主页及相关信息的动态管理。该功能模
27、块实现了如下几个子功能:a)日志及日志分类管理。b)评论及留言管理。c)个人基本信息维护管理。借助该模块,用户可以随时对个人博客主页中的内容进行增加或修改,包括日志分类信息的更新、评论及留言管理等功能,也允许用户对博客的个人信息进行维护及其管理。第六章 数据库设计1数据库分析数据库是当前应用软件系统的重要组成部分,如何使基于数据库的应用系统安全、可靠、高效的运行一直是软件开发技术研究的难题。所以本系统的数据库设计基于以下几点来考虑:a)数据库规范化与非规范化的考虑。b)数据查询优化与索引的建立。c)存储过程与视图。1.1数据库设计e-r图为了把用户的数据要求清晰明确地表达出来,通常要建立一个概
28、念性的数据模型。概念性数据模型是一种面向问题的数据模型,是按照用户的观点来对数据和信息建模。描述了从用户角度看到的数据,反映了用户的现实环境。最常用的表示概念性数据模型的方法,是实体联系方法(entityrelationship approach)。这种方法用er图描述现实世界中的实体,而不涉及这些实体在系统中的实现方法。用这种方法表示的概念性数据模型又称为er模型。er模型中包含“实体”,“联系”和“属性”。博客信息管理系统涉及的实体包括:a)用户:用户id、用户名称、用户密码、博客主题、说明、e-mail、注册日期、发表日志数。 b)类别:类别编号、类别名、类别描述、用户id。c)日志:日
29、志编号、日志标题、日志内容、类别编号、发表日期、最后修改日期、用户id、浏览次数、评论数。d)评论:评论编号、评论标题、评论内容、发表日期、最后回复日期、评论人、日志编号。e)留言:留言编号、留言标题、留言内容、发表日期、最后回复日期、留言人、用户id。综合本系统各子模块要实现的功能,通过前面对博客信息系统数据的分析可以得到:用户表、类别表、日志表、日志评论表、留言表的数据库概念模型(e-r图)。用户e-r图如图4.1所示。图6-1 用户e-r图日志类别e-r图如图6-2所示。图6-2 日志类别e-r图日志e-r图如图6-3所示。图6-3 日志e-r图日志评论e-r图如图6-4所示。图6-4
30、日志评论e-r图留言e-r图如图6-5所示。图6-5 留言e-r图2 系统数据表设计a)用户表,此表主要用于保存用户的基本信息。其结构如表4.1所示。列名含义类型长度缺省值允许空blogid用户编号int4无否username用户名varchar20无否password用户密码varchar20无否nickname博客主题varchar50无否description博客描述varchar100无是email电子邮件email50无否articlenum发表的日志数int40否表6-6 用户表b)日志表,此表主要用于保存日志的基本信息。其结构如表4.2所示。 列名含义类型长度缺省值允许空arti
31、cleid日志编号int4无否title日志标题varchar50无否content日志内容text8无否categoryid类别idint4无否publishtime日志发表时间datetime8无否lastmodifytime日志最后修改时间datetime8无否blogid用户idint4无否readtimes日志浏览次数int40否feedbacknum日志评论数int40否表6-7 日志表c)日志评论表,此表主要用于保存日志评论的基本信息。其结构如表4.3所示。列名含义类型长度缺省值允许空feedbackid评论编号int4无否title评论标题varchar20无否content评
32、论内容text8无否publishtime发表时间datetime8无否username用户名varchar20无否articleid日志idint4无否表6-8 日志评论表d)留言表,此表主要用于保存留言的基本信息。其结构如表4.4所示。 列名含义类型长度缺省值允许空messageid留言编号int4无否title留言标题varchar20无否content留言内容text8无否publishtime发表时间datetime8无否lastmodifytime最后回复时间datetime8无否username用户名varchar20无否blogid用户idint4无否表6-9 留言表e)类别表
33、,此表用于保存日志类别的基本信息。其结构如表4.5所示。列名含义类型长度缺省值允许空categoryid类别编号int4无否name类别名varchar20无否description类别描述varchar100无是blogid用户编号int4无否 表6-10 类别表s3数据连接目前流行的数据库连接技术主要有:jdbc-odbc桥、jdbc和数据连接池技术。该系统采用数据连接池技术,使用连接池的优点主要体现在两个方面:对数据库的连接统一进行配置、管理、监控,以及对数据库连接池的参数进行优化调整,同时对应用程序中没有关闭或其他原因造成没有关闭的数据库连接由连接池统一进行管理。便于程序的移植和后端数
34、据库的切换,因为在应用中通过统一的jndi获得数据库的连接,而具体连接的是哪一台机器上的数据库与程序无关。数据库连接池技术的思想非常简单,将数据库连接作为对象存储在一个vector对象中,一旦数据库连接建立后,不同的数据库访问请求就可以共享这些连接。这样,通过复用这些已经建立的数据库连接,可以克服上述缺点,极大地节省系统资源和时间。数据库连接池的主要操作如下:a)建立数据库连接池对象(服务器启动)。b)按照事先指定的参数创建初始数量的数据库连接(即:空闲连接数)。c)对于一个数据库访问请求,直接从连接池中得到一个连接。如果数据库连接池对象中没有空闲的连接,且连接数没有达到最大(即:最大活跃连接
35、数),创建一个新的数据库连接。d)存取数据库。e)关闭数据库,释放所有数据库连接(此时的关闭数据库连接,并非真正关闭,而是将其放入空闲队列中。如实际空闲连接数大于初始空闲连接数则释放连接)。f)释放数据库连接池对象(服务器停止、维护期间,释放数据库连接池对象,并释放所有连接)。第七章 详细设计1.系统主要功能模块详述1.1登录模块当用户需发表新日志或者是对博客进行管理时,就必须先进行登录验证操作,然后进入博客系统后台。用户登录界面如图7-1所示。1.2日志管理模块日志管理显示模块列出了日志编号、日志标题以及相应的操作:编辑日志和删除日志。根据选择的分类显示当前分类下的日志列表。当然,对日志进行
36、操作的前提条件是当前登录用户具备相应的管理权限。日志显示界面图如图7-2所示。 图7-1 用户登录界面图图7-2 日志显示界面图当用户需要添加新的日志时,可单击日志管理显示界面中的添加日志链接,进入添加新日志的界面。在日志标题、内容输入域内输入相应的文字,以及选择分类后,单击“确定”按钮进行表单提交,完成添加新日志的操作14。1.3撰写日志模块撰写日志界面图如图7-3所示。1.4删除日志模块如果需要删除已发表的日志,可单击日志管理显示界面中的删除日志链接,将弹出删除日志确认对话框图如图7-4所示。 图7-3 撰写日志界面图图7-4 删除日志确认对话框图再次确认用户是否真的要进行该日志的删除操作
37、,而不是误操作。点击确定按钮完成日志删除操作,点击取消按钮取消该删除操作。完成日志删除操作的核心代码如下:tryconn=db.getconnetion();/禁止自动提交,设置回滚点conn.setautocommit(false);stmt=conn.createstatement();/删除该日志的所有评论stmt.preparestatement(“delete from feedback where articleid=?”);stmt.setint(1,articleid);stmt.executeupdate();/删除该日志stmt.preparestatement(“dele
38、te from article where articleid=?”);stmt.setint(1,articleid);stmt.executeupdate();mit(); /事务提交catch(exception ex)ex.printstacktrace();try conn.rollback(); /操作不成功则回滚catrch(exception e) e.printstacktrace();finallytry stmt.close(); conn.close();catch(exception e) e.printstacktrace();由于每一篇日志允许用户进行评论,日志可
39、能有相应的日志评论,在进行日志删除操作时,得先删除该日志的所有评论,然后删除该日志。为了保持数据库中的数据一致性,本系统采用事务来完成该删除操作。在数据库操作中,一项事务是指由一条或多条数据库更新的sql语句所组成的一个不可分割的工作单元。只有当事务中所有操作都正常完成,整个事务才能被提交到数据库;如果有一项操作没有完成,就必须撤销整个事务。1.5相册上传界面,这里可以从本地上传自己喜欢并且想要长时间保存的照片图7-5上传照片的界面2配置源程序3附加数据库mysql(1)将myblogdatebase文件夹中的扩展名为db_blog_data.mdf和db_blog_log.ldf的两个文件拷
40、贝到sql server安装路径下的data文件夹中。(2)将弹出“附加数据库”对话框,在该对话框中单击【】按钮,选择所要附加数据库的db_blog_data.mdf文件,单击【确定】按钮,即可完成数据库的附加操作。3.1需要导入的包在连接数据库时需要用到以下三个包:msbase.jar、mssqlserver.jar和msutil.jar,将这三个包拷贝到web应用下的 web-inflib目录下即可。4将程序发布到tomcat下(1)将“myblog”文件夹拷贝到tomcat安装路径下的webapps文件夹中。(2)选择开始菜单中的“所有程序apache tomcat 6.0monitor
41、 tomcat”命令,这时在windows的系统托盘中会显示标识tomcat服务器启动状态的图标,如果显示为,则说明tomcat服务器没有启动,这时可以在该图标上单击鼠标右键在弹出的快捷菜单中选择“start service”菜单项启动tomcat服务器,启动后将显示为。(3)打开ie浏览器,在地址栏中输入http:/localhost:8080/,进入“tomcat软件管理”页面。注意:8080为安装tomcat时设置的端口号。(4)单击tomcat manager超链接,弹出“连接到 localhost”对话框。(5)在用户名及密码处输入登录tomcat的用户名和密码,单击【确定】按钮。(
42、6)进入“tomcat应用程序管理”页面,在此页面中单击“myblog”,进入本程序主页面,完成tomcat配置。5公共核心类的设计5.1数据库相关访问数据库相关类如下:a)获取数据源,其代码如下:public static connection getconnection()try context ctx=(context)new initialcontext().lookup(contants.env);datasource ds=(datasource)ctx.lookup(constants.jdbc);getconnection()方法:该方法通过context类提供的lookup(
43、)方法查找数据源,从而获得jdbc/blog数据源的引用,得到datasource对象的引用后,就可以通过datasource的getconnection()方法获得数据库连接对象。b)连接数据库和操作数据库;代码如下: / 构造数据库的连接和访问类public dbconnect() throws exception / 获得数据库连接对象conn=db.getconnection();/ 创建一个jdbc声明stmt = conn.createstatement();/ 预设sql语句public void preparestatement(string sql) throws sqlex
44、ception prepstmt = conn.preparestatement(sql);/ 设置索引值位置的对应值public void setstring(int index, string value) throws sqlexception prepstmt.setstring(index, value);public void setint(int index, int value) throws sqlexception prepstmt.setint(index, value);/ 执行sql语句并返回字段集public resultset executequery() thr
45、ows sqlexception if (prepstmt != null) return prepstmt.executequery(); elsereturn null;dbconnect()方法:该方法主要负责获得数据库连接对象。preparestatement(string sql)方法:该方法主要完成预设sql语句,只有一个用来接收sql语句的参数,如果sql语句有误将抛出异常。setstring(int index, string value)方法:该方法用于设置预设sql语句中的相应字段值,index表示索引位置,value表示需设置字符串类型的值。setint(int inde
46、x, int value)方法:该方法用于预设sql语句中的相应字段值,index表示索引位置,value表示需设置整型类型的值。executequery()方法:该方法用于执行预设的sql语句。5.2.2编写javabean类为每一个数据库表建一个javabean类,完成对该表字段的获取和设置。博客信息管理系统所用的javabean类列表如表5.1所示。表5-1 javabean类列表javabean类说明admin类博客管理员表对应的javabean类article类日志表对应的javabean类word类留言表对应的javabean类photo类相册表对应的javabean类review
47、类评论表对应的javabean类feedback类的代码如下:public class feedback / 属性,对应数据表中的字段名private int feedbackid;private string title; / 字段的访问和设置方法public int getfeedbackid() return feedbackid;public void setfeedbackid (int feedbackid) this. feedbackid = feedbackid;feedback类:通过getfeedbackid()方法获取feedbackid属性的值,通过setfeedba
48、ckid (int feedbackid)方法设置feedbackid属性的值。5.2管理类设计上面每一个javabean类都有一个相对应的管理类,是在javabean类及数据库相关类的基础上完成对数据库表的访问、更新、统计操作。博客信息管理系统所用的管理类列表如表5.2所示。表5-2 管理类列表管理类说明word类完成对博客管理员表的查询、更新及统计article类完成对日志表的查询、更新及统计artiletype类完成对评论表的查询、更新及统计review类完成对随笔表的查询、更新及统计feedbackmgr类的部分代码如下:public class feedbackmgr /*添加评论
49、*/public void add(feedback feedback)dbconnect dbc = null;resultset rs = null;try / 新建数据库连接和访问对象dbc = new dbconnect();/ 预设sql语句dbc.preparestatement(insert into feedback (title,content,publishtime,lastmodifytime,username,articleid) values ( ?,?,?,?,?,?);/ 设置对应值dbc.setstring(1, feedback.gettitle();dbc.
50、setstring(2, feedback.getcontent();dbc.setdate(3, new java.sql.date(new java.util.date().gettime();dbc.setdate(4, new java.sql.date(new java.util.date().gettime();dbc.setstring(5, feedback.getusername();dbc.setint(6, feedback.getarticleid();/ 执行该更新语句dbc.executeupdate();/* * 查询所有评论(按最后修改时间) */public
51、collection getallbylastmodifytime() dbconnect dbc = null;collection c = new arraylist();resultset rs = null;try / 新建数据库连接和访问对象dbc = new dbconnect();/ 执行sql语句,返回字段集rs=dbc.executequery(select * from feedback order by lastmodifytime desc);feedback feedback = null;while (rs.next() / 新建评论对象feedback = new feedback();/ 设置评论对象相关的属性 feedback.setfeedbackid(rs.getint(feedbackid); feedback.settitle(rs.getstring(title); feedback.setcontent(rs.getstring(content); feedback.setstrpublishtim
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 定金合同范本
- 2024年度演艺经纪代理合同2篇
- 二零二四年度云计算服务定制与运维合同
- 二零二四年度电动折叠自行车购销协议3篇
- 短期劳动力雇佣合同04
- 高级定制服装生产与销售合同(04版)
- 二零二四年度社交电商模式创新与合作合同3篇
- 二零二四年度广告媒体投放合作协议
- 二零二四年度地下水监测井建设合同
- 二零二四年度技术转让合同with技术改进与后续支持
- 过程能力研究
- GB 17269-2003铝镁粉加工粉尘防爆安全规程
- 血管活性药物静脉输注护理考核试题及答案
- 铁路营业线施工安全三课件
- 大班综合《要是你给老鼠玩手机》课件
- 教师职业道德与教育法律法规课件
- 危大工程监理细则
- 超声波清洗验证方案及报告
- 煤矿职业危害事故应急处置方案
- 护理查房(宫外孕)课件
- 相貌各异的我们教案及反思
评论
0/150
提交评论