每天记录学习,每天会有好心情。*^_^*
最近了解了基于web的广告留言系统项目,在这个平台记录一下这个基于web的广告留言系统项目,方便以后再次使用或学习的时候能够及时的翻阅。在完成基于web的广告留言系统项目的时候,考虑了很多框架。最终决定选用SSM(MYECLIPSE),该框架具有极强的移植性,多平台性,便于操作性等优点。此框架能在MYECLIPSE开发工具中完美的编写和运行,基于web的广告留言系统为一个 后台项目。采用当前非常流行的B/S体系结构,以JAVA作为开发技术,主要依赖SSM技术框架,mysql数据库建立本系统。
在对基于web的广告留言系统项目进行需求分析的时候,得出系统的登录角色包括了管理员、用户。对应用户可以通过登录自己的账号,进行入系统。系统对不同角色拥有不同权限。
留言的存在是为了能更好的结合系统的功能。用户表的联系在这张表中得以体现,其关联关系为留言的用户名字与用户的mingzi字段对应、留言的用户id与用户的id字段对应
。
总结得出基于web的广告留言系统项目所有数据为:管理员(admin)、用户(yonghu)、留言(liuyan)
基于web的广告留言系统之管理员表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 管理员id username | VARCHAR(255) | | 账号 password | VARCHAR(255) | | 密码
基于web的广告留言系统之用户表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 用户id mingzi | VARCHAR(255) | | 名字 username | VARCHAR(255) | | 账户 password | VARCHAR(255) | | 密码
基于web的广告留言系统之留言表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 留言id yonghu | VARCHAR(255) | | 用户名字 yonghuid | VARCHAR(255) | | 用户id shijian | VARCHAR(255) | | 留言时间 neirong | VARCHAR(255) | | 内容
SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- -- ---------------------------- -- Table structure for ggjywebdgglyxt -- ---------------------------- 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 \'密码\',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\',`yonghu` VARCHAR(255) DEFAULT NULL COMMENT \'用户名字\',`yonghuid` INT(11) DEFAULT NULL COMMENT \'用户id\',`shijian` VARCHAR(255) DEFAULT NULL COMMENT \'留言时间\',`neirong` VARCHAR(5000) DEFAULT NULL COMMENT \'内容\',PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT=\'留言\';
添加留言模块:
系统中存在添加留言功能,通过点击添加留言可以跳转到该功能模块,在该功能模块中,填写对应的留言信息。留言包含信息用户名字,用户id,留言时间,内容,填写完所有信息后,通过post方法将数据提交到tianjialiuyan.action中,该地址将在服务器中liuyanController类中的tianjialiuyanact方法中进行响应。响应结果为,获取所有的留言信息,封装一个liuyan类,使用liuyanController类中定义的liuyandao的insert方法,将留言数据插入到数据库的liuyan表中。并给出用户提示信息,添加留言成功,将该信息保存到request的message中,该信息将在页面中进行展示。该部分核心代码如下:
通过liuyandao的insert方法将页面传输的留言添加到数据库中 liuyandao.insert(liuyan);
将添加留言成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "添加留言成功");
返回留言管理界面
return "forward:/tianjialiuyan.action";
查询留言模块:
在浏览器中进入留言查询页面时,此时浏览器的地址栏为liuyanguanli.action,该地址将响应liuyanController类中的liuyanguanli,在该方法中,通过selectByexample方法获取所有的留言信息,并将该信息保存到request中,在页面进行循环展示。该部分核心代码如下:
生成留言样例类,通过example定义查询条件 LiuyanExample example = new LiuyanExample();
通过liuyandao的selectByExample方法查询出所有的留言信息 List liuyanall = liuyandao.selectByExample(example);
将留言信息,保存到request中,在页面通过foreach方法进行展示 request.setAttribute("liuyanall", liuyanall);
返回留言管理界面
return "forward:/liuyanguanli.action";
修改留言模块:
在页面完成留言的修改信息填写后,将该部分数据传入xiugailiuyan.action地址,并通过post进行提交。提交后在liuyanController中通过xiugailiuyan进行接收,将所有字段封装为一个留言实体。并将该实体传入liuyandao中的updateByPrimaryKeySelective方法中,在该方法中定义了通过留言id更新其余留言的字段,该部分字段包括用户名字,用户id,留言时间,内容,该部分核心代码如下所示:
通过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";