一、源码特点
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";///totalObject 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
需要源码 其他的定制服务 下方联系卡片↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