JAVA疫情地图总结

本文详细介绍了使用JAVA获取网络疫情数据,处理字节流与字符流,阿里云服务器部署,以及在网页中使用JAVA代码实现并发控制的过程。通过示例代码展示了如何每分钟更新一次数据并在前端展示疫情地图。最后提供了部署后的疫情地图网址供访问。
摘要由CSDN通过智能技术生成

JAVA疫情地图完成所需知识点

  1. JAVA基础语法知识预备
  2. 云服务器部署
  3. 了解网络数据请求流程
  4. 了解如何在前台页面中使用java代码
  5. 在了解流程的情况下完成并发控制

Tips:疫情地图通过对网络上疫情数据的获取,将获取到的数据加载到对应的前台页面中并加载出来

1.JAVA基础语法须知知识预备

  1. 怎么获取网络上的数据资源?
  2. java中什么是字节流,什么是字符流
  3. 怎么将获取到的字节流转换为字符流

1.1获取网络上的数据资源

java中有关于网络资源的类:URL

如何使用URL类来获取网络的数据?
只需要为所需网址实例化一个URL类对象即可,具体代码:
URL url = new URL("所需网址");
实例化后就可以将所需网址的对象进行与服务器相连接,并获取到连接的对象
URLConnection conn = url.openConnection();
获取到连接对象的输入流,并将输入流(字节流)转换为字符流,以及资源的释放
Tip1:为了不产生乱码的情况在将输入流进行转换的时候以UTF-8编码的格式进行转换
Tip2:在进行完资源的操作后要及时释放,否则会出现资源不能正常使用(可能会出现再次获取的时候提示已被占用)
InputStream input = conn.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(input,"UTF-8"));
br.close();

1.2字符流,字节流的概念

字节流:   是二进制数据,以字节为单位,便于计算机识别
字符流:   方便展示给人

2.阿里云服务器的部署

2.1首先去往阿里云官网注册并登录,白嫖一个月的云服务器
2.2前往控制台->选择云服务器ECS->选择实例并将服务器操作系统更换为宝塔(更换前要关闭服务器)
2.3远程连接服务器->获取用户名与密码(命令为:bt default)->拿着刚获取的账号密码登录->安装tomcat

3.了解网络数据请求流程

这里就直接借用别人的图了
![img](https://img-blog.csdnimg.cn/20210120175133128.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2FkbWluX21kcw==,size_16,color_FFFFFF,t_70#pic_center)
说明一下流程:
服务器每一次被请求的时候都需要访问另一台服务器进行数据的更新,这样会造成一部分的时间浪费。
此时就可以:在服务器第一次被访问的时候就将已经获取过的数据保存在服务器本地,在一定时间内用户只需要访问本地的数据就可以,这样在不重新请求数据提供的服务器的时间内可以提高并发

了解如何在前台页面中使用java代码

1.导包
<%@ page import="包名" %>
2.变量声明
<%!
    变量类型 变量名 =;
%>
3.代码执行区
URL url = new URL("https://zaixianke.com/yq/all");

在了解流程的情况下完成并发控制

具体代码如下:
<%@ page session="false" pageEncoding="UTF-8" contentType="text/html; charset=UTF-8" %>
<%@ page import="java.io.BufferedReader" %>
<%@ page import="java.io.InputStream" %>
<%@ page import="java.io.InputStreamReader" %>
<%@ page import="java.net.URL" %>
<%@ page import="java.net.URLConnection" %>
<!DOCTYPE html>
<html lang="en">
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="UTF-8">
<title>疫情地图</title>
<script type="text/javascript">
<%!
    String text = null;
    long time = 0;
%>
<%
    if(System.currentTimeMillis() - time > 600000){
        URL url = new URL("https://zaixianke.com/yq/all");
		URLConnection conn = url.openConnection();
		InputStream input = conn.getInputStream();
		BufferedReader br = new BufferedReader(new InputStreamReader(input,"UTF-8"));
		text = br.readLine();
		br.close();
	}
%>
    		var data = <%=text%>;
</script>
<script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.min.js"></script>
<script src="https://cdn.bootcss.com/echarts/4.7.0/echarts.min.js"></script> 
<script src="http://cdn.zaixianke.com/china.js"></script>
<script src="http://cdn.zaixianke.com/world.js"></script>
</head>
<body>
<div id="main" style="width: 100%;height:600px;"></div> <br>
<div style="text-align:center">
		<a style="color:#333" class="control" align="center" href="javascript:updateMap(0)">国内累计</a>
		<a style="color:#333" class="control" align="center" href="javascript:updateMap(1)">国内新增</a>
		<a style="color:#333" class="control" align="center" href="javascript:updateMap(2)">全球累计</a>
		<a style="color:#333" class="control" align="center" href="javascript:updateMap(3)">全球新增</a>
</div>
<script src="control.js"></script>
</body>
</html>

完成以上的步骤就可以实现疫情地图的开发与部署上线
成功效果点击下面的网址(如果服务器开着的话)
http://39.108.119.239/

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值