博客系统项目搭建准备

Posted 别人放弃,我依旧坚持

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了博客系统项目搭建准备相关的知识,希望对你有一定的参考价值。

一.项目背景

  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

 

以上是关于博客系统项目搭建准备的主要内容,如果未能解决你的问题,请参考以下文章

使用laravel搭建博客网站-博客的前期准备

使用laravel搭建博客网站-博客的前期准备

使用laravel搭建博客网站-博客的前期准备

SpringBoot技术栈搭建个人博客项目准备

基于Hexo的博客搭建——虚拟机中linux(deepin)系统上安装配置Git和Node.js,为部署个人博客做前期准备

Web 三件套个人简单博客系统页面搭建(附源码)