基于java Web 个人网站系统设计与实现

4.1 整体功能模块分析

根据需求分析的说明,该个人网站应具有基本功能可以总结为以下几个模块,如图4.1所示:

图4.1 系统组织图

根据业务管理实际,个人网站应包含前台和后来。后台管理员主要实现了博客管理、用户管理、视频管理等功能。前台客户可以查看博客内容,可以注册、登录,进行留言等。

第5章 详细设计

详细设计阶段的任务就是把在总体设计阶段提出的比较抽象概括的解决问题的方法具体化,也就是"应该怎样具体地实现这个系统"。在本阶段将包括数据库的设计和每个模块的详细设计,确定实现模块功能所需要的算法和数据结构。

5.1 数据库设计

5.1.1 概念结构设计

个人网站中各实体的属性如下:

包含以下8个实体,用户实体,博客实体,博客评论实体,收藏实体,留言实体,相册实体,音乐实体,视频实体个人网站E-R图如图5.3所示:

图5.3 博客的相关实体联系图

5.1.2 逻辑结构设计

1.关系模型设计

目前,数据库领域常用的数据模型有四种,它们是:层次模型(Hierarchical Model)、网状模型(Network Model)、关系模型(Relational Model)、面向对象模型(Object Oriented Model)。在本个人网站中,我采用了关系模型的方式。

下面我们把上面的E-R图转换为关系模型。根据一般的转换原则,转换如下所示,其中主键用下横线标出。

1 用户( 用户编号,用户名,密码,姓名,权限,电话,地址 )

2 博客( 博客编号,标题,内容,发布时间,发布人 )

3 博客评论( 博客评论编号,博客,评论,用户,时间 )

4 收藏( 收藏编号,博客,用户,时间 )

5 留言( 留言编号,留言,用户,时间 )

6 相册( 相册编号,相册名称,图片,上传说明,上传时间 )

7 音乐( 音乐编号,名称,说明,文件 )

8 视频( 视频编号,视频名称,说明,文件,上传时间 ) 。

2.数据库表的结构实现

由各个关系模式和根据需求分析阶段数据字典的数据项描述,给出各数据表结构。系统总的表的结构如表5-1所示。

表5-1数据库表汇总

|----|----------|------|-----------------------|
| 序号 | 表名 | 表中文名 | 功能说明 |
| 1 | yonghu | 用户 | 用户表,用于保存系统用户的信息管理 |
| 2 | boke | 博客 | 博客表,用于保存系统博客的信息管理 |
| 3 | bkpl | 博客评论 | 博客评论表,用于保存系统博客评论的信息管理 |
| 4 | shouzang | 收藏 | 收藏表,用于保存系统收藏的信息管理 |
| 5 | liuyan | 留言 | 留言表,用于保存系统留言的信息管理 |
| 6 | xiangce | 相册 | 相册表,用于保存系统相册的信息管理 |
| 7 | yinle | 音乐 | 音乐表,用于保存系统音乐的信息管理 |
| 8 | shipin | 视频 | 视频表,用于保存系统视频的信息管理 |

数据库中的表如表5-2到5-10所示:

表5-2 用户 信息表

|----|------|---------|----|----|------|
| 序号 | 字段名称 | 数据类型 | 长度 | 主键 | 描述 |
| 1 | yhid | INTEGER | 11 | 是 | 用户编号 |
| 2 | yhm | VARCHAR | 40 | 否 | 用户名 |
| 3 | mm | VARCHAR | 40 | 否 | 密码 |
| 4 | xm | VARCHAR | 40 | 否 | 姓名 |
| 5 | qx | VARCHAR | 40 | 否 | 权限 |
| 6 | dh | VARCHAR | 40 | 否 | 电话 |
| 7 | dz | VARCHAR | 40 | 否 | 地址 |

表5-3 博客 信息表

|----|------|---------|----|----|------|
| 序号 | 字段名称 | 数据类型 | 长度 | 主键 | 描述 |
| 1 | bkid | INTEGER | 11 | 是 | 博客编号 |
| 2 | bt | VARCHAR | 40 | 否 | 标题 |
| 3 | nr | VARCHAR | 40 | 否 | 内容 |
| 4 | fbsj | VARCHAR | 40 | 否 | 发布时间 |
| 5 | fbr | VARCHAR | 40 | 否 | 发布人 |

