基于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
- 算法系列(三)
- Facebook、Google、Amazon 是如何高效开会的
- 算法系列(二)
- JavaScript 基础(五) 函数 变量和作用域
- iOS8 、iPhone6 及iPhone6+:Apple touch icon 与Startup Image
- 算法系列
- .net页面生命周期
- JavaScript 基础(四) 循环
- 【译】WordPress 中的50个过滤器(6):第41-50个过滤器
- 【译】WordPress 中的50个过滤器(5):第31-40个过滤器
- 使用VS2010 C#开发ActiveX控件
- JavaScript 基础(三) 对象 条件判断
- “大数据+定制化服务”或将引领高端旅游市场
- FrameLayout(框架布局)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- laravel框架实现后台登录、退出功能示例
- Laravel5.1 框架数据库操作DB运行原生SQL的方法分析
- Linux查看进程的所有信息的办法示例
- PHP配合fiddler抓包抓取微信指数小程序数据的实现方法分析
- Python基于traceback模块获取异常信息
- PHP实现微信商户支付企业付款到零钱功能
- PHP调用微博接口实现微博登录的办法示例
- thinkphp3.2同时连接两个数据库的简单方法
- php实现微信企业付款到个人零钱功能
- php中对象引用和复制实例分析
- php中上传文件的的解决方案
- PHP实现与java 通信的插件使用教程
- thinkPHP5框架接口写法简单示例
- php实现数组重复数字统计实例
- php提取微信账单的有效信息