每天记录学习,每天会有好心情。*^_^*
今天将为大家分析一个留言板(版)管理系统(留言板是网站用来与用户进行沟通交流的手段。JSP具有跨平台及强安全性和MySQL具有开源性及高性能的优点,使得它们成为网站开发留言板系统的首选。本文介绍了基于JSP和MySQL的留言板系统的设计与实现,内容包括前台提交留言和后台查看留言的设计与实现。),该项目使用框架为SSM(MYECLIPSE),选用开发工具为MYECLIPSE。留言板(版)管理系统为一个 后台项目。
为了完成该系统,我们首先需要对该系统进行需求分析。一个留言板(版)管理系统应包含用户角色有管理员。为了能让用户顺利登陆系统完成相关操作,需要为每种登陆角色设置账户和密码字段。
在系统的功能中,留言是一个重要的表。这个表使得用户关联了起来。在留言表中留言的用户与用户的mingzi字段对应、留言的用户id与用户的id字段对应
,他们拥有关联关系。
总结得出该系统所有数据为:管理员(admin)、留言(liuyan)、用户(yonghu)
管理员表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 管理员id username | VARCHAR(255) | | 账号 password | VARCHAR(255) | | 密码
留言表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 留言id biaoti | VARCHAR(255) | | 标题 fabushijian | VARCHAR(255) | | 发布时间 neirong | VARCHAR(255) | | 内容 yonghu | VARCHAR(255) | | 用户 yonghuid | 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 ggliuyanban -- ---------------------------- 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_liuyan`; CREATE TABLE `t_liuyan` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '留言id',`biaoti` VARCHAR(255) DEFAULT NULL COMMENT '标题',`fabushijian` VARCHAR(255) DEFAULT NULL COMMENT '发布时间',`neirong` VARCHAR(255) DEFAULT NULL COMMENT '内容',`yonghu` VARCHAR(255) DEFAULT NULL COMMENT '用户',`yonghuid` 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='用户';
添加留言模块:
从页面中通过post方法,将留言信息传入到后台服务器中,在tianjialiuyanact
中接收,字段包括标题,发布时间,内容,用户,用户id使用insert方法添加数据,将数据同步到
数据库中,完成添加操作。定义添加成功提示信息,添加留言成功,并保存到request中具体代码如下:
通过liuyandao的insert方法将页面传输的留言添加到数据库中 liuyandao.insert(liuyan);
将添加留言成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "添加留言成功");
返回留言管理界面
return "forward:/tianjialiuyan.action";
查询留言模块:
在后台liuyanguanli方法中,通过selectByexample方法获取所有的数据信息。将其保存到request中,在页面中通过foreach方法
进行循环展示到table中。完成留言查询操作。具体代码如下:
生成留言样例类,通过example定义查询条件 LiuyanExample example = new LiuyanExample();
通过liuyandao的selectByExample方法查询出所有的留言信息 List liuyanall = liuyandao.selectByExample(example);
将留言信息,保存到request中,在页面通过foreach方法进行展示 request.setAttribute("liuyanall", liuyanall);
返回留言管理界面
return "forward:/liuyanguanli.action";
修改留言模块:
对已经上传的留言信息可以进行修改操作,该部分操作在留言管理界面中点击修改按钮可以跳转到留言修改页面。在修改页面中,将初始化所有的留言字段信息,字段信息包括标题,发布时间,内容,用户,用户id。字段信息内容通过留言id获取。修改后的信息传入到liuyanController中接收为liuyan。在liuyanController中包含有提前定义好的liuyandao,该参数为liuyanMapper是实现。liuyanMapper中定义了修改方法,此处使用修改方法为updateByPrimaryKeySelective,该方法可以将修改后信息同步到数据库中,最终将修改成功信息返回页面中。该部分代码如下:
通过liuyandao的修改方法根据id修改对应的留言 liuyandao.updateByPrimaryKeySelective(liuyan);
将修改留言成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "修改留言信息成功");
返回留言管理界面
return "forward:/liuyanguanli.action";
删除留言模块:
删除留言功能的实现方式为,通过点击删除留言按钮,向服务器发起get请求。请求中包含留言的id信息,在liuyanController中使用int接受该id,并将该id传入liuyandao的deleteByPrimaryKey方法中。该方法的作用为根据id删除对应留言。最后将删除留言成功的信息返回页面,该部分核心代码如下:
通过liuyandao的删除方法根据id删除对应的留言 liuyandao.deleteByPrimaryKey(id);
将删除留言成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "删除留言成功");
返回留言管理界面
return "forward:/liuyanguanli.action";