一、源码特点
java 疫情信息查询系统是一套完善的完整信息系统,结合java web开发和bootstrap UI框架完成本系统 ,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。
前段主要技术 css jquery bootstrap UI框架
后端主要技术 java jsp
数据库 mysql
开发工具 IDEA JDK1.8
java 疫情信息查询系统
二、功能介绍
1)用户访问首页展现最新的疫情信息,以及系统公告信息
2)公告信息浏览,系统展现实时最新发布的信息
3)利用百度api展现中国各个城市的疫情数据
4)利用百度api,展现地市内的检测地点,并且以地图的形式展现
5)展现后台接口数据存储的疫情新闻信息,并且显示获取的渠道
6)检测信息,用户登录后,可以查看自己的检测信息
7)并且以图表的方式展现各个城市、省份的疫情数据
8)用户注册、登录,修改个人信息等
疫情查询信息管理系统后台主要功能
(1)管理员管理:对管理员信息进行添加、删除、修改和查看
(2)用户管理:对用户信息进行添加、删除、修改和查看
(3)公告管理:对公告信息进行添加、删除、修改和查看,展示疫情查询系统的内部信息
(4)疫情新闻管理:对疫情新闻信息进行添加、删除、修改和查看,通过json接口用fastjson.jar方法读接口相关信息
(5)省份管理:对省份信息进行添加、删除、修改和查看,可以支持java类后台,一次性可以初始化省市数据,减少日常基础数据录入的工作
(6)城市管理:对城市信息进行添加、删除、修改和查看
(7)检测地点管理:对检测地点信息进行添加、删除、修改和查看,按照城市进行检测地点的标准,同时展现百度地图上
(8)检测信息管理:对检测信息信息进行添加、删除、修改和查看,模拟核算检测结果录入,利用方便用户查询自己的核算结果
(9)疫情信息管理:对疫情信息信息进行添加、删除、修改和查看。利用腾讯api接口读取当前中国的内,当前新增疫情病例,治愈病例,按照最新抓取信息,腾讯的api接口实时更新,系统也可以通过手动实时读取并且json信息数据
数据库设计
CREATE TABLE `gly` (
`glyid` int(11) NOT NULL auto_increment,
`yhm` VARCHAR(40) default NULL COMMENT '用户名',
`mm` VARCHAR(40) default NULL COMMENT '密码',
`xm` VARCHAR(40) default NULL COMMENT '姓名', PRIMARY KEY (`glyid`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312;
CREATE TABLE `yonghu` (
`yhid` int(11) NOT NULL auto_increment,
`yhm` VARCHAR(40) default NULL COMMENT '用户名',
`mm` VARCHAR(40) default NULL COMMENT '密码',
`xm` VARCHAR(40) default NULL COMMENT '姓名',
`sfzh` VARCHAR(40) default NULL COMMENT '身份证号',
`sfz` VARCHAR(40) default NULL COMMENT '身份证',
`zz` VARCHAR(40) default NULL COMMENT '住址',
`dw` VARCHAR(40) default NULL COMMENT '单位', PRIMARY KEY (`yhid`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312;
CREATE TABLE `gonggao` (
`ggid` int(11) NOT NULL auto_increment,
`bt` VARCHAR(40) default NULL COMMENT '标题',
`nr` VARCHAR(40) default NULL COMMENT '内容',
`fbsj` VARCHAR(40) default NULL COMMENT '发布时间', PRIMARY KEY (`ggid`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312;
CREATE TABLE `yqxw` (
`yqxwid` int(11) NOT NULL auto_increment,
`bt` VARCHAR(40) default NULL COMMENT '标题',
`nr` VARCHAR(40) default NULL COMMENT '内容',
`fbsj` VARCHAR(40) default NULL COMMENT '发布时间',
`ly` VARCHAR(40) default NULL COMMENT '来源',
`lj` VARCHAR(40) default NULL COMMENT '连接',
`qd` VARCHAR(40) default NULL COMMENT '渠道', PRIMARY KEY (`yqxwid`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312;
CREATE TABLE `shengfen` (
`sfid` int(11) NOT NULL auto_increment,
`sf` VARCHAR(40) default NULL COMMENT '省份', PRIMARY KEY (`sfid`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312;
CREATE TABLE `chengshi` (
`csid` int(11) NOT NULL auto_increment,
`csm` VARCHAR(40) default NULL COMMENT '城市名',
`sf` VARCHAR(40) default NULL COMMENT '省份', PRIMARY KEY (`csid`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312;
CREATE TABLE `jcdd` (
`jcddid` int(11) NOT NULL auto_increment,
`ddmc` VARCHAR(40) default NULL COMMENT '地点名称',
`dz` VARCHAR(40) default NULL COMMENT '地址',
`lxdh` VARCHAR(40) default NULL COMMENT '联系电话',
`jd` VARCHAR(40) default NULL COMMENT '经度',
`wd` VARCHAR(40) default NULL COMMENT '纬度',
`cs` VARCHAR(40) default NULL COMMENT '城市', PRIMARY KEY (`jcddid`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312;
CREATE TABLE `jcxx` (
`jcxxid` int(11) NOT NULL auto_increment,
`rq` VARCHAR(40) default NULL COMMENT '日期',
`hsjg` VARCHAR(40) default NULL COMMENT '核酸结果',
`dd` VARCHAR(40) default NULL COMMENT '地点',
`yh` VARCHAR(40) default NULL COMMENT '用户',
`jcsj` VARCHAR(40) default NULL COMMENT '检测时间',
`jcjg` VARCHAR(40) default NULL COMMENT '检测机构', PRIMARY KEY (`jcxxid`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312;
CREATE TABLE `yqxx` (
`yqxxid` int(11) NOT NULL auto_increment,
`cs` VARCHAR(40) default NULL COMMENT '城市',
`rq` VARCHAR(40) default NULL COMMENT '日期',
`xyqz` VARCHAR(40) default NULL COMMENT '现有确诊',
`ljqz` VARCHAR(40) default NULL COMMENT '累计确诊',
`wzzgr` VARCHAR(40) default NULL COMMENT '无症状感染',
`jwsr` VARCHAR(40) default NULL COMMENT '境外输入',
`ljsw` VARCHAR(40) default NULL COMMENT '累计死亡',
`ljzy` VARCHAR(40) default NULL COMMENT '累计治愈',
`tjsj` VARCHAR(40) default NULL COMMENT '添加时间', PRIMARY KEY (`yqxxid`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312;
核心爬取接口
return jsonResult;
}
public void GetData(){
getYq yq=new getYq();
String y=yq.getN();
System.out.println("y=="+y);
// y=y.replace(",\\\"1\\u0003\\u0007\"","");
// y=y.replace(",\\\"isease_f\\u0011\"","");
//y=y.replace(",\\\"\"","}}");
//y=y+"}}}}";
// y=y+"\"}}";
System.out.println("y-new="+y);
// System.out.println( getValue(y,"\"data\"")); ;
// System.out.println(jsonToMap(y));
Test a=new Test();
DBO db=new DBO();
String sj="";
String cs="",rq="",xyqz="",ljqz="",wzzgr="",jwsr="",ljsw="",ljzy="",tjsj="";
String sql="";
try {
String keyPath = "data";
Object json0 = a.getJsonString(y, keyPath);
System.out.println("json-=="+json0);
String keyPath1 = "lastUpdateTime";
Object jsonzg = a.getJsonString(json0.toString(), keyPath1);
System.out.println(jsonzg);
sj=jsonzg.toString();
sj=json0.toString();
System.out.println("sj="+sj);
sql="delete from yqxx where rq='"+sj+"'";
db.open();
db.update(sql);
keyPath = "chinaTotal";///total
Object json1 = a.getJsonString(json0.toString(), keyPath);
System.out.println("中国总的=" + json1.toString());//中国总的
Map mp1=translate(JSONObject.parseObject(json1.toString()));
System.out.println("cofirm="+mp1.get("confirm"));
// confirm 累计确诊 累计确诊(ljqz)
// heal 治愈 计治愈(ljzy)
// dead 死亡 累计死亡(ljsw)
// nowConfirm 现有确诊 现有确诊(xyqz)
// importedCase 境外输入 境外输入(jwsr)
// noInfect 现有无症状 无症状感染(wzzgr)
// localConfirm 现有本土
xyqz=mp1.get("nowConfirm").toString();//变量赋值:现有确诊
ljqz=mp1.get("confirm").toString();//变量赋值:累计确诊
wzzgr=mp1.get("noInfect").toString();//变量赋值:无症状感染
jwsr=mp1.get("importedCase").toString();//变量赋值:境外输入
ljsw=mp1.get("dead").toString();//变量赋值:累计死亡
ljzy=mp1.get("heal").toString();//变量赋值:累计治愈
sql="insert into yqxx(cs,rq,xyqz,ljqz,wzzgr,jwsr,ljsw,ljzy,tjsj,lx) values('中国','"+sj+"','"+xyqz+"','"+ljqz+"','"+wzzgr+"','"+jwsr+"','"+ljsw+"','"+ljzy+"','"+StaticMethod.getStringDate()+"','国家')";
;//疫情信息SQL 语句
db.open();
db.update(sql);
keyPath = "areaTree[0]";
json0 = a.getJsonString(json0.toString(), keyPath);
System.out.println(json0);
keyPath = "children[2]";
// json = a.getJsonString(json.toString(), keyPath);
// JsonArray jsonArray=new JsonParser().parse(json.toString()).getAsJsonArray();
// JsonObject jsonObject=jsonArray.get(0).getAsJsonObject();
JSONObject jsonObject1 = JSONObject.parseObject(json0.toString());
JSONArray jsonArray1 = jsonObject1.getJSONArray("children");
for (int i = 0; i < jsonArray1.size(); i++) {
System.out.println("news=="+jsonArray1.get(i));
jsonArray1.get(i).toString();
// System.out.println("news=="+jsonArray1.get(i));
// String jsonString =jsonArray.get(i)..toJSONString();
}
List<Map<String, Object>> list = (List<Map<String, Object>>) translate(jsonArray1);
for (int i = 0; i < list.size(); i++) {
Map mp = new HashMap();
mp = (Map) list.get(i);
System.out.println("省:" + mp.get("name"));
System.out.println("省:" + mp.get("total"));
Map mpp =(Map)mp.get("total");
System.out.println("省:"+mpp.get("confirm"));
xyqz=mpp.get("nowConfirm").toString();//变量赋值:现有确诊
ljqz=mpp.get("confirm").toString();//变量赋值:累计确诊
wzzgr="0";//变量赋值:无症状感染
jwsr="0";//变量赋值:境外输入
ljsw=mpp.get("dead").toString();//变量赋值:累计死亡
ljzy=mpp.get("heal").toString();//变量赋值:累计治愈
sql="insert into yqxx(cs,rq,xyqz,ljqz,wzzgr,jwsr,ljsw,ljzy,tjsj,lx) values('"+mp.get("name")+"','"+sj+"','"+xyqz+"','"+ljqz+"','"+wzzgr+"','"+jwsr+"','"+ljsw+"','"+ljzy+"','"+StaticMethod.getStringDate()+"','省')";
;//疫情信息SQL 语句
db.open();
db.update(sql);
System.out.println("城市:" + mp.get("children").toString());
List<Map<String, Object>> li = (List<Map<String, Object>>) mp.get("children");
for (int j = 0; j < li.size(); j++) {
Map m = new HashMap();
m = (Map) li.get(j);
System.out.println("城市:" + m.get("name"));
// System.out.println("省:" + mp.get("total"));
Map m1 =(Map)m.get("total");
System.out.println("省:"+m1.get("confirm"));
xyqz=m1.get("nowConfirm").toString();//变量赋值:现有确诊
ljqz=m1.get("confirm").toString();//变量赋值:累计确诊
wzzgr="0";//变量赋值:无症状感染
jwsr="0";//变量赋值:境外输入
ljsw=m1.get("dead").toString();//变量赋值:累计死亡
ljzy=m1.get("heal").toString();//变量赋值:累计治愈
sql="insert into yqxx(cs,rq,xyqz,ljqz,wzzgr,jwsr,ljsw,ljzy,tjsj,lx) values('"+m.get("name")+"','"+sj+"','"+xyqz+"','"+ljqz+"','"+wzzgr+"','"+jwsr+"','"+ljsw+"','"+ljzy+"','"+StaticMethod.getStringDate()+"','城市')";
;//疫情信息SQL 语句
db.open();
db.update(sql);
}
百度地图热点
</head>
<script language="javascript">
function randomData() {
return Math.round(Math.random()*500);
}
var mydata = [
<%
while(rs.next()){
%>
{name: '<%=rs.getString("cs")%>',value: '<%=rs.getString("xyqz")%>' },
<% }%>
];
</script>
<body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<form name="form" action="" method="post" >
<br>
<div id="main" style="width: 1000px;height:600px;"></div>
<script type="text/javascript">
// 基于准备好的dom,初始化echarts实例
var optionMap = {
backgroundColor: '#FFFFFF',
title: {
text: '全国',
subtext: '',
x:'center'
},
tooltip : {
trigger: 'item'
},
//左侧小导航图标
visualMap: {
show : true,
x: 'left',
y: 'center',
splitList: [
{start: 5000, end:60000},{start: 4000, end: 5000},
{start: 3000, end: 4000},{start: 2000, end: 3000},
{start: 1000, end: 2000},{start: 0, end: 1000},
],
color: ['#750000', '#FF0000', '#FFB5B5','#FF8000', '#FFEEDD', '#9fb5ea']
},
//配置属性
series: [{
name: '数据',
type: 'map',
mapType: 'china',
roam: true,
label: {
normal: {
show: true //省份名称
},
emphasis: {
show: false
}
},
data:mydata //数据
}]
};
//初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));
//使用制定的配置项和数据显示图表
myChart.setOption(optionMap);
</script>
</form>
实现结果
三、注意事项
1、管理员账号:admin密码:admin 数据库配置文件DBO.java
2、开发环境为IDEA开发,数据库为mysql,使用java语言开发。
3、数据库文件名是jspyqxx.sql 系统名称yqxx
4、地址:qt/index.jsp
四 系统实现
代码下载
https://download.csdn.net/download/qq_41221322/89087503
需要源码 其他的定制服务 下方联系卡片↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