摘要
本在线美食分享平台采用B/S架构,数据库是MySQL,网站的搭建与开发采用了先进的Java进行编写,使用了数据可视化技术、爬虫技术和Spring Boo框架。该系统从两个对象:由管理员和用户来对系统进行设计构建。前台主要功能包括:用户注册、登录、浏览首页、查看美食信息、美食资讯,进行美食点赞、评论、管理个人信息等。本系统在一般在线美食分享平台的基础上增加了数据爬取和可视化的功能,方便用户快速浏览和管理员快速获取美食信息,是一个高效的、动态的、交互友好的美食分享平台。 本系统采用的数据库是MySQL,使用Java技术、爬虫技术、可视化技术进行开发。在设计过程中,很好地发挥了该开发方式的优势,让实现代码有了良好的可读性,而且使代码的更新和维护更加的方便,操作方便,对以后的维护减少了很多麻烦。系统的顺利开发和实现,对于在线美食分享平台管理这一方面提供巨大的便利服务,无论是用户还是未注册的游客,都带来了极大的便利,方便大众,为社会的进步与发展提供了一些动力。
绪论
1.1背景及意义 随着社会的快速发展,计算机的影响是全面且深入的。目前,社会的各种类型的网站越来越多,但是有些类型的网站附加了太多的商业元素和虚假信息,而且,用户在搜索相关信息时需访问多个网站和大量垃圾广告,这无疑影响了信息搜索效率且降低了用户的使用体验,使用户很难快速地浏览或查询到自己所需要的相关信息。电子计算机在现代管理中的应用使电子、计算机变成了人类运用现代信息技术的主要工具。可以更高效的处理人类获取信息中精细化、全面化的问题,从而提高了效率[2]。本系统使用具有独特且和资源相对优势的管理方式,来提供一个优秀的在线美食分享平台,让用户通过网站可以查找需要的美食信息和店铺信息,通过发帖,可以和其他用户进行交流美食心得,非常的方便。 探究根本课题,就是希望能够实现用户和所需信息双方的双向选择,便于用户查找相应信息的同时也可以节省管理员在管理中花费的人力和物力。
1.2 国内外研究概况 在当前飞速发展的时代,无论是国内还是国外,发展都是突飞猛进的,经济形势也是一片明朗。在这种背景下,互联网的这一块的市场成为了各个国家想要争夺的香饽饽。于是无论是国内还是国外一些公司把目光投向了互联网这块市场,越来越多的人对互联网有所了解,具备了一些网络意识。在这种互联网大浪潮的不断冲刷下,各种各样的系统被开发出来。计算机技术无论是在国内还是国外中应用普遍,使计算机这一新型工具成为人们耳熟能详、妇孺皆知的新技术。计算机和互联网的广泛应用,让国内外的距离变“近”了,这个庞大的地球家园一下变成了地球村。国内国外的互联网发展也存在一些差距,我国近些年的互联网发展迅速,跻身于世界前列。 本系统采用B/S架构、采用的数据库是MySQL,使用Java技术、爬虫技术、数据可视化技术开发。该系统的开发方式无论在国内还是国外都比较常见,而且开发完成后使用普遍,可以给用户提供大量的便利[3]。该系统在国内外前景较为良好。
1.3 研究的内容 在线美食分享平台是一个便于用户浏览美食信息和美食技术而进行管理的平台。因此本文主要阐述了系统实现的功能和完整开发的过程,结合爬虫、Java、数据可视化开发技术实现了一个在线美食分享平台。本系统以软件工程理论作为开发的理论基础,[4]以专业的计算机编程语言实现系统的功能与开发。 该选题原则上力求采用标签模块分类等方法,来完成注册、登录、对用户管理、美食信息管理、对页面的设置和对后台数据库中数据的增删查改等一系列的操作和运行等。在这一系列模块分类的功能下,达到对在线美食分享平台信息的高效执行和规范管理。
2.1 Java简介 Java主要使用了CORBA技术和安全模型,主要是在网络使用的信息保障上。它还带来了对EJB(Enterprise Java Beans)的完全支援[6],Java SERVLET API,JSP(Java Server Pages),还有XML技术等多进步。因此,当在打开蜘蛛纸牌休闲一下玩游戏时,还可以打开一个音乐播放器来播放自己想要听的歌,于是,既可以一遍玩蜘蛛纸牌放松,也可以挑选播放自己想要听的歌,两者来回切换,两者同时进行无需等待。因为似乎他们都在自己的主机上一起为自己工作。但事实是,对于某个CPU来说,它只是在特定时点进行了某个程序。CPU在这些程序中间,不断地“跳跃”。而为何人们却看不到什么破坏呢?这是因为,和人的感应一样,它的速度太快了。所以,即使人们发现一些同步操作,其实对电脑而言,也只是在特定时点运行了某个进程,除非的电脑是多CPU的。
2.2 Spring Boot框架 现如今后台开源框架主流的有SSH、SSM、Spring Boot,但是SSH、SSM框架的环境配置项较多,而Spring Boot主要的设计思想就是约定大于配置,故而SpingBoot在设计时几乎达到零配置。Spring Boot整合了业界上的开源框架。具体采用技术框架描述如下: (1)Mybatis:Mybatis:提供自动映射,动态SQL,级联,缓存,注解,代码和SQL分离等特性,使用方便,同时也对SQL进行优化[10]。 (2)SpringMVC:通过一套MVC注解,让POJO成为处理请求的控制器,无需实现任何接口,同时,SpringMVC还支持REST风格的URL请求[11]。 (3)Spring Boot:从本质上来说,Spring Boot就是Spring,它做了那些没有它你也会去做的Spring Bean配置[12]。 Spring Boot是一款非常强大后台框架,因为Spring Boot开发时可以基本不用写配置文件,所以使用Spring Boot搭建网站的后台环境,在Spring Boot的yml配置文件中写入项目启动端口,项目就可以启动。项目的Java文件还有静态文件都是由Spring Boot来管理。
2.3 网络爬虫简介 网络爬虫是一种很好的自动采集数据的通用手段。它主要分为4种类型,分别是:聚焦网络爬虫、增量抓取、表层网页、深层网页。 ①聚焦网络爬虫是“面向特定主题需求”的一种爬虫程序,而通用网络爬虫则是捜索引擎抓取系统(Baidu、Google、Yahoo等)的重要组成部分,主要目的是将互联网上的网页下载到本地,形成一个互联网内容的镜像备份。 ②增量抓取意即针对某个站点的数据进行抓取,当网站的新增数据或者该站点的数据发生变化后,自动地抓取它新增的或者变化后的数据。 Web页面按存在方式可以分为表层网页(surface Web)和深层网页(deep Web,也称invisible Web pages或hidden Web)。 ③表层网页是指传统搜索引擎可以索引的页面,即以超链接可以到达的静态网页为主来构成的Web页面。 ④深层网页是那些大部分内容不能通过静态链接获取的、隐藏在搜索表单后的,只有用户提交一些关键词才能获得的Web页面。 本次使用的爬虫技术是聚焦网络爬虫,通过搜索引擎,抓取相关美食信息,下载到本地,形成互联网内容的镜像备份,提供用户浏览、查看。
2.4 Idea开发环境 IDEA 全称IntelliJ IDEA,是用于java语言开发的集成环境(也可用于其他语言),IntelliJ在业界被公认为最好的java开发工具之一,尤其在智能代码助手、代码自动提示、重构、J2EE支持、Ant、JUnit、CVS整合、代码审查、 创新的GUI设计等方面的功能可以说是超常的[7]。 2.5 Tomcat服务器 Tomcat属于一个轻量级的浏览器,所以这在中小企业中并不存在普遍需求。在使用正确的时候,由于Apache浏览器也对HTML标签网站的使用具有一定支持,所以Tomcat的工作对象主要是使用了SERVLET的JSP网站[8]。Tomcat也具备了相应的HTML网页处理能力。对一名初研究者来说,应该这么认定,如果在某台主机上设置好Apache服务器,并使用它响应HYPERLINK页面的访问请求。其实Tomcat是Apache服务器的延续,但在执行时却是自己工作的,所以当在执行Tomcat时,它实际就是一台和Apache完全独立性的进程自己工作的。
2.5 MySQL数据库 MySQL是一种关系型的数据库管理系统,属于Oracle旗下的产品。MySQL的语言是非结构化的,使用的用户可以在数据上进行工作。这个数据库管理系统一经问世就受到了社会的广泛关注。在各个方面,与同等的数据库相比,MySQL的优点极为突出,它的运行速度快,适用的范围广泛,而且数据库的安全性这一方面独树一帜。在语言a结构方面,MySQL的语言简单,其他数据库需要一大段代码来实现的操作,MySQL仅需要一小部分代码甚至几行。综上所述,MySQL这种关系型数据库管理系统,已经成为了开发者进行项目的数据开发、存储的不二之选。MySQL的功能也多种多样,如数据操纵和数据库的建立维护等。而且该数据库的数据共享性高、冗余度低而且容易扩充。MySQL在安全性这一方面也具有自身的特点,它应用了用户的标识和鉴别技术,对试图和数据进行加密,确保资料信息的可靠性。介于数据库系统的功能与强大等性质之间,本数据库系统的设计中主要使用了MySQL实现对数据的处理。基于Web的在线美食分享平台系统运用MySQL数据库,在Web应用这一块,MySQL是最好的选择。对于该系统整个的开发、搭建、运行和维护具有极其重要的作用[9]。
系统整体功能图
系统前台界面图
美食信息详情界面图
美食来源界面图
个人中心界面图
管理员登录界面图
管理员功能界面图
看板界面图
部分数据库表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
biaoti | varchar | 200 | 标题 | ||
fengmian | longtext | 4294967295 | 封面 | ||
zuozhe | varchar | 200 | 作者 | ||
gongyi | varchar | 200 | 工艺 | ||
kouwei | varchar | 200 | 口味 | ||
shijian | varchar | 200 | 时间 | ||
nandu | varchar | 200 | 难度 | ||
zhuliao | varchar | 200 | 主料 | ||
fuliao | varchar | 200 | 辅料 | ||
laiyuan | varchar | 200 | 来源 | ||
thumbsupnum | int | 赞 | 0 | ||
crazilynum | int | 踩 | 0 | ||
clicktime | datetime | 最近点击时间 | |||
browseduration | int | 浏览时长 | 0 |
结论
经过这几个月的努力,在老师和同学的帮助与指导下,对系统顺利完成。对于该系统的研究和开发虽然没有耗费大量的时间,但为了成功完成该在线美食分享平台,消耗了大量的精力和汗水去了解学习这方面涉及到的专业知识以及开发环境的应用。 该系统的设计与实现,是经过了很长时间的分析、观察、调研和研究分析并整理资料实施的。在线美食分享平台采用B/S架构、Java开发语言、数据可视化技术、爬虫技术、Spring Boot框架以及MySQL数据库等技术开发与设计。该系统主要分为用户和管理员个角色。该在线美食分享平台分为前端和后端两大部分。前端的主要功能为向注册用户展示美食信息、美食资讯等,并对一些数据进行记录。后端的主要任务是对数据的一些准备处理的工作,对于用户和管理员两者的数据属性的添加、维护和修改。每个功能在完成各自任务的同时也相互合作,一起来处理各个任务以及进程。 尽管该系统对用户可以满足一些基本的在线美食分享平台的需求,但该系统还存在寻多问题和有待完善的地方。主要分为以下两点:
(1)该在线美食分享平台的适用面比较局限。页面的设置还是过于繁琐,不够简洁。加上社会方面的飞速发展,用户的条件也在发生新的变化。该系统还存在大数据下的并发和并行操作的不稳定性,当一个时间段内或者同一时刻时,过量的用户访问该网站会让网站的服务器出现崩溃的现象,一些操作无法正常的运行。种种原因使得该系统存在一些局限性。 (2)需要人工来处理的数据模块太多,需要减少大量的人工操作。在对在线美食分享平台信息处理的程序中,难免会出现各种各样的错误数据或者是异常数据,一旦这些数据大量积累存在过多时,系统自我调节修复能力有限就不得不需要人工的干预了。但是人工如果经常去进行操作的话,就会造成该系统的运行速度变慢,对其余正确的数据产生干扰,而且有可能对正确数据的损害以及泄露,从而将会减少该系统的稳定性。对于人力和财力都造成了不必要的浪费。 从上述可以看出该在线美食分享平台还有很多不足之处,在日后要结合具体项目问题进行修改和研究。