说在前面
因本人初学javaweb相关知识,所以一些代码难免存在不完善的地方,如有错误,请大家指出。本文是项目文本,详细代码实现在github上https://github.com/Ice-Shine/javaweb-blog。
1.概要设计
本文主要讲述了基于javaweb的个人博客的设计和实现过程:主要包括概要设计和主要功能的实现。主要角色大致有用户和管理员,其中跟用户相关的模块包括用户信息模块、评论模块和搜索模块等,跟管理员相关的模块包括登录、用户管理、文章管理、评论管理、用户管理等。在本系统的开发中用到的主要工具是IntelliJ IDEA、Tomcat和MySQL,开发语言为JAVA,主要框架是bootstrap。最后讲了目前系统存在的问题以及进一步优化的方向。
该个人博客让各个用户都可以在该平台上发布文章和管理自己的信息以及对文章进行评论。管理员可以管理文章、管理用户评论和管理用户。
1.1框架设计
本项目采用了三层架构设计,即把各个功能模块划分为表示层(UI)、业务逻辑层(BLL)和数据访问层(DAL)三层架构,各层之间采用接口相互访问。在本项目中数据访问层指开发中常见的Dao层。负责对数据库的访问,实现对各个表的增加、删除、修改、查询的操作。具体为业务逻辑层提供数据服务。业务逻辑层指Service层。主要是对数据业务逻辑进行处理。处于表现层和数据访问层的中间,它被表现层调用,它调用数据访问层,在数据交换中起到了承上启下的作用。表现层指web层,主要功能为接受用户的请求和显示返回的数据,为用户提供交互式操作的界面。
1.2系统总体设计
1.2.1 系统主要功能模块
主要模块按人员分类(如下图)可分为用户、管理员和游客,其中游客为无登录状态时的身份。
用户主要功能模块如下:
用户评论:登录后用户可以在文章下方进行评论。
查看文章:用户可以查看文章。
修改用户信息:用户可以在修改信息页面进行信息修改。
管理员主要功能模块如下:
管理文章:管理员可以在后台页面进行文章管理,包括添加文章、删除文章和修改文章。
管理用户:管理员可以在后台页面删除用户。
管理评论:管理员可以查看某一个文章下的评论并进行删除操作。
查看文章和评论:同用户权限。
1.2.2 系统主要结构设计
系统界面分为前台用户界面和后台管理界面,前台用户界面需要实现登录注册、查看文章、搜索文章和评论的功能。其中评论功能需要在登录后使用。后台管理界面需要在管理员登录后才能进入,普通用户登录需要进行拦截。后台界面需要实现用户管理(即用户删除功能)、文章管理(即文章的添加、删除和修改)、文章评论管理(即文章下的评论删除)等功能。
1.3 数据库设计
本系统用到了三张表,分别是user表,article表和review表,数据库使用的是mysql,各表的详细情况如下:
1.用户user表(如表 1):主要记录用户的信息。
2.文章article表(如表 2):主要记录文章的信息和内容,其中user_id与user表的id外键连接。
3.评论review表(如表 3)&#x