web视频点播平台
每天记录学习,每天会有好心情。*^_^*
在学习基于web的视频点播平台项目的时候,方便日后能及时查阅,在本平台中记录一下基于web的视频点播平台的开发流程。在学习时候的选用了SSM(MYECLIPSE),这个框架不论是学习还是使用都非常方便,简单易上手。
基于web的视频点播平台项目具有的用户角色包括了管理员、学生,每个角色都含有自己的登录账号和密码。
在系统的功能中,视频是一个重要的表。这个表使得学生关联了起来。在视频表中视频的发布人与学生的mingzi字段对应、视频的发布人id与学生的id字段对应
,他们拥有关联关系。在系统的功能中,收藏是一个重要的表。这个表使得视频、学生关联了起来。在收藏表中收藏的视频与视频的biaoti字段对应、收藏的视频id与视频的id字段对应、收藏的学生与学生的mingzi字段对应、收藏的学生id与学生的id字段对应
,他们拥有关联关系。
总结得出基于web的视频点播平台项目所有数据为:管理员(admin)、学生(xuesheng)、视频(shipin)、收藏(shoucang)
基于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) | | 密码 nianling | VARCHAR(255) | | 年龄
基于web的视频点播平台之视频表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 视频id biaoti | VARCHAR(255) | | 标题 wenjian | VARCHAR(255) | | 文件 jieshao | VARCHAR(255) | | 介绍 xuesheng | VARCHAR(255) | | 发布人 xueshengid | VARCHAR(255) | | 发布人id
基于web的视频点播平台之收藏表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 收藏id shipin | VARCHAR(255) | | 视频 shipinid | VARCHAR(255) | | 视频id xuesheng | VARCHAR(255) | | 学生 xueshengid | VARCHAR(255) | | 学生id
SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- -- ---------------------------- -- Table structure for ggjywebdspdbpt -- ---------------------------- 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_xuesheng`; CREATE TABLE `t_xuesheng` (`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 '密码',`nianling` VARCHAR(255) DEFAULT NULL COMMENT '年龄',PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='学生'; -- ---------------------------- DROP TABLE IF EXISTS `t_shipin`; CREATE TABLE `t_shipin` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '视频id',`biaoti` VARCHAR(255) DEFAULT NULL COMMENT '标题',`wenjian` VARCHAR(255) DEFAULT NULL COMMENT '文件',`jieshao` VARCHAR(255) DEFAULT NULL COMMENT '介绍',`xuesheng` VARCHAR(255) DEFAULT NULL COMMENT '发布人',`xueshengid` INT(11) DEFAULT NULL COMMENT '发布人id',PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='视频'; -- ---------------------------- DROP TABLE IF EXISTS `t_shoucang`; CREATE TABLE `t_shoucang` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '收藏id',`shipin` VARCHAR(255) DEFAULT NULL COMMENT '视频',`shipinid` INT(11) DEFAULT NULL COMMENT '视频id',`xuesheng` VARCHAR(255) DEFAULT NULL COMMENT '学生',`xueshengid` INT(11) DEFAULT NULL COMMENT '学生id',PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='收藏';
添加视频模块:
在shipinController中定义tianjiashipinact接收页面传入的视频参数,定义为shipin。其中shipin包含字段:标题,文件,介绍,发布人,发布人id,使用tianjiashipinact将该视频对象存入数据库中,在shipinMapper中定义了insert方法,匹配数据库中的insert into shipin语句实现将视频数据存入数据库的操作。该部分核心代码如下:
通过shipindao的insert方法将页面传输的视频添加到数据库中 shipindao.insert(shipin);
将添加视频成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "添加视频成功");
返回视频管理界面
return "forward:/tianjiashipin.action";
查询视频模块:
在后台shipinguanli方法中,通过selectByexample方法获取所有的数据信息。将其保存到request中,在页面中通过foreach方法
进行循环展示到table中。完成视频查询操作。具体代码如下:
生成视频样例类,通过example定义查询条件 ShipinExample example = new ShipinExample();
通过shipindao的selectByExample方法查询出所有的视频信息 List shipinall = shipindao.selectByExample(example);
将视频信息,保存到request中,在页面通过foreach方法进行展示 request.setAttribute("shipinall", shipinall);
返回视频管理界面
return "forward:/shipinguanli.action";
修改视频模块:
点击修改按钮,可以跳转到视频修改页面。在视频修改页面中,将初始化该视频的所有信息,并将信息一一对应填充到对应编辑栏中。编辑完视频信息后,页面通过post方法将数据封装为一个视频实体,传入到shipinController中。在xiugaishipin中进行接收,接收完毕后,调用shipinMapper中的updateByPrimaryKeySelective方法进行修改。该部分代码如下:
通过shipindao的修改方法根据id修改对应的视频 shipindao.updateByPrimaryKeySelective(shipin);
将修改视频成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "修改视频信息成功");
返回视频管理界面
return "forward:/shipinguanli.action";
删除视频模块:
在管理页面中,点击删除。页面将通过a标签的href属性,使用get方法将该视频
的id上传到服务器中,在服务器中通过shipinController类中的shanchushipin进行接收,之后调用shipinMapper中的deleteByPrimaryKey方法根据ID进行删除。将删除信息保存到request的message中,在页面给出用户删除成功的提示信息,该部分核心代码如下:
通过shipindao的删除方法根据id删除对应的视频 shipindao.deleteByPrimaryKey(id);
将删除视频成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "删除视频成功");
返回视频管理界面
return "forward:/shipinguanli.action";