ImageVerifierCode 换一换
格式:DOCX , 页数:32 ,大小:780.83KB ,
资源ID:10757441      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10757441.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(博客系统的设计与实现.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

博客系统的设计与实现.docx

1、博客系统的设计与实现信息工程学院博客系统的设计与实现组 长:郭亚京组 员:白园园 梅蕊 楚静静付志强 史金磊指导老师:陆廷荣完成时期:2011年12月26日目 录1 绪论 31.1 项目开发的背景 31.2 研究的目的和意义 31.3 研究的内容 41.4 目前博客的国内研究现状 42 数据库设计的关键理论和实现方法 42.1 数据库设计的理论 42.2 数据库设计的方法 53 需求分析 53.1 数据需求 53.2 完整性需求 83.3 功能需求 93.4 性能需求 103.5 接口需求 103.6 出错处理需求 104 概念结构设计 114.1 博客系统局部ER图 114.2 博客系统整体

2、ER图 135 逻辑结构设计 145.1 关系模式 145.2 外模式 145.3 完整性约束 156 物理结构设计 156.1 访问方法选择 156.2 存储结构选择 156.3 物理结构评价 157 安全性设计 167.1 身份验证模式 167.2 权限管理 168 博客系统的实现与测试 168.1 博客系统的实现与测试 169 结论 19参考文献 20附录 211 绪论1.1 项目开发的背景 Blog博客网站致力于为广大博客提供优质博客页面服务的商业网站。每个博客都希望借助自己的博客页面宣传自己,而博客数量越多,网站的点击率越高就越能够吸引广大的企业客户选择该商业网站作为媒介,将自己的产

3、品展现给客户。可以说,对这些博客网站而言:为博客提供良好的服务就意味着为网站带来更多的商业客户。因此,在具体设计实现该博客网站时,主要考虑了主流博客网站的几个主要功能。1. 博客的注册、登录验证功能2. 普通用户浏览文章和发表评论的管理3. 文章详细内容及相关评论显示4. 博客个人文章管理维护功能5. 博客个人文章分类管理维护功能6. 博客个人友情链接维护功能7. 博客个人基本信息管理维护功能8. 个人上传图片和相册管理的功能9. 管理员对博主的管理10.管理员对个人信息的管理11. 管理员对网站在线人数的统计1.2 研究的目的和意义 博客(Blog)作为Web 2.0的典型代表,已风靡网络世

4、界。那么,博客究竟是什么?简单一点的Blog记载了日常发生的事情和自己的兴趣爱好,把自己的思想和知识与他人分享、交流,同时又通过个人博客结识更多志同道合的朋友,使大家在网上可以进行各种信息的交流,博客系统为大家提供了学习交流、工作交流、情感交流的平台,使人们的工作更加简单快捷,使人们的生活更加丰富多彩。1.3 研究的内容 按照规范设计的方法,考虑数据库及其应用系统开发全过程,将研究内容分为以下几个方面:(1)需求分析(2)概念结构设计(3)逻辑结构设计(4)物理结构设计(5)数据库实施(6)数据库的运行与维护1.4 目前博客的国内研究现状 2005年9月8日新浪开始为亿万网民提供博客产品Blo

5、g Beta 2.0服务,由此中国博客门户网站拉开帷幕。9月26日,新浪网发起了“中国首届博客大赛”。 与此同时,另一门户网站搜狐也宣布推出酝酿已久的博客服务,并随即启动了它自己的“首届全球中文博客大奖赛”。由此中国博客行业得以迅猛发展,从2008年8月中国博客网站Alexa平均排名走势图可以看出,中国博客网站逐渐发展壮大,并日益被世界所关注。由此可见,博客的发展是乐观的。2 数据库设计的关键理论和实现方法2.1 数据库设计的理论 数据库设计是指对于一个给定的应用环境,构造(设计)优化的数据库逻辑模式和物理结构,并据此建立数据库及其应用系统,使之能够有效地存储和管理数据,满足各种用户的应用需求

6、。 数据库设计的目标是为用户和各种应用系统提供一个信息基础设施和高效率的运行环境。高效率的运行环境有:数据库数据的存取效率、数据库存储空间的利用率、数据库系统运行管理的效率等都是高的。 数据库设计的特点:(1)三分技术、七分管理、十二分基础设计 (2)结构设计和行为涉及相结合2.2 数据库设计的方法 数据库设计的方法有三种: (1)新奥尔良方法 (2)基于ER模型的数据库设计方法 (3)第三范式的设计方法3 需求分析3.1 数据需求 (1)数据表的设计 1. 用户信息表表1 UserInfo表字段名数据类型字段含义是否为空注释usernamevarchar(20)用户名否主键passwordv

7、archar(20)用户密码否sexvarchar(8)性别否emailvarchar(20)邮箱否favoritevarchar(50)爱好是imagevarchar(50)头像是blogatitlevarchar(50)博客标题是bulletinvarchar(100)公告是 2. 文章信息表表2article表字段名数据类型字段含义是否为空注释aidint(4)文章编号否主键atitlevarchar(80)文章标题否cidint(4)类别编号否外键adatevarchar(20)发表日期否zhaiyaovarchar(300)文章摘要是acontentntext(16)文章内容否use

8、rnamevarchar(20)用户名否外键viewcountbigint(8)浏览次数否3. 分类信息表表3category表字段名数据类型字段含义是否为空注释cidint(4)类别编号否主键cnamevarchar(20)类别名称否usernamevarchar(20)用户名否外键4. 评论信息表表4comment表字段名数据类型字段含义是否为空注释idint(4)评论编号否主键authorvarchar(20)评论人名字否主键ccontentvarchar(50)评论内容否createdatevarchar(50)评论日期否aidint(4)文章编号否外键backcontentvarch

9、ar(50)回复内容是backdatevarcgar(50)回复日期是5. 管理员信息表表5admin表字段名数据类型字段含义是否为空注释idint(4)管理员编号否主键adminnamevarchar(20)管理员名称否adminpasswordvarchar(20)管理员密码否blogbulletinvarchar(80)网站公告是6. 特殊文章信息表表6 spArticle表字段名数据类型字段含义是否为空注释spIDvarchar(20)特殊文章编号否主键spcnamevarchar(20)特殊分类名称否aidint(4)文章ID否外键titlevarchar(20)文章标题否7. 相片

10、信息表表7 Photo表字段名数据类型字段含义是否为空注释idint(4)相片编号否主键photonamevarchar(20)相片名称是主键usernamevarchar(8)用户姓名否(2)博客系统数据项的描述1. 博主描述数据项名:博主描述:博客的注册用户,对博客具有最高管理权限别名:无定义:用户id+用户名+密码+性别+邮箱+头像+权限数据量:1峰值:无其他说明:凡是普通用户已完成注册的,都是博主2. 普通用户描述数据项名:普通用户描述:博客的非注册用户,对博内容有一定浏览、评论权限别名:无定义:用户id+用户名+密码+性别+邮箱+头像+权限数据量:10000峰值:随时其他说明:普通用

11、户不具发表博文、上传照片等权利3. 博客管理员描述数据项名:博客管理员描述:实现对注册博主的管理和特殊文章的管理别名:无定义:用户名+密码数据量:1峰值:无其他说明:博客管理员,其账号是系统初始化的时候创建的4. 博文描述数据项名:博文描述:发表在博客中的博文别名:无定义:id+标题+摘要+内容+浏览数+回复数+发表时间数据量:10000峰值:随时其他说明:每篇博文不能超过1000个字符5. 评论描述数据项名:评论描述:博主或者普通用户对博文的评论别名:无定义:评论id+发表评论用户id+评论对象id+评论内容+评论时间数据量:10000峰值:随时其他说明:无6. 文章类别描述数据项名:文章类

12、别描述:发表不同的博文可以属于不同的类别别名:无定义:类别id+发表评论用户id+类别名称 数据量:10000峰值:随时其他说明:无3.2 完整性需求 由于系统的数据是共享的,要解决数据一致性问题,要有一定的人员维护数据,在数据录入处控制数据的去向,并且要求对数据库的数据完整性进行严格的约束。对于输入的数据,要为其定义完整性规则,如果不能符合完整性约束,系统应该拒绝该数据。3.3 功能需求 本系统分为前台设计和后台设计,其中前台设计针对的用户身份是普通用户和博主,后台设计针对的用户身份是管理员。(1)前台设计前台设计主要实现的功能有:对普通用户来说,主要有注册、登录、浏览文章和发表评论;对博主

13、来说,主要有 管理博文、管理评论、管理分类、相册管理、用户管理等功能。前台功能模块图如图所示。(2) 后台设计后台设计实现的功能主要功能有:对博主的管理,网站公告的管理,和在线人数的统计。后台功能模块图如图所示。3.4 性能需求(1)精度 在精度需求上,根据使用需要,控制各项输入、输出数据的长度。确保保证用户正常使用的同时节省系统空间。(2)时间特性要求 用html语言写博客首页,做到响应时间在3秒内。对附件上传做好文件大小限制,保证满足一般需求并且传输通畅,同时节约空间。(3)灵活性要求系统可以在各种主流浏览器上正常运行,对不同分辨率的显示器具有良好适应性。针对用户的新需求可以做到系统灵活修

14、改。3.5 接口需求 用户接口:本系统采用图形用户接口,以鼠标和键盘为用户接口,方便用户对博客系统的有效操作。更好地在博客里进行交流。内部接口:内部是页面和数据库连接,对应的页面输入框和显示框的内容在数据库得到显示。3.6 出错处理需求 列出可能的软件、硬件故障以及对各项性能而言所产生的后果和对故障处理的要求。(1)软件故障:系统异常,IIS不稳定,此系微软公司提供的产品,无法对其进行改进。(2)硬件故障:网络不应负载超荷:大部分时间内应保证在线用户数量小于设定极限数量,通过编码或服务器功能实现。(3)在系统中,数据的录入往往是大量的,因此系统要有一定的处理能力,以保证迅速的处理数据。(4)数

15、据的一致性与完整性 由于系统的数据是共享的,要解决数据一致性问题,要有一定的人员维护数据,在数据录入处控制数据的去向,并且要求对数据库的数据完整性进行严格的约束。对于输入的数据,要为其定义完整性规则,如果不能符合完整性约束,系统应该拒绝该数据。(5)数据的共享与独立性 整个博客系统的数据是共享的。然而,从系统开发的角度上看,共享会给设计和调试带来困难。因此,应该提供灵活的配置,使各个分系统能够独立运行,而通过人工干预的手段进行系统数据的交换。这样,也能提供系统的强壮性。4 概念结构设计4.1 博客系统局部ER图 根据以上各节对系统的需求分析和功能模块的分析,规划出本系统使用的数据库的关键实体是

16、用户实体、文章实体、评论实体、分类实体。下面将一一列出各个关键实体的E-R图。 (1)用户实体 在博客系统中,用户实体是管理员和普通用户。用户实体主要包括用户名字、用户密码、邮箱等属性。用户实体的E-R图如11所示。管理员主要包括管理员名、管理员密码、管理员ID等属性。管理员实体的E-R图如图12所示。(2)文章实体 在博客系统中,用户文章实体是指博主发表的文章中所包含的属性。文章实体主要包括文章的ID、文章标题、类别ID、发布日期、摘要、内容、作者、浏览次数。文章实体的E-R图如所示。(3)评论实体 在博客系统中,评论实体是指系统中的普通用户者和已经注册过的博主对博主发表过的文章进行评论。评

17、论实体主要包括评论ID、评论人的名字、评论内容、评论时间、文章ID。评论实体的E-R图如所示。(4)类别实体 在博客系统中,类别实体是对文章的分类。类别实体主要包括类别ID、类别名字、博主名字。类别实体的E-R图如所示。4.2 博客系统整体ER图 系统总体E-R图说明了实体与实体之间的关系,实体用矩形表示,属性用椭圆表示,联系用菱形表示,如图所示。5 逻辑结构设计5.1 关系模式 根据概念结构设计的E-R图,将ER图转换为关系模式,一个实体型转换成一个关系模式。实体的属性就是关系的属性,实体的码就是关系的码。根据转换原则,用横线将关系的码标出,如下: (1)用户(ID,用户名,密码,性别,邮箱

18、,爱好,头像,博客主题,公告) (2)博文(文章编号,文章标题,类别编号,发表日期,文章摘要,文章内容,用户名,浏览次数) (3)分类(类别编号,类别名称,用户名) (4)评论(评论编号,评论人名字,评论内容,评论日期,文章编号,回复内容,回复日期) (5)管理员(管理员编号,管理员名称,密码,网站公告) (6)特殊文章分类(特殊文章编号,特殊分类名称,文章ID,文章标题) (7)相片(相片ID,相片名称,发送相片的人的名称)5.2 外模式 外模式对应于视图: 5.3 完整性约束 为保证实体完整性,也就是第2范式,表中主键或唯一键是一定要有的,否则就可能出现重复纪录。当然外键也是不可缺少的。通

19、常矛盾在于:参照完整性及实现参照完整性的性能问题。(1)用外键实现参照完整性,保证数据的一致性;(2)海量数据的情况下,参照完整性检查的成本很大;6 物理结构设计6.1 访问方法选择 访问方法有三种: (1)索引存取方法 (2)聚簇存取方法 (3)HASH存取方法6.2 存储结构选择 确定数据的存放位置和存储结构要综合考虑存取时间、存储空间利用率和维护代价三个方面的因素。这3个方面常常识相互矛盾的,因此需要权衡。 本系统中数据库是存放在F盘的数据库文件夹下,系统的源代码是存放在E盘的工程目录下。6.3 物理结构评价 (1)时间效率:可以实现。 (2)空间效率:可以实现。 (3)维护代价:可以实

20、现。7 安全性设计7.1 身份验证模式 使用用户名来标明身份,并输入用户密码。数据库内部记录着所有合法用户的用户名,以登陆页面为入口,鉴别此用户是否为合法用户,并核实用户密码的匹配,若是,则可以进入到下一步的操作。7.2 权限管理 SQL Server提供了非常灵活的授权机制,拥有对数据库中所有对象的所有权限,并可以根据不同的权限角色授予不同的用户。 用户权限:没有用户名的用户可以通过注册获得。用户登陆后,能进行文章的查看和发表评论的功能。 管理权限:管理者可以进行对文章和普通用户的管理。8 博客系统的实现与测试8.1 博客系统的实现与测试1. 管理员对用户管理的界面2. 普通用户的主界面3.

21、博主的主界面4. 发表文章的界面5. 分类的管理界面6. 相册管理的主界面9 结论至此,博客项目系统的设计与开发已经顺利完成。在几天的试运行的过程中,在连接数据库时一度出现过错误,经过调试改正后错误点全部清除,此系统可以按着设计思想和需求功能正常运行。通过开发博客项目系统,不仅掌握了对数据库需求分析有了了解,而且懂得了对概念结构和逻辑结构的设计,而且熟练掌握了集成开发环境MYEclipse 8.5的使用,还学会了Tomcat 5.0服务器、SQLServer数据库及相关组件的应用,培养和锻炼了独立从事开发项目系统的能力,而且通过对博客项目系统管理的操作,加深了对管理信息系统的原理、技术、方法、

22、工具、步骤和有关理论知识的理解和认识,为今后在工作岗位上更好的利用jsp技术开发网站打下了良好的基础。但是还有更多更复杂的功能要求。该博客系统在界面美化、权限控制、程序优化及自定义扩展功能方面还需进一步完善。由于开发周期短等局限性,不能将本套系统尽善尽美。希望在以后能够博客做更深一步的调研,在原有系统的基础上不断添加新功能参考文献1. 徐进明、但正刚,JSP网站开发技术,清华大学出版社,2007年6月2. 贾素玲、王强,JSP应用开发技术,清华大学出版社,2009年4月 3. 李宁,Java Web 开发技术大全,清华大学出版社,2010年8月4. 吕凤顺,SQLServer数据库基础与实训教

23、程,清华大学出版社,2009年4月5. 江文,软件建模技术,北京邮电大学出版社,2009年8月6. 邓振杰、何丽娟,网页制作技术,人民邮电出版社,2009年8月7. 张伟,Java SE 实践教程,电子工业出版社,2008年4月8. 张伟,Java 语言程序设计,电子工业出版社,2008年4月附录1. 连接数据库的代码实现DBUtil类: private static Connection conn = null; /能够返回数据库的连接 public static Connection getConnection() try Class.forName(com.microsoft.jdbc.

24、sqlserver.SQLServerDriver); /获取数据库的JDBC驱动 conn=DriverManager.getConnection(jdbc:microsoft:sqlserver:/loca lhost:1433;DatabaseName=BlogDB,sa,); catch (ClassNotFoundException e) e.printStackTrace(); catch (SQLException e) e.printStackTrace(); return conn; /关闭连接的静态方法 public static void close(Connection

25、 con) try if(con!=null) con.close(); catch (SQLException e) e.printStackTrace(); 2. JavaBean的代码实现由于本系统中涉及的JavaBean比较多,所以只以Category为例,说明JavaBean的代码实现。package cn.kfu.entity;public class Category private String username; /博主的名字 private int cid; /类别的ID private String cname; /类别的名称 public int getCid() re

26、turn cid; public void setCid(int cid) this.cid = cid; public String getCname() return cname; public void setCname(String cname) ame = cname; public String getUsername() return username; public void setUsername(String username) this.username = username; 3. Dao层的实现Dao层是用于前台页面与后台数据库的交流,主要是用于查询数据用的,通常的方

27、法有增,删,改,查。由于代码比较多,所以在此也以Category为例,说明Dao层的实现。由于篇幅的限制,只写了部分代码。public class CategoryDao private Connection conn; private ResultSet rs; private PreparedStatement pstm; public List findAll() List l=new LinkedList(); conn=DBUtil.getConnection(); String sql=select * from category; try pstm=conn.prepareSta

28、tement(sql); rs=pstm.executeQuery(); while(rs.next() Category c=new Category(); c.setCid(rs.getInt(cid); c.setCname(rs.getString(cname); c.setUsername(rs.getString(username); l.add(c); catch (SQLException e) e.printStackTrace();return l;4 实现管理员对用户冻结的代码public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException response.setContentType(text

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1