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



















