获取疫情信息
//1.先准备一个网址(URL)
URL url = new URL("网页地址");
//2.打开服务器链接,得到连接对象conn
URLConnection conn = url.openConnection();
//3.获取加载数据的字节输入流
InputStream is = conn.getInputStream();
//4.将is装饰为能一次读取一行的字节输入流 br
BufferedReader br = new BufferedReader(new InputStreamReader(is,"UTF-8"));
//5.加载一行数据
String text = br.readLine();
//6.释放资源
br.close();
疫情可视化项目上线
- 购买服务器
登录阿里云购买
选择2 vCPU 2GiB,地区选择离自己所在区域较近的服务器,选择突发性能实例的服务器 - 配置服务器
在镜像中选择镜像市场,操作系统选择为宝塔Linux操作系统
带宽计费模式选择按使用流量,设置为80M
系统配置选择自定义密码,这里设置的密码是服务器的root密码 - 设置安全组
在配置好的服务器右侧点击更多→网络和安全组→安全组配置→配置规则
点击快速添加,添加一个端口范围为80,授权对象为0.0.0.0的访问,将其复制并更改端口范围为8888的访问 - 进入宝塔控制面板
再浏览器中输入ecs服务器的公网IP地址:8888,根据提示自定义密码
若没有自定义的页面,点击服务器右侧的远程连接,选择第一个,选择root用户,输入配置服务器时设置的密码,进入命令行后输入bt default获取账号密码 - 安装配置Tomcat
进入宝塔控制面板后,点击软件商店,搜索tomcat,下载安装。
安装成功之后,选择设置→配置修改→第69行→8080改为80→保存→服务→重启 - 编写index.jsp
打开tomcat的安装目录,选择webapps→root→index.jps点击编辑将除控制编码表的代码外所有的代码删掉
复制粘贴,即可实现浏览加速疫情地图
浏览器输入服务器的公网ip就可以浏览了
<%@ page session="false" pageEncoding="UTF-8" contentType="text/html; charset=UTF-8" %>
<%@ page import="java.net.URL" %>
<%@ page import="java.net.URLConnection" %>
<%@ page import="java.io.InputStream" %>
<%@ page import="java.io.InputStreamReader" %>
<%@ page import="java.io.BufferedReader" %>
<!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">
<%!
//java代码声明区
//这里用来定义一些变量,只有第一次访问时会执行,后续访问重复使用第一次创建的变量。
//时间戳:从格林威治历开始(1970年开始)到现在的13为毫秒数字
//Java获取时间戳的方式:System.currentTimeMillis();
//用于缓存疫情数据的变量text
String text = null;
//用于表示加载数据时的时间戳,0表示1970年
long time = 0;
%>
<%
if(System.currentTimeMillis()-time>600000) {
//0.更新加载数据时的时间
time = System.currentTimeMillis();
//1.先准备一个网址(URL)
URL url = new URL("https://zaixianke.com/yq/all");
//2.打开服务器链接,得到连接对象conn
URLConnection conn = url.openConnection();
//3.获取加载数据的字节输入流
InputStream is = conn.getInputStream();
//4.将is装饰为能一次读取一行的字节输入流 br
BufferedReader br = new BufferedReader(new InputStreamReader(is));
//5.加载一行数据
text = br.readLine();
//6.关闭流
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>