每天记录学习,每天会有好心情。*^_^*
今日思考,完成一个基于java的电子邮件客户端软件项目,需要实现哪些功能?
通过电子邮件,人们可以方便的进行文字、图片、视频、声音、数据文件等的传递采用当前非常流行的B/S体系结构,以JAVA作为开发技术,主要依赖SSM技术框架,mysql数据库建立本系统。本设计的目的主要在于实现用户对众多邮箱的统一管理,提高邮件收发速度,实现邮箱多账户管理,邮件分析析和管理,联系人管理,实时收信等功能。
SSM(MYECLIPSE)框架及其适合基于java的电子邮件客户端软件,使用MVC的思想可以极大程度减少重复工作量。和SSM(MYECLIPSE)框架最配的开发工具是MYECLIPSE。MYECLIPSE集成了大量插件,可以更好的使用SSM(MYECLIPSE)进行项目的开发,使得项目开发时事半功倍。
通过对基于java的电子邮件客户端软件系统的仔细分析,可以得出基于java的电子邮件客户端软件系统是一个 后台项目。
在这样一个项目中,系统的登录角色是必不可少的,对每个登录角色设置账号、密码。以确保系统可以正常登录使用。SSM(MYECLIPSE)项目中包含的登录角色有管理员、用户。
总结得出基于java的电子邮件客户端软件项目所有数据为:管理员(admin)、用户(yonghu)、邮箱管理(youxiangguanli)、联系人(lianxiren)
基于java的电子邮件客户端软件之管理员表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 管理员id username | VARCHAR(255) | | 账号 password | VARCHAR(255) | | 密码
基于java的电子邮件客户端软件之用户表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 用户id xingming | VARCHAR(255) | | 姓名 nianling | VARCHAR(255) | | 年龄 xingbie | VARCHAR(255) | | 性别 quanxian | VARCHAR(255) | | 权限 username | VARCHAR(255) | | 账号 password | VARCHAR(255) | | 密码
基于java的电子邮件客户端软件之邮箱管理表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 邮箱管理id zhonglei | VARCHAR(255) | | 种类 leixing | VARCHAR(255) | | 类型 guige | VARCHAR(255) | | 规格 shijian | VARCHAR(255) | | 时间
基于java的电子邮件客户端软件之联系人表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 联系人id xingming | VARCHAR(255) | | 姓名 xingbie | VARCHAR(255) | | 性别 nianling | VARCHAR(255) | | 年龄 lianxifangshi | VARCHAR(255) | | 联系方式
SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- -- ---------------------------- -- Table structure for ggjyjavaddzyjkhdrj -- ---------------------------- 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',`xingming` VARCHAR(255) DEFAULT NULL COMMENT '姓名',`nianling` VARCHAR(255) DEFAULT NULL COMMENT '年龄',`xingbie` VARCHAR(255) DEFAULT NULL COMMENT '性别',`quanxian` 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_youxiangguanli`; CREATE TABLE `t_youxiangguanli` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '邮箱管理id',`zhonglei` VARCHAR(255) DEFAULT NULL COMMENT '种类',`leixing` VARCHAR(255) DEFAULT NULL COMMENT '类型',`guige` VARCHAR(255) DEFAULT NULL COMMENT '规格',`shijian` VARCHAR(255) DEFAULT NULL COMMENT '时间',PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='邮箱管理'; -- ---------------------------- DROP TABLE IF EXISTS `t_lianxiren`; CREATE TABLE `t_lianxiren` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '联系人id',`xingming` VARCHAR(255) DEFAULT NULL COMMENT '姓名',`xingbie` VARCHAR(255) DEFAULT NULL COMMENT '性别',`nianling` VARCHAR(255) DEFAULT NULL COMMENT '年龄',`lianxifangshi` VARCHAR(255) DEFAULT NULL COMMENT '联系方式',PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='联系人';
添加联系人模块:
通过添加联系人模块,可以完成联系人的添加操作。在页面中跳转到添加联系人页面,输入联系人的所有信息,点击添加操作,可以将联系人数据以post提交到lianxirenController中。联系人所包含的字段信息包括姓名,性别,年龄,联系方式。在lianxirenController中通过定义lianxiren接受所有的联系人参数。使用lianxirendao的insert方法将lianxiren实体插入到数据库中。完成数据的添加操作,在lianxirenMapper中匹配对应的lianxirenxml完成插入sql语句的执行操作。该部分核心代码如下:
通过lianxirendao的insert方法将页面传输的联系人添加到数据库中 lianxirendao.insert(lianxiren);
将添加联系人成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "添加联系人成功");
返回联系人管理界面
return "forward:/tianjialianxiren.action";
查询联系人模块:
在后台lianxirenguanli方法中,通过selectByexample方法获取所有的数据信息。将其保存到request中,在页面中通过foreach方法
进行循环展示到table中。完成联系人查询操作。具体代码如下:
生成联系人样例类,通过example定义查询条件 LianxirenExample example = new LianxirenExample();
通过lianxirendao的selectByExample方法查询出所有的联系人信息 List lianxirenall = lianxirendao.selectByExample(example);
将联系人信息,保存到request中,在页面通过foreach方法进行展示 request.setAttribute("lianxirenall", lianxirenall);
返回联系人管理界面
return "forward:/lianxirenguanli.action";
修改联系人模块:
在页面完成联系人的修改信息填写后,将该部分数据传入xiugailianxiren.action地址,并通过post进行提交。提交后在lianxirenController中通过xiugailianxiren进行接收,将所有字段封装为一个联系人实体。并将该实体传入lianxirendao中的updateByPrimaryKeySelective方法中,在该方法中定义了通过联系人id更新其余联系人的字段,该部分字段包括姓名,性别,年龄,联系方式,该部分核心代码如下所示:
通过lianxirendao的修改方法根据id修改对应的联系人 lianxirendao.updateByPrimaryKeySelective(lianxiren);
将修改联系人成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "修改联系人信息成功");
返回联系人管理界面
return "forward:/lianxirenguanli.action";
删除联系人模块:
删除联系人功能的实现方式为,通过点击删除联系人按钮,向服务器发起get请求。请求中包含联系人的id信息,在lianxirenController中使用int接受该id,并将该id传入lianxirendao的deleteByPrimaryKey方法中。该方法的作用为根据id删除对应联系人。最后将删除联系人成功的信息返回页面,该部分核心代码如下:
通过lianxirendao的删除方法根据id删除对应的联系人 lianxirendao.deleteByPrimaryKey(id);
将删除联系人成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "删除联系人成功");
返回联系人管理界面
return "forward:/lianxirenguanli.action";