idea开发 java web 疫情信息查询系统bootstrap框架web结构java编程计算机网页接口查询

一、源码特点
 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

需要源码 其他的定制服务  下方联系卡片↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/526301.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

PP-Structure 文档分析

本文接着上一篇文章&#xff1a;PaddleOCR环境搭建、模型训练、推理、部署全流程&#xff08;Ubuntu系统&#xff09;-CSDN博客 主要包括以下几种&#xff1a; PP-Structure 文档分析 --官方地址 1.1版面分析和表格识别1.2版面恢复1.3关键信息抽取 1. 简介 PP-Structu…

云手机提供私域流量变现方案

当今数字营销领域&#xff0c;私域流量是一座巨大的金矿&#xff0c;然而并非人人能够轻易挖掘。一家营销公司面临着利用社交、社区、自媒体等应用积累私域流量&#xff0c;并通过销售产品、推送广告等方式实现流量变现的挑战与困境。本文将详细介绍这家公司是如何通过云手机&a…

填字母游戏【蓝桥杯】/博弈+dfs

填字母游戏 博弈dfs #include<iostream> #include<map> using namespace std; //要用map存储已经处理过的字符串不然会超时 map<string,int> m; //dfs返回的就是结果 int dfs(string s) {//剪枝if(m.find(s)!m.end()) return m[s];//找到LOL代表输了if(s.fi…

[STL-list]介绍、与vector的对比、模拟实现的迭代器问题

一、list使用介绍 list的底层是带头双向链表结构&#xff0c;双向链表中每个元素存储在互不相关的独立节点中&#xff0c;在节点中通过指针指向其前一个元素和后一个元素。与其他的序列式容器相比(array&#xff0c;vector&#xff0c;deque)&#xff0c;list通常在任意位置进行…

Kubernetes(k8s)监控与报警:Prometheus + Grafana + Alertmanager(超详细)

Kubernetes&#xff08;k8s&#xff09;监控与报警&#xff1a;Prometheus Grafana Alertmanager&#xff08;超详细&#xff09; 1、部署环境2、基本概念简介2.1、Prometheus简介2.2、Grafana简介2.3、Alertmanager简介2.4、Prometheus GrafanaAlertmanager监控架构 3、Pro…

品牌发言稿怎么写?纯干货

品牌发言稿的重要性不言而喻&#xff0c;它不仅代表着品牌形象&#xff0c;更是沟通品牌与消费者、合作伙伴的桥梁。如何撰写一篇高质量的品牌发言稿&#xff0c;成为许多品牌关注的焦点。伯乐网络传媒十多年文案撰写经验&#xff0c;今天就来给大家讲一讲。 一、品牌发言稿的组…

关系(三)利用python绘制相关矩阵图

关系&#xff08;三&#xff09;利用python绘制相关矩阵图 相关矩阵图&#xff08;Correlogram&#xff09;简介 相关矩阵图既可以分析每对变量之间的相关性&#xff0c;也可以分析单变量的分布情况。相关性以散点图的形式可视化&#xff0c;对角线用直方图/密度图表示每个变量…

面试字节被挂了

分享一个面试字节的经历。 1、面试过程 一面&#xff1a;上来就直接"做个题吧"&#xff0c;做完之后&#xff0c;对着简历上一个项目聊&#xff0c;一直聊到最后&#xff0c;还算比较正常。 二面&#xff1a;做自我介绍&#xff0c;花几分钟聊了一个项目&#xff…

Notepad++软件安装及配置说明

Notepad是 Windows操作系统下的一套文本编辑器&#xff0c;有完整的中文化接口及支持多国语言编写的功能。 Notepad功能比 Windows自带记事本强大&#xff0c;除了可以用来制作一般的纯文字说明文件&#xff0c;也十分适合编写计算机程序代码。Notepad不但可以显示行号&#xf…

精酿啤酒的未来:创新与传统的碰撞

随着精酿啤酒的兴起&#xff0c;越来越多的人开始关注这一领域的发展趋势。精酿啤酒作为啤酒中的一种新兴类别&#xff0c;其未来发展将受到创新与传统的碰撞和影响。在这其中&#xff0c;Fendi Club啤酒屋作为精酿啤酒的代表性场所&#xff0c;将继续发挥其重要的作用。 首先&…

