一、项目介绍
1.1 项目简介
本项目主题是“地区租房项目数据展示”,项目基于 SpringBoot 框架,主要使用了 MySQL、MongoDB 作为后台数据库,使用了 JSP、CSS、JS、JQuery等前端组件,使用了 SpringMVC视图解析器、Ajax 等前后端交互开发技术。
1.2项目目的
(1)熟练运用 NoSQL 数据库操作;
(2)熟悉 Spring 框架的 MVC 三层架构;
(3)使用 SpringBoot 简化 Spring 项目开发;
(4)熟悉前后端交互方式,熟悉交互数据类型等;
1.3运行环境
1.3.1硬件环境
(1)Windows 10 操作系统
(2)四核 i5 处理器
1.3.2软件环境
(1)Idea 编译器
(2)Chrome 浏览器(测试前端页面)
(3)Tomcat v9.0.33
(4)SpringBoot 2.7.7
1.4项目组件
1.5项目设计
1.5.1数据库设计
User表(MySQL):
User 表用于存储用户登录信息,包含 4 个字段,分别为: ①user_id (int,主键)、②identity ( varchar )、③username ( varchar)、④password ( varchar )。
RentInfo表(MongoDB):
RentInfo表用于存储租房房源信息,包含 9个字段,分别为:①_id(Integer)、②address(String)、③area(String)、④floor(Integer)、⑤position(String)、⑥price(Double)、⑦roomType(String)、⑧square(Double)、⑨title(String)、⑩location(map)。
其中第⑩个字段是内嵌文档,存储了地址的经纬度信息,包含 3 个字段,分别为:①count(Integer)、②lng(Double)、③lat(Double)
1.5.2 Web项目设计
项目基于 SpringBoot,因此采用常见的 MVC 三层架构,M 是指业务模型,V 是指用户界面,C 则是控制器,使用 MVC 的目的是将 M 和V 的实现代码分离,从而使同一个程序可以使用不同的表现形式。其中,View 的定义比较清晰,就是用户界面。
业务设计过程遵循 Controller 层调用 Service 层、Service 层调用 Dao 层的原则。
二、 项目构成
2.1数据爬取
2.1.1简述
为了模拟真实项目场景,项目所需数据将使用 Jsoup 组件对特定网站页面进行数据爬取。爬取过程使用 Gson 作为 Json 解析器,便于数据之间的格式转化。数据爬取操作将在 Idea 编译器上进行。
Jsoup
Jsoup是一款Java的HTML解器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据。
Gson
Google Gson是一个简单的基于Java的库,用于将Java对象序列化为JSON,反之亦然。它是由Google开发的开源库。以下列出了Gson的一些最突出的功能:
(1)易于使用 - Gson API 提供了一个高级外观,以简化常用的用例;
(2)无需创建映射 - Gson API 为大多数要序列化的对象提供默认映射;
(3)性能 - Gson 速度非常快,内存占用少。 它适用于大型对象图或系统;
(4)清洁JSON- Gson创建一个干净,紧凑的JSON结果,易于阅读;
(5)无依赖关系 - 除了 JDK 之外,Gson 库不需要任何其他库;
(6)开源 - Gson库是开源的;它是免费提供的。
2.1.2使用Jsoup多线程爬取网站数据