基于B/S模式下的JSP网上贴吧系统

时间:2019-09-25
本文章向大家介绍基于B/S模式下的JSP网上贴吧系统,主要包括基于B/S模式下的JSP网上贴吧系统使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

每天记录学习,每天会有好心情。*^_^*

在学习网上贴吧系统项目的时候,方便日后能及时查阅,在本平台中记录一下该项目的开发流程。在学习时候的选用了SSM(MYECLIPSE),这个框架不论是学习还是使用都非常方便,简单易上手。是我们学习编程可以重点学习的一个框架,我在开发网上贴吧系统项目的时候选用了MYECLIPSE来搭建SSM(MYECLIPSE)框架,最终将网上贴吧系统项目开发为了一个 后台项目。
该项目具有的用户角色包括了管理员,每个角色都含有自己的登录账号和密码。
系统中用户、帖子之间具有较强的联系性。他们之间的关系为帖子的发布者id与用户的mingzi字段对应、帖子的发布时间与用户的id字段对应
。在帖子表中可以体现出这种关系。回帖联系了用户,通过关联使得用户之间建立了联系,加强了系统的实用性和便捷性。增强了用户体验。他们之间的关联关系是回帖的发布者与用户的mingzi字段对应、回帖的发布者id与用户的id字段对应。

总结得出该系统所有数据为:管理员(admin)、帖子(tiezi)、回帖(huitie)、用户(yonghu)

管理员表

字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 管理员id
username | VARCHAR(255) | | 账号
password | VARCHAR(255) | | 密码

帖子表

字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 帖子id
biaoti | VARCHAR(255) | | 标题
neirong | VARCHAR(255) | | 内容
fabuzhe | VARCHAR(255) | | 发布者
fabuzheid | VARCHAR(255) | | 发布者id
fabushjijian | VARCHAR(255) | | 发布时间

回帖表

字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 回帖id
tiezi | VARCHAR(255) | | 帖子
tieziid | VARCHAR(255) | | 帖子id
neirong | VARCHAR(255) | | 内容
fabuzhe | VARCHAR(255) | | 发布者
fabuzheid | VARCHAR(255) | | 发布者id

用户表

字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 用户id
mingzi | VARCHAR(255) | | 名字
username | VARCHAR(255) | | 账号
password | VARCHAR(255) | | 密码
SET FOREIGN_KEY_CHECKS=0;

-- ----------------------------

-- ----------------------------

-- Table structure for ggtieba

-- ----------------------------

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_tiezi`;

CREATE TABLE `t_tiezi` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '帖子id',`biaoti` VARCHAR(255) DEFAULT NULL COMMENT '标题',`neirong` VARCHAR(255) DEFAULT NULL COMMENT '内容',`fabuzhe` VARCHAR(255) DEFAULT NULL COMMENT '发布者',`fabuzheid` INT(11) DEFAULT NULL COMMENT '发布者id',`fabushjijian` VARCHAR(255) DEFAULT NULL COMMENT '发布时间',PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='帖子';

-- ----------------------------

DROP TABLE IF EXISTS `t_huitie`;

CREATE TABLE `t_huitie` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '回帖id',`tiezi` VARCHAR(255) DEFAULT NULL COMMENT '帖子',`tieziid` INT(11) DEFAULT NULL COMMENT '帖子id',`neirong` VARCHAR(255) DEFAULT NULL COMMENT '内容',`fabuzhe` VARCHAR(255) DEFAULT NULL COMMENT '发布者',`fabuzheid` INT(11) DEFAULT NULL COMMENT '发布者id',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 '密码',PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='用户';

添加帖子模块:

系统中存在添加帖子功能,通过点击添加帖子可以跳转到该功能模块,在该功能模块中,填写对应的帖子信息。帖子包含信息标题,内容,发布者,发布者id,发布时间,填写完所有信息后,通过post方法将数据提交到tianjiatiezi.action中,该地址将在服务器中tieziController类中的tianjiatieziact方法中进行响应。响应结果为,获取所有的帖子信息,封装一个tiezi类,使用tieziController类中定义的tiezidao的insert方法,将帖子数据插入到数据库的tiezi表中。并给出用户提示信息,添加帖子成功,将该信息保存到request的message中,该信息将在页面中进行展示。该部分核心代码如下:

通过tiezidao的insert方法将页面传输的帖子添加到数据库中 tiezidao.insert(tiezi);

将添加帖子成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "添加帖子成功");

返回帖子管理界面

return "forward:/tianjiatiezi.action";

查询帖子模块:

在后台中定义帖子查询模块,在侧边栏中点击帖子管理,可以跳转到帖子管理界面。在该页面中通过tieziController中定义tieziguanli响应帖子查询模块。在tieziguanli中查询出所有信息,返回页面进行循环展示。查询方法为tiezidao中的selectByexample方法。该部分核心代码如下:

生成帖子样例类,通过example定义查询条件 TieziExample example = new TieziExample();

通过tiezidao的selectByExample方法查询出所有的帖子信息 List tieziall = tiezidao.selectByExample(example);

将帖子信息,保存到request中,在页面通过foreach方法进行展示 request.setAttribute("tieziall", tieziall);

返回帖子管理界面

return "forward:/tieziguanli.action";

修改帖子模块:

对已经上传的帖子信息可以进行修改操作,该部分操作在帖子管理界面中点击修改按钮可以跳转到帖子修改页面。在修改页面中,将初始化所有的帖子字段信息,字段信息包括标题,内容,发布者,发布者id,发布时间。字段信息内容通过帖子id获取。修改后的信息传入到tieziController中接收为tiezi。在tieziController中包含有提前定义好的tiezidao,该参数为tieziMapper是实现。tieziMapper中定义了修改方法,此处使用修改方法为updateByPrimaryKeySelective,该方法可以将修改后信息同步到数据库中,最终将修改成功信息返回页面中。该部分代码如下:

通过tiezidao的修改方法根据id修改对应的帖子 tiezidao.updateByPrimaryKeySelective(tiezi);

将修改帖子成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "修改帖子信息成功");

返回帖子管理界面

return "forward:/tieziguanli.action";

删除帖子模块:

在管理页面中,点击删除。页面将通过a标签的href属性,使用get方法将该帖子

的id上传到服务器中,在服务器中通过tieziController类中的shanchutiezi进行接收,之后调用tieziMapper中的deleteByPrimaryKey方法根据ID进行删除。将删除信息保存到request的message中,在页面给出用户删除成功的提示信息,该部分核心代码如下:

通过tiezidao的删除方法根据id删除对应的帖子 tiezidao.deleteByPrimaryKey(id);

将删除帖子成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "删除帖子成功");

返回帖子管理界面

return "forward:/tieziguanli.action";

原文地址:https://www.cnblogs.com/xxsnn/p/11587471.html