大家好,我是全微毕设团队的创始人,本团队擅长JAVA(SSM,SSH,SPRINGBOOT)、PYTHON、PHP、C#、安卓等多项技术。
今天将为大家分析一个BLOG网站建设(采用当前非常流行的B/S体系结构,以JSP作为开发技术,主要依赖SSM技术框架,实现博客网站的实时动态管理,使得对个人博客信息的管理更加及时、高效、便捷,提高信息管理的工作效率. “博客”作为现代社会非常流行的词汇,它是将英语单词Weblog简写成blog,而blog直译过来即博客,故此而得名.通过博客可以把在网络上发布过的和浏览过的信息记录下来,一般将其称之为“网络日志”,简称为“网志”.),该项目使用框架为SSM(MYECLIPSE),选用开发工具为MYECLIPSE。BLOG网站建设为一个 后台项目。
为了完成该系统,我们首先需要对该系统进行需求分析。一个BLOG网站建设应包含用户角色有管理员、用户。为了能让用户顺利登陆系统完成相关操作,需要为每种登陆角色设置账户和密码字段。
为了完成系统的功能需要为用户设置博客表,记录博客信息。在博客表中定义了两者的关联关系,其中博客的作者与用户的mingzi字段对应、博客的作者id与用户的id字段对应
。为了完成系统的功能需要为博客、用户设置评论表,记录评论信息。在评论表中定义了两者的关联关系,其中评论的博客与博客的biaoti字段对应、评论的博客id与博客的id字段对应、评论的用户与用户的mingzi字段对应、评论的用户id与用户的id字段对应
。
总结得出该系统所有数据为:管理员(admin)、用户(yonghu)、博客(boke)、评论(pingllun)
管理员表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 管理员id username | VARCHAR(255) | | 账号 password | VARCHAR(255) | | 密码
用户表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 用户id mingzi | VARCHAR(255) | | 名字 username | VARCHAR(255) | | 账号 password | VARCHAR(255) | | 密码 xingbie | VARCHAR(255) | | 性别 nianling | VARCHAR(255) | | 年龄 jianjie | VARCHAR(255) | | 简介
博客表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 博客id biaoti | VARCHAR(255) | | 标题 zuozhe | VARCHAR(255) | | 作者 zuozheid | VARCHAR(255) | | 作者id neirong | VARCHAR(255) | | 内容 fabushijian | VARCHAR(255) | | 发布时间
评论表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 评论id boke | VARCHAR(255) | | 博客 bokeid | VARCHAR(255) | | 博客id yonghu | VARCHAR(255) | | 用户 yonghuid | VARCHAR(255) | | 用户id neirong | VARCHAR(255) | | 内容
sql建表语句
SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- -- ---------------------------- -- Table structure for ggbokewangzhan -- ---------------------------- DROP TABLE IF EXISTS `t_admin`; CREATE TABLE `t_admin` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '管理员id',`username` VARCHAR(255) DEFAULT NULL COMMENT '账号',`password` VARCHAR(255) DEFAULT NULL COMMENT '密码',PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='管理员'; -- ---------------------------- DROP TABLE IF EXISTS `t_yonghu`; CREATE TABLE `t_yonghu` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '用户id',`mingzi` VARCHAR(255) DEFAULT NULL COMMENT '名字',`username` VARCHAR(255) DEFAULT NULL COMMENT '账号',`password` VARCHAR(255) DEFAULT NULL COMMENT '密码',`xingbie` VARCHAR(255) DEFAULT NULL COMMENT '性别',`nianling` VARCHAR(255) DEFAULT NULL COMMENT '年龄',`jianjie` VARCHAR(5000) DEFAULT NULL COMMENT '简介',PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='用户'; -- ---------------------------- DROP TABLE IF EXISTS `t_boke`; CREATE TABLE `t_boke` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '博客id',`biaoti` VARCHAR(255) DEFAULT NULL COMMENT '标题',`zuozhe` VARCHAR(255) DEFAULT NULL COMMENT '作者',`zuozheid` INT(11) DEFAULT NULL COMMENT '作者id',`neirong` VARCHAR(5000) DEFAULT NULL COMMENT '内容',`fabushijian` VARCHAR(255) DEFAULT NULL COMMENT '发布时间',PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='博客'; -- ---------------------------- DROP TABLE IF EXISTS `t_pingllun`; CREATE TABLE `t_pingllun` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '评论id',`boke` VARCHAR(255) DEFAULT NULL COMMENT '博客',`bokeid` INT(11) DEFAULT NULL COMMENT '博客id',`yonghu` VARCHAR(255) DEFAULT NULL COMMENT '用户',`yonghuid` INT(11) DEFAULT NULL COMMENT '用户id',`neirong` VARCHAR(5000) DEFAULT NULL COMMENT '内容',PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='评论';
博客模块:
博客表描述模板:
博客表主要用来记录博客的详细信息,其中包含字段标题,作者,作者id,内容,发布时间。其中:作者id字段对应作者表中的id信息。
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 博客id biaoti | VARCHAR(255) | | 标题 zuozhe | VARCHAR(255) | | 作者 zuozheid | INT(11) | | 作者id neirong | VARCHAR(255) | | 内容 fabushijian | VARCHAR(255) | | 发布时间
添加博客模块:
在bokeController中定义tianjiabokeact接收页面传入的博客参数,定义为boke。其中boke包含字段:标题,作者,作者id,内容,发布时间,使用tianjiabokeact将该博客对象存入数据库中,在bokeMapper中定义了insert方法,匹配数据库中的insert into boke语句实现将博客数据存入数据库的操作。该部分核心代码如下:
通过bokedao的insert方法将页面传输的博客添加到数据库中 bokedao.insert(boke);
将添加博客成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "添加博客成功");
返回博客管理界面
return "forward:/tianjiaboke.action";
查询博客模块:
在浏览器中进入博客查询页面时,此时浏览器的地址栏为bokeguanli.action,该地址将响应bokeController类中的bokeguanli,在该方法中,通过selectByexample方法获取所有的博客信息,并将该信息保存到request中,在页面进行循环展示。该部分核心代码如下:
生成博客样例类,通过example定义查询条件 BokeExample example = new BokeExample();
通过bokedao的selectByExample方法查询出所有的博客信息 List bokeall = bokedao.selectByExample(example);
将博客信息,保存到request中,在页面通过foreach方法进行展示 request.setAttribute("bokeall", bokeall);
返回博客管理界面
return "forward:/bokeguanli.action";
修改博客模块:
在页面填写完修改信息后,点击修改按钮,将数据提交到xiugaiboke中,封装为一个博客
,使用update方法修改该博客信息,将数据同步到数据库,完成修改操作。
定义修改成功提示信息,修改博客成功,并保存到request中具体代码如下:
通过bokedao的修改方法根据id修改对应的博客 bokedao.updateByPrimaryKeySelective(boke);
将修改博客成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "修改博客信息成功");
返回博客管理界面
return "forward:/bokeguanli.action";