今天和一个朋友共同完成了一个FTP客户端的设计与实现项目,我们在开发时选用的框架是SSM(MYECLIPSE)框架。我这个朋友知识有限,只会这个框架,哈哈,都是为了方便他。和往常一样选用简单又便捷的MYECLIPSE作为开发工具,这是一个 后台项目。这个系统的介绍是这样的:为克服局域网教学中学生作业信息提交的几种方法及这些方法在实际应用中的局限性,在论述了用户可以对自己上传的信息进行权限管理的专用FTP客户端软件在局域网教学中的必要性后,给出了该软件的设计思想及实现的方法。简单介绍了FTP的工作原理和Java FTPAPI-FtpClient类的功能及其主要方法,详细阐述了使用FtpClient类设计与实现FTP客户端程序的方法。,一个FTP客户端的设计与实现应包含用户角色有管理员、用户。为了能让用户顺利登陆系统完成相关操作,需要为每种登陆角色设置账户和密码字段。

总结得出该系统所有数据为:管理员(admin)、用户(yonghu)、文件传输(wenjianchuanshu)、视屏传输(shipingchuanshu)

管理员表

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

用户表

字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 用户id
mingcheng | VARCHAR(255) | | 名称
quanxian | VARCHAR(255) | | 权限
xingmiung | VARCHAR(255) | | 姓名
username | VARCHAR(255) | | 账号
password | VARCHAR(255) | | 密码

文件传输表

字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 文件传输id
mingchebng | VARCHAR(255) | | 名称
zhonglei | VARCHAR(255) | | 种类
neirong | VARCHAR(255) | | 内容
shijian | VARCHAR(255) | | 时间
daxiao | VARCHAR(255) | | 大小

视屏传输表

字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 视屏传输id
mingcheng | VARCHAR(255) | | 名称
shijian | VARCHAR(255) | | 时间
neirong | VARCHAR(255) | | 内容
SET FOREIGN_KEY_CHECKS=0;

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

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

-- Table structure for ggftpkehuduandsjysx

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

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',`mingcheng` VARCHAR(255) DEFAULT NULL COMMENT '名称',`quanxian` VARCHAR(255) DEFAULT NULL COMMENT '权限',`xingmiung` 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_wenjianchuanshu`;

CREATE TABLE `t_wenjianchuanshu` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '文件传输id',`mingchebng` VARCHAR(255) DEFAULT NULL COMMENT '名称',`zhonglei` VARCHAR(255) DEFAULT NULL COMMENT '种类',`neirong` VARCHAR(255) DEFAULT NULL COMMENT '内容',`shijian` VARCHAR(255) DEFAULT NULL COMMENT '时间',`daxiao` VARCHAR(255) DEFAULT NULL COMMENT '大小',PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='文件传输';

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

DROP TABLE IF EXISTS `t_shipingchuanshu`;

CREATE TABLE `t_shipingchuanshu` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '视屏传输id',`mingcheng` VARCHAR(255) DEFAULT NULL COMMENT '名称',`shijian` VARCHAR(255) DEFAULT NULL COMMENT '时间',`neirong` VARCHAR(255) DEFAULT NULL COMMENT '内容',PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='视屏传输';

添加视屏传输模块:

在shipingchuanshuController中定义tianjiashipingchuanshuact接收页面传入的视屏传输参数,定义为shipingchuanshu。其中shipingchuanshu包含字段:名称,时间,内容,使用tianjiashipingchuanshuact将该视屏传输对象存入数据库中,在shipingchuanshuMapper中定义了insert方法,匹配数据库中的insert into shipingchuanshu语句实现将视屏传输数据存入数据库的操作。该部分核心代码如下:

通过shipingchuanshudao的insert方法将页面传输的视屏传输添加到数据库中 shipingchuanshudao.insert(shipingchuanshu);

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

返回视屏传输管理界面

return "forward:/tianjiashipingchuanshu.action";

查询视屏传输模块:

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

生成视屏传输样例类,通过example定义查询条件 ShipingchuanshuExample example = new ShipingchuanshuExample();

通过shipingchuanshudao的selectByExample方法查询出所有的视屏传输信息 List shipingchuanshuall = shipingchuanshudao.selectByExample(example);

将视屏传输信息,保存到request中,在页面通过foreach方法进行展示 request.setAttribute("shipingchuanshuall", shipingchuanshuall);

返回视屏传输管理界面

return "forward:/shipingchuanshuguanli.action";

修改视屏传输模块:

点击修改按钮,可以跳转到视屏传输修改页面。在视屏传输修改页面中,将初始化该视屏传输的所有信息,并将信息一一对应填充到对应编辑栏中。编辑完视屏传输信息后,页面通过post方法将数据封装为一个视屏传输实体,传入到shipingchuanshuController中。在xiugaishipingchuanshu中进行接收,接收完毕后,调用shipingchuanshuMapper中的updateByPrimaryKeySelective方法进行修改。该部分代码如下:

通过shipingchuanshudao的修改方法根据id修改对应的视屏传输 shipingchuanshudao.updateByPrimaryKeySelective(shipingchuanshu);

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

返回视屏传输管理界面

return "forward:/shipingchuanshuguanli.action";

删除视屏传输模块:

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

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

通过shipingchuanshudao的删除方法根据id删除对应的视屏传输 shipingchuanshudao.deleteByPrimaryKey(id);

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

返回视屏传输管理界面

return "forward:/shipingchuanshuguanli.action";

02-01 12:40