windows10系统下TP-LINK万兆网卡属性配置高级说明

文章目录 打开配置属性说明ARP Offload&#xff1a;ARP地址解析协议卸载Downshift retries:降档重试次数Energy-Efficient Ethernet:高能效以太网Flow Control:流量控制Interrupt Moderation:中断调整Interrupt Moderation Rate:中断调节率IPv4 Checksum Offload:IPv4校验和卸载…

好看的短袖品牌有哪些?不会穿搭的男生有这几件短袖就够了

很多朋友都经常跟我说&#xff0c;自己买回来的衣服要么就是太长要么就是太短&#xff0c;甚至还有一些质量很差的衣服。而主要的原因就是目前市面上有太多未经过细节优化的衣裤&#xff0c;同时鱼龙混杂的市场也让大家十分容易选择到这类衣服。 而最近天气也逐渐转热&#xf…

java算法day46 | 动态规划part08 ● 139.单词拆分 ● 关于多重背包,你该了解这些! ● 背包问题总结篇!

139.单词拆分 完全背包问题&#xff0c;只不过装入背包时需要附加一个判断条件。 class Solution {public boolean wordBreak(String s, List<String> wordDict) {boolean[] dpnew boolean[s.length()1];dp[0]true;for(int j1;j<s.length();j){for(int i0;i<wordD…

【深度学习】最强算法之:深度Q网络(DQN)

深度Q网络 1、引言2、深度Q网络2.1 定义2.2 原理2.3 实现方式2.4 算法公式2.5 代码示例 3、总结 1、引言 小屌丝&#xff1a;鱼哥&#xff0c; 马上清明小长假了&#xff0c; 你这准备去哪里玩啊&#xff1f; 小鱼&#xff1a;哪也不去&#xff0c;在家待着 小屌丝&#xff1a…

Java 开发篇+一个简单的数据库管理系统ZDB

说明&#xff1a;本文供数据库爱好者和初级开发人员学习使用 标签&#xff1a;数据库管理系统、RDBMS、Java小程序、Java、Java程序 系统&#xff1a;Windows 11 x86 CPU &#xff1a;Intel IDE &#xff1a;IntelliJ IDEA Community Edition 2024 语言&#xff1a;Java语言 标…

“AI+信创”两翼齐飞,实在智能全面加速自主可控实在智能RPA

近日&#xff0c;实在智能牵手华为昇腾、摩尔线程在信创领域展开紧密合作&#xff0c;共同加速推进AI和信创产业创新发展。 华为昇腾与实在智能达成昇腾原生大模型联合创新合作&#xff0c;基于华为昇腾AI自主创新软硬件平台全栈技术、实在智能自研RPA基础大模型解决方案能力&a…

简单好用高效的视频补帧软件:Squirrel-RIFE

Squirrel-RIFE&#xff0c;轻松实现高效补帧&#xff0c;让您的视频画面瞬间流畅升级&#xff01;- 精选真开源&#xff0c;释放新价值。 概览 在观看视频内容的过程中&#xff0c;尤其是面对复杂多变的动画场景或高速运动镜头时&#xff0c;观众时常会遭遇视频帧率不足所引发…

算法中的二阶差分

众所周知&#xff0c;在往区间的每一个数都加上一个相同的数k&#xff0c;进行n次后会得到一个新的数列&#xff0c;如果每次加都循环区间挨个数加上k&#xff0c;这样时间复杂度无疑是O(n^2)&#xff0c;很高。这时可以采用一阶差分就可解决&#xff0c;这里默认会一阶差分&am…

物联网行业趋势——青创智通

工业物联网解决方案-工业IOT-青创智通 随着科技的不断进步和应用场景的日益扩大&#xff0c;物联网行业呈现出迅猛发展的势头。作为当今世界最具前瞻性和战略意义的领域之一&#xff0c;物联网行业的趋势和未来发展值得深入探讨。 ​一、物联网行业正逐渐实现全面普及。随着物…

鸿蒙ArkUI开发实战:制作一个【简单计数器】

构建第一个页面 使用文本组件 工程同步完成后&#xff0c;在 Project 窗口&#xff0c;点击 entry > src > main > ets > pages &#xff0c;打开 Index.ets 文件&#xff0c;可以看到页面由 Row 、 Column 、 Text 组件组成。 index.ets 文件的示例如下&#xff1…