表5-4 博客评论 信息表

|----|--------|---------|----|----|--------|
| 序号 | 字段名称 | 数据类型 | 长度 | 主键 | 描述 |
| 1 | bkplid | INTEGER | 11 | 是 | 博客评论编号 |
| 2 | bk | VARCHAR | 40 | 否 | 博客 |
| 3 | pl | VARCHAR | 40 | 否 | 评论 |
| 4 | yh | VARCHAR | 40 | 否 | 用户 |
| 5 | sj | VARCHAR | 40 | 否 | 时间 |

表5-5 收藏 信息表

|----|------|---------|----|----|------|
| 序号 | 字段名称 | 数据类型 | 长度 | 主键 | 描述 |
| 1 | szid | INTEGER | 11 | 是 | 收藏编号 |
| 2 | bk | VARCHAR | 40 | 否 | 博客 |
| 3 | yh | VARCHAR | 40 | 否 | 用户 |
| 4 | sj | VARCHAR | 40 | 否 | 时间 |

表5-6 留言 信息表

|----|------|---------|----|----|------|
| 序号 | 字段名称 | 数据类型 | 长度 | 主键 | 描述 |
| 1 | lyid | INTEGER | 11 | 是 | 留言编号 |
| 2 | ly | VARCHAR | 40 | 否 | 留言 |
| 3 | yh | VARCHAR | 40 | 否 | 用户 |
| 4 | sj | VARCHAR | 40 | 否 | 时间 |

表5- 7 音乐 信息表

|----|------|---------|----|----|------|
| 序号 | 字段名称 | 数据类型 | 长度 | 主键 | 描述 |
| 1 | ylid | INTEGER | 11 | 是 | 音乐编号 |
| 2 | mc | VARCHAR | 40 | 否 | 名称 |
| 3 | sm | VARCHAR | 40 | 否 | 说明 |
| 4 | wj | VARCHAR | 40 | 否 | 文件 |

表5- 8 视频 信息表

|----|------|---------|----|----|------|
| 序号 | 字段名称 | 数据类型 | 长度 | 主键 | 描述 |
| 1 | spid | INTEGER | 11 | 是 | 视频编号 |
| 2 | spmc | VARCHAR | 40 | 否 | 视频名称 |
| 3 | sm | VARCHAR | 40 | 否 | 说明 |
| 4 | wj | VARCHAR | 40 | 否 | 文件 |
| 5 | scsj | VARCHAR | 40 | 否 | 上传时间 |

5.2 界面设计

个人网站包括后台和前台两部分,接下来分前后台来分别展示界面。

5.2.1后台界面

管理员登陆界面,如图5.5所示:

图5.7 管理员登陆界面

后台主界面分为用户管理,博客管理管理等几个部分,如图5.6所示:

图5.8 后台主页面

评论管理,如图5.7所示:

图5.9 评论管理

5.2.2前台界面

前台主页面浏览博客信息,如图5.12所示:

图5.13 前台主页面

留言信息,如图5.14所示:

图5.14 留言信息

大家点赞、收藏、关注、评论啦 其他的定制服务 商务合作 下方联系卡片↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ 或者私信作者

相关推荐
岳麓丹枫00135 分钟前
PostgreSQL 中 pg_wal 目录里的 .ready .done .history 文件的生命周期
数据库·postgresql
牛奔39 分钟前
Go 如何避免频繁抢占?
开发语言·后端·golang
寻星探路5 小时前
【深度长文】万字攻克网络原理:从 HTTP 报文解构到 HTTPS 终极加密逻辑
java·开发语言·网络·python·http·ai·https
lly2024066 小时前
Bootstrap 警告框
开发语言
2601_949146537 小时前
C语言语音通知接口接入教程:如何使用C语言直接调用语音预警API
c语言·开发语言
陌上丨7 小时前
Redis的Key和Value的设计原则有哪些?
数据库·redis·缓存
曹牧7 小时前
Spring Boot:如何测试Java Controller中的POST请求?
java·开发语言
KYGALYX7 小时前
服务异步通信
开发语言·后端·微服务·ruby
AI_56787 小时前
AWS EC2新手入门:6步带你从零启动实例
大数据·数据库·人工智能·机器学习·aws