首页 > 其他 > 详细

博客系统项目搭建准备

时间:2017-12-16 23:55:20      阅读:367      评论:0      收藏:0      [点我收藏+]

一.项目背景

  1999年初,由于 Cameron与Jesse共同维护的博客站点列表既有趣又易于阅读,吸引了很多人的眼球。在这种情况下,Peter Merholz宣称:“这个新鲜事物必将引起大多数人的注意。作为未来的一个常用词语,web-blog将不可避免地被简称为blog,而那些编写网络日志的人,也就顺理成章地成为blogger“博客”。这代表着博客被正式命名。
  8月份,Pyra发布了Blogger网站,Groksoup也投入运营,使用这些企业所提供的简单的基于互联网的工具,博客站点的数量终于出现了一种爆炸性增长。1999年末,软件研发商Dave Winer向大家推荐EditTh isPage网站,JefA .Ca mpbell发布了Velocinews网站。所有的这些服务都是免费的,他们的目的也很明确:让更多的人成为博客,来网上发表意见和见解。
  随着Blogging快速扩张,它的目的与最初的浏览网页心得已相去甚远。目前网络上数以千计的 Bloggers发表和张贴Blog的目的有很大的差异。不过,由于沟通方式比电子邮件、讨论群组更简单和容易,Blog已成为家庭、公司、部门和团队之间越来越盛行的沟通工具,因为它也逐渐被应用在企业内部网络(Intranet)中。目前,BSP商家风 起云涌,已有数十家大型博客站点。目前,国内优秀的中文博客网有:新浪博客,搜狐博客,中国博客网,腾讯博客,博客中国等。

二.博客系统功能分析

  1.系统提供非注册用户注册、浏览其他已注册用户发布的日志、日志分类信息、图片详情、相册信息,查看日志评论等功能。
  2.除了提供非注册用户的所有功能外,系统向已注册用户提供后台管理功能,注册用户可以浏览管理个人发布的日志、浏览和管理个人相册、浏览和管理评论、浏览和管理个人信息、浏览和管理常用链接、浏览和修改个人登录密码、安全退出系统等功能。
  3.系统具备日志可视化文本编辑功能,使用百度编辑器对日志内容进行录入,可以方便的按照自己的布局方式展示日志内容。

三.博客系统架构

1.功能列表

技术分享图片

 

 
技术分享图片

2.博客系统架构

2.1 mvc架构

  MVC框架是由Model模型(JavaBean),View视图(Jsp) 和 Controller控制器(Servlet)构成:
  (1).Model:承载数据,并对用户提交请求进行计算的模块。其分为两类,一类称为数据承载Bean,一类称为业务处理Bean。所谓数据承载Bean是指实体类,专门承载业务数据的。而业务处理Bean则是指Service或Dao对象,专门用于处理用户提交请求的。
  (2).View:为用户提供使用界面,与用户直接进行交互。
  (3).Controller:用于将用户请求转发给相应的Model进行处理,并将处理Model的计算结果向用户提供相应响应。
                           技术分享图片

 

 

2.2 ssm框架

  SSM(Spring+SpringMVC+MyBatis)框架集由Spring、SpringMVC、MyBatis三个开源框架整合而成,常作为数据源较简单的web项目的框架。
  (1).SpringMVC:作为View层的实现者,完成用户的请求接收功能。SpringMVC的Controller作为整个应用的控制器,完成用户请求的转发及对用户的响应
  (2).MyBatis:作为 Dao层的实现者,完成对数据库的增、删、改、查功能。
  (3).Spring:以整个应用大管家的身份出现。整个应用中所有的Bean的生命周期行为,均由Spring来管理。即整个应用中所有对象的创建、初始化、销毁,及对象间关联关系的维护,均由Spring进行管理。
 

技术分享图片

四.数据库设计

1.设计需求及要求

  根据需求,共设计了7张表,分别为t_user(用户表),t_album(相册表) ,t_category(日志分类表),t_comment(日志评论表),t_journal(日志表),t_link(常用链接表),t_photo(图片详情表)这7张表的设计严格按照数据库的规范,尽可能符合符合以下要求。
  (1)数据的完整性:保证数据库中存取数据准确、完整、数据更新的一致性。
  (2)数据的结构化:设计层次分明,分布合理。在满足系统所需功能的前提下,在设计时可以考虑基本表的个数越少越好,主键的个数越少越好,字段个数越少越好。
  (3)减少数据冗余:一方面数据库系统应该尽量减少数据冗余,节省存储空间。另一方面,还要考虑适当的冗余,以提高系统的运行    速度和后台逻辑开发速度。

 2.数据库架构

技术分享图片

3.数据库表结构

(1)t_user 用户表

技术分享图片

技术分享图片
CREATE TABLE `t_user` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 用户编号,
  `username` varchar(64) NOT NULL COMMENT 用户名,
  `password` varchar(128) NOT NULL COMMENT 密码,
  `nickname` varchar(255) DEFAULT NULL COMMENT 昵称,
  `email` varchar(64) DEFAULT NULL COMMENT 注册邮箱,
  `sign` varchar(255) DEFAULT NULL COMMENT 个性签名,
  `name` varchar(36) DEFAULT NULL COMMENT 真实姓名,
  `sex` varchar(12) DEFAULT NULL COMMENT 性别,
  `phonenumber` varchar(36) DEFAULT NULL COMMENT 手机号码,
  `address` varchar(64) DEFAULT NULL COMMENT 家庭住址,
  `upload` varchar(64) DEFAULT NULL COMMENT 头像,
  `registime` date DEFAULT NULL COMMENT 注册时间,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8
用户表sql

 

 (2)t_journal 日志表

技术分享图片

技术分享图片
CREATE TABLE `t_journal` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 日志id,
  `title` varchar(128) DEFAULT NULL COMMENT 日志标题,
  `categoryid` int(11) DEFAULT NULL COMMENT 日志所属日志分类id,
  `content` text COMMENT 日志内容,
  `createtime` date DEFAULT NULL COMMENT 日志创建时间,
  `userid` int(11) DEFAULT NULL COMMENT 日志所属用户id,
  `readtimes` int(11) DEFAULT NULL COMMENT 日志阅读次数,
  `commentime` int(11) DEFAULT NULL COMMENT 日志评论次数,
  `abstract` varchar(255) DEFAULT NULL COMMENT 日志摘要,
  PRIMARY KEY (`id`),
  KEY `userid` (`userid`),
  KEY `categoryid` (`categoryid`),
  CONSTRAINT `t_journal_ibfk_1` FOREIGN KEY (`userid`) REFERENCES `t_user` (`id`),
  CONSTRAINT `t_journal_ibfk_2` FOREIGN KEY (`categoryid`) REFERENCES `t_category` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
日志表sql

 (3)t_category 日志分类表

技术分享图片

技术分享图片
CREATE TABLE `t_category` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 日志分类id,
  `categoryname` varchar(64) DEFAULT NULL COMMENT 日志分类名称,
  `userid` int(11) DEFAULT NULL COMMENT 日志分类所属用户id,
  `count` int(11) DEFAULT NULL COMMENT 日志分类下日志个数,
  PRIMARY KEY (`id`),
  KEY `userid` (`userid`),
  CONSTRAINT `t_category_ibfk_1` FOREIGN KEY (`userid`) REFERENCES `t_user` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
日志分类表sql

(4)t_album 相册表,分类管理图片

技术分享图片

技术分享图片
CREATE TABLE `t_album` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 相册id,
  `userid` int(11) DEFAULT NULL COMMENT 相册所属的用户id,
  `count` int(11) DEFAULT NULL COMMENT 该相册下照片的个数,
  `name` varchar(255) DEFAULT NULL COMMENT 相册名称,
  `createtime` date DEFAULT NULL COMMENT 创建相册的时间,
  `describe` text COMMENT 相册描述,
  PRIMARY KEY (`id`),
  KEY `userid` (`userid`),
  CONSTRAINT `t_album_ibfk_1` FOREIGN KEY (`userid`) REFERENCES `t_user` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
相册表sql

(5)t_comment 评论表

技术分享图片

技术分享图片
CREATE TABLE `t_comment` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 评论id,
  `content` text COMMENT 评论内容,
  `userid` int(11) DEFAULT NULL COMMENT 发表评论用户id,
  `journalid` int(11) DEFAULT NULL COMMENT 发表评论所属日志分类id,
  `createtime` date DEFAULT NULL COMMENT 发表评论的时间,
  `state` int(11) DEFAULT NULL COMMENT 评论状态 0审核通过 1审核不通过,
  PRIMARY KEY (`id`),
  KEY `userid` (`userid`),
  KEY `journalid` (`journalid`),
  CONSTRAINT `t_comment_ibfk_1` FOREIGN KEY (`userid`) REFERENCES `t_user` (`id`),
  CONSTRAINT `t_comment_ibfk_2` FOREIGN KEY (`journalid`) REFERENCES `t_journal` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
评论表sql

 (6)t_photo 图片详情表

技术分享图片

技术分享图片
CREATE TABLE `t_photo` (
  `id` int(11) NOT NULL COMMENT 图片id,
  `describe` varchar(255) DEFAULT NULL COMMENT 图片描述,
  `path` varchar(255) DEFAULT NULL COMMENT 图片访问地址,
  `createtime` date DEFAULT NULL COMMENT 图片上传时间,
  `userid` int(11) DEFAULT NULL COMMENT 图片所属用户id,
  `albumid` int(11) DEFAULT NULL COMMENT 图片所属相册id,
  PRIMARY KEY (`id`),
  KEY `userid` (`userid`),
  KEY `albumid` (`albumid`),
  CONSTRAINT `t_photo_ibfk_1` FOREIGN KEY (`userid`) REFERENCES `t_user` (`id`),
  CONSTRAINT `t_photo_ibfk_2` FOREIGN KEY (`albumid`) REFERENCES `t_album` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
图片详情表sql

(7)t_link 常用链接表

技术分享图片

技术分享图片
CREATE TABLE `t_link` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 常用链接id,
  `name` varchar(128) DEFAULT NULL COMMENT 常用链接名称,
  `url` varchar(128) DEFAULT NULL COMMENT 常用链接url地址,
  `userid` int(11) DEFAULT NULL COMMENT 常用链接所属用户,
  PRIMARY KEY (`id`),
  KEY `userid` (`userid`),
  CONSTRAINT `t_link_ibfk_1` FOREIGN KEY (`userid`) REFERENCES `t_user` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
常用链接表sql

 

博客系统项目搭建准备

原文:http://www.cnblogs.com/wzt-blog/p/8047829.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!