摘 要
如今社会上各行各业,都在用属于自己专用的软件来进行工作,互联网发展到这个时候,人们已经发现离不开了互联网。互联网的发展,离不开一些新的技术,而新技术的产生往往是为了解决现有问题而产生的。针对于用户分享与交流信息管理方面的不规范,容错率低,管理人员处理数据费工费时,采用新开发的微博网站可以从根源上规范整个数据处理流程的正规性和合法性。
微博网站实现的功能包括论坛管理,文章管理,公告管理,用户管理等功能。该系统采用了Mysql数据库,Java语言,SSM框架等技术进行编程实现。
微博网站可以提高用户分享与交流信息管理问题的解决效率,优化用户分享与交流信息处理流程,并且能够保证存储数据的安全,它是一个非常可靠,非常安全的应用程序。
关键词:微博网站;Mysql数据库;Java语言
第1章 绪论
1.1 课题背景
二十一世纪互联网的出现,改变了几千年以来人们的生活,不仅仅是生活物资的丰富,还有精神层次的丰富。时代进步的标志,就是让人们过上更好的生活。在互联网诞生之前,地域位置往往是人们思想上不可跨域的鸿沟,信息的传播速度极慢,信息处理的速度和要求还是通过人们骑马或者是信鸽传递,这些信息传递都是不可控制的,中间很有可能发生丢失,信息的传递水平决定了人们生活的水平。现如今,大家都在用互联网来实现自己的目的,从内部管理设置计算机管理,提高内部信息管理水平,从外部市场也可以用计算机获取相关数据进行处理,如今各行各业已经严重依赖于计算机了。
本课题研究和开发微博网站,让安装在计算机上的该系统变成管理人员的小帮手,提高用户分享与交流信息处理速度,规范用户分享与交流信息处理流程,让管理人员的产出效益更高。
1.2 课题意义
最火的新浪微博的蒸蒸日上,以及腾讯微博的停运,标志着微博这个行业需要有一个新颖的展现。本课题研发的微博网站,就是提供用户分享与交流信息处理的解决方案,它可以短时间处理完信息,并且只需要使用者动动鼠标和键盘就能获取自己需要的信息,并且这些信息都有专门的存储设备,而且数据的备份和迁移都可以设定为无人值守,从人力角度和信息处理角度以及信息安全角度,微博网站是完胜传统纸质操作的,2022年的“新浪微博”便是完胜的证明。
1.3 研究内容
本文对微博网站的设计与实现分成六个章节进行描述。
第1章:研究微博网站的背景,以及开发微博网站的意义。
第2章:对开发微博网站的环境还有技术进行说明。
第3章:分析微博网站的可行性,性能,流程以及功能。
第4章:设计微博网站的功能结构,设计数据库E-R图以及对数据表的存储结构进行设计。
第5章:实现微博网站的功能并进行功能界面展示。
第6章:对系统测试进行阐述,以及对本系统部分功能进行检测。
第2章 开发环境与技术
本章节对开发微博网站需要搭建的开发环境,还有微博网站开发中使用的编程技术等进行阐述。
2.1 MYSQL数据库
MySQL数据库是关系型数据库的一种,也是传统的行式数据模式,获取一些数据是先一行一行的获取,然后一行一行的显示,与最近大数据兴起的列式数据库有着明显的不同。行式数据库主要是处理最重要的数据逻辑部分,并且必须是有效数据,这样每一处的数据关联都是不可损坏,如果对数据安全性比较高的肯定是需要选择MySQL数据库,列式数据库的发明仅仅是因为读取效率高,与传统的MySQL数据库比起来在数据写入方面并不会高明到哪里。MySQL虽然比起oracle或者SQL SERVER来讲,安装包只是几十兆甚至几百兆,有点小,但是功能并不会弱到哪里,严格遵循SQL标准语法。MySQL的数据存放形式从大向小的说是数据库最大,然后是表,每个表里面存放数据是有一定的规则的,数据存放是表格形式的,也就是说有横也有竖,横着的为行,一般表示一条数据,每个表都有字段,而字段是以列的形式存在,这样能保证一条数据每一个字段对应的是相同数据类型的数据。表与表之间还可以进行关联,进行分表操作,如果一条数据相关项目属性太多,那么可以把有效的相关联系做成关联,可以设定是否唯一。
2.2 IDEA开发工具
IDEA是捷克共和国的Java程序员开发人员创造的一个开发软件,刚开始主要是对于用Eclipse软件他们用得不顺手,所以直接开发了这款软件。之所以不顺手原因在于没有代码提升功能,原因是Eclipse只是把代码提示作为一种插件形式的存在,如果有些程序开发人员不清楚代码提示插件可能会出问题,并且代码提示只是用来作为插件,所以功能上有所欠缺。IDEA不仅仅代码提示做的很好,在代码重构上面更上如虎添翼,程序开发人员可以选择一段代码然后IDEA就会对代码进行分解重构,有效的把代码弄得更够层次感,复用性更高,用着更简洁和方便,大大的减少了代码工作量,提升了代码开发效率。当然,IDEA对于使用者这么好,肯定也是有目的的,原因在于插件越多越友好,就需要花费大量的金钱来使用,所以说IDEA使用主要是看自己喜好。
2.3 SSM框架
开发一个业务逻辑比较简单的应用,采用这几年最广为流传的SSM框架是很合适的。SSM框架就是Spring MVC框架和Spring框架,以及持久层常用的MyBatis框架。
三个框架有三个不同的作用。普通用户一般都是操作浏览器进行浏览自己喜欢的内容,也可以通过浏览器提交自己输入的信息,而显示或者提交,都会被Spring MVC框架进行拦截和处理,进入到更深的一个层次就是控制层,根据不同的提交内容可以访问不同的处理逻辑,让不同的代码进行执行,如果是普通的比较逻辑不需要从数据库里获取内容是不需要传递给MyBatis框架的,如果需要与数据库内容进行交互,就会从Java的POJO对象通过MyBatis自动转换数据库对应字段的数据类型,具体是该增删改查还是其他操作,都会通过MyBatis进行处理,处理结果是反馈给控制层,然后通过控制层再提交给视图层,反馈到用户希望看到的结果。
第3章 系统分析
我在和夏老师确定了研究的课题之后,便开始从图书馆下载文献阅读,并了解同类型的网站具备的大致功能,然后与本系统用户的实际需求结合进行分析,得出本系统要研究的具体功能与性能。虽然分析系统这一阶段性工作主要是确定功能,但它却影响着后面系统开发环节的进展,它也是系统开发流程中比较重要的一个环节。
3.1 可行性分析
以下部分是从三个角度来进行可行性分析,确保开发成功的前提是有可行性分析,只有进行提前分析,符合程序开发流程才不至于开发过程的中断。
3.1.1 技术可行性
在技术实现层次,分析了好几种技术实现方法,并且都有对应的成功案例,也有很多开源模块可以进行参考,所以从技术可行性分析来讲,实现微博网站是没有问题的。
3.1.2 经济可行性
对于身为学生的我而言,在经济资源上面可支配资源很少,为了开发微博网站,从技术分析发现可以用自己用的电脑进行开发。最重要的是技术资源一般都是开源免费使用的,因此得出结论,经济方面是具有可行性的。
3.1.3 操作可行性
微博网站的具体实现,本身参考人类的普遍操作逻辑,把常用的操作习惯当做主要的导航实现,可以让使用者更快速的理解并且上手操作,实现符合逻辑的操作流程是操作可行性的具体体现。
3.2 系统流程
微博网站投入使用后,其各个功能的内部操作逻辑需要使用者通过流程图来进行了解。
3.2.1 操作流程
使用者在操作微博网站中,应该按照本系统提供的操作流程(图3.1即为本系统的操作流程图)进行操作,这样可以减少使用者操作中出现的错误,从而节省进入微博网站的时间。
4.2.2 数据库物理设计
本小节主要任务即是根据上述内容进行数据存储结构的设计,也就是在数据库中设计存放本系统的数据的数据表,设计数据表时,需要对各个字段进行确定,通常来说,一个实体与一张数据表相对应,实体的属性就用来表示字段名称,不同的字段表示的数据类型以及取值都不相同,这里需要根据系统实际数据的情况进行设置,同时也需要在具体表中确定该表的主键,以及该表各个字段是否能够保持空等进行说明,设计完成一张数据表的结构之后,在保存时同样要命名,尽量选择英文名称进行命名并保存,方便今后系统对数据表进行数据存储访问时,在提高数据存储效率的同时,还不容易导致系统出错。接下来就对设计的数据表进行展示。
表4.1 论坛表
字段 注释 类型 空
id (主键) 主键 int(11) 否
forum_name 微博正文标题 varchar(200) 是
yonghu_id 用户 int(11) 是
laoshi_id 老师 int(11) 是
users_id 管理员 int(11) 是
forum_content 发布内容 text 是
super_ids 父id int(11) 是
forum_types 微博正文类型 int(11) 是
forum_state_types 微博正文状态 int(11) 是
insert_time 发帖时间 timestamp 是
update_time 修改时间 timestamp 是
create_time 创建时间 timestamp 是
表4.2 公告信息表
字段 注释 类型 空
id (主键) 主键 int(11) 否
gonggao_name 公告名称 varchar(200) 是
gonggao_photo 公告图片 varchar(200) 是
gonggao_types 公告类型 int(11) 否
insert_time 公告发布时间 timestamp 是
gonggao_content 公告详情 text 是
create_time 创建时间 timestamp 是
表4.3 管理员表
字段 注释 类型 空
id (主键) 主键 bigint(20) 否
username 用户名 varchar(100) 否
password 密码 varchar(100) 否
role 角色 varchar(100) 是
addtime 新增时间 timestamp 否
表4.4 文章表
字段 注释 类型 空
id (主键) 主键 int(11) 否
shangjia_id 商家 int(11) 是
wenzhang_name 文章名称 varchar(200) 是
wenzhang_photo 文章照片 varchar(200) 是
wenzhang_types 文章类型 int(11) 是
zan_number 赞 int(11) 是
cai_number 踩 int(11) 是
shangxia_types 是否上架 int(11) 是
wenzhang_delete 逻辑删除 int(11) 是
wenzhang_content 文章简介 text 是
create_time 创建时间 timestamp 是
表4.5 文章收藏表
字段 注释 类型 空
id (主键) 主键 int(11) 否
wenzhang_id 文章 int(11) 是
yonghu_id 用户 int(11) 是
wenzhang_collection_types 类型 int(11) 是
insert_time 收藏时间 timestamp 是
create_time 创建时间 timestamp 是
表4.6 文章留言表
字段 注释 类型 空
id (主键) 主键 int(11) 否
wenzhang_id 文章 int(11) 是
yonghu_id 用户 int(11) 是
wenzhang_liuyan_text 留言内容 text 是
reply_text 回复内容 text 是
insert_time 留言时间 timestamp 是
update_time 回复时间 timestamp 是
create_time 创建时间 timestamp 是
表4.7 用户表
字段 注释 类型 空
id (主键) 主键 int(11) 否
username 账户 varchar(200) 是
password 密码 varchar(200) 是
yonghu_name 用户姓名 varchar(200) 是
yonghu_phone 用户手机号 varchar(200) 是
yonghu_id_number 用户身份证号 varchar(200) 是
yonghu_photo 用户头像 varchar(200) 是
sex_types 性别 int(11) 是
wenzhang_types 感兴趣类型 int(11) 是
yonghu_email 电子邮箱 varchar(200) 是
create_time 创建时间 timestamp 是