首页 > 技术文章 > 全国疫情统计可视化地图

wyppaa 2020-03-18 15:42 原文

Index.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>主界面</title>

</head>

<body>   

                  <div align="center">

                          <div><a href="Servlet?method=cha1">查询</a> </div>

                 

                 

                 

                 

                 

                  </div>

        

 

</body>

</html>

 

Cha.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

       <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>查询</title>

</head>

<body>

 

 

 

<form action="Servlet?method=chaxun" method="post">

         <div>

                  开始时间<select name="timeone">

                          <c:forEach items="${holds}" var="item" varStatus="status">

 

                                   <option>${item.date}</option>

 

                          </c:forEach>

                  </select>

         </div>

         <div>

                  截至时间<select name="timetwo">

                          <c:forEach items="${holds}" var="item" varStatus="status">

 

                                   <option>${item.date}</option>

 

                          </c:forEach>

                  </select>

         </div>

         <div>

         <input type="submit" value="提交">

         </div>

         </form>

        

        

 

 

 

</body>

</html>

 

Xianshi.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

       <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>显示</title>

</head>

<body>

 

         <table >

                          <tr>

                                   <td>时间</td>

                                   <td>省份</td>

                                   <td>城市</td>

                                   <td>确诊人数</td>

                                   <td>疑似人数</td>

                                   <td>痊愈人数</td>

                                   <td>死亡人数</td>

                          </tr>

                         

                          <c:forEach items="${holds}" var="item" varStatus="status">

                                   <tr>

                                            <td>2020-3-13 13:23:07</td>

                                            <td>${item.province}</td>

                                            <td>${item.city}</td>

                                            <td>${item.connum}</td>

                                            <td>${item.yisinum}</td>

                                            <td>${item.curenum}</td>

                                            <td>${item.deadnum}</td>

                                   </tr>

                          </c:forEach>

                  </table>

                  <div align="center">

                  <a href="Servlet?method=xianshi">用图表显示</a>

                  </div>

 

</body>

</html>

Xianshi2.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

       <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

      

<!DOCTYPE html>

<html>

<head>

    <meta charset="utf-8">

    <title>疫情分布图</title>

    <!-- 引入 echarts.js -->

    <script src="https://cdn.staticfile.org/echarts/4.3.0/echarts.min.js"></script>

</head>

<body>

<% String timetwo=null;

         timetwo=request.getParameter(timetwo);

         %>

        

          

    <!-- 为ECharts准备一个具备大小(宽高)的Dom -->

    <div id="main" style="width: 1500px;height:600px;"></div>

 

   

    <script type="text/javascript">

        // 基于准备好的dom,初始化echarts实例

        var myChart = echarts.init(document.getElementById('main'));

 

        // 指定图表的配置项和数据

        var option = {

            title: {

                text: '疫情分布图'

            },

            tooltip: {},

            legend: {

                data:['城市']

            },

            xAxis: {

                data: ["湖北省","广东省","浙江省","河南省","安徽省","江西省","江苏省","重庆市","山东省","四川省","北京市","黑龙江省","上海市","河北省","陕西省","广西壮族自治区","云南省","海南省","山西省","辽宁省","贵州省","天津市","甘肃省","吉林省","内蒙古自治区","宁夏回族自治区","新疆维吾尔自治区","香港","青海省","台湾","澳门","西藏自治区"]

                        

            },

            yAxis: {},

            series: [{

                name: '人数',

                type: 'bar',

                data:["67790","1075","1048","981","733","698","439","426","407","363","315","295","286","195","195","183","138","124","104","99","89","88","71","69","52","45","42","26","18","17","10","1"]

            }]

        };

       

 

        // 使用刚指定的配置项和数据显示图表。

        myChart.setOption(option);

    </script>

</body>

</html>

      

Dao.java:

package Dao;

 

import java.sql.Connection;

import java.sql.Statement;

import java.util.ArrayList;

import java.util.List;

import java.sql.ResultSet;

import Entity.Date;

import DBUtil.DButil;

import Entity.qingkuang;

import Entity.City;

 

 

public class Dao {

         public List<Date> cha1(){

                  String sql="select * from info";

                  Connection conn = DButil.getConn();

                  Statement state =null;

                  ResultSet rs = null;

                  List<Date> list = new ArrayList<>();

                  List<String> da=new ArrayList<>();

                  try {

                          state = conn.createStatement();

                          rs = state.executeQuery(sql);

                          Date bean = null;

                          while (rs.next()) {

                                   String date=rs.getString("Date");

                                   String Date=date.substring(0, 19);

                                   if(da.contains(Date)) {

                                           

                                   }

                                   else {

                                            da.add(Date);

                                           

                                            bean=new Date(Date);

                                           

                                                     list.add(bean);

                                   }

                                  

                                  

                                  

                                  

                          }

                 

         }catch (Exception e) {

                  e.printStackTrace();

         } finally {

                  DButil.close(rs,state, conn);

         }

         return list;       

         }

         public List<qingkuang> chaxun(String timeone,String timetwo){

                  String sql="select * from info where Date = '"+timeone+"'";

                  Connection conn = DButil.getConn();

                  Statement state =null;

                  ResultSet rs = null;

                  List<qingkuang> list=new ArrayList<>();

                  try {

                          state = conn.createStatement();

                          rs = state.executeQuery(sql);

                          qingkuang bean = null;

                          while (rs.next()) {

                                   String Timet=rs.getString("Date");

                                   String timet=Timet.substring(0, 19);

                                   if(timet.equals(timetwo)) {

                                            break;

                                   }

                                   else {

                                            String date=rs.getString("Date");

                                            String Date=date.substring(0, 19);

                                            String Province=rs.getString("Province");

                                            String City=rs.getString("City");

                                            String Connum=rs.getString("Confirmed_num");

                                            String Yisinum=rs.getString("Yisi_num");

                                            String Curenum=rs.getString("Cured_num");

                                            String Deadnum=rs.getString("Dead_num");

                                            bean=new qingkuang(Province,City,Connum,Yisinum,Curenum,Deadnum,Date);

                                            list.add(bean);

                                   }

 

                          }

                 

         }catch (Exception e) {

                  e.printStackTrace();

         } finally {

                  DButil.close(rs,state, conn);

         }

         return list;       

                 

         }

         public List<City> xianshi(String timetwo){

                  String sql="select * from info where City =''";

                  Connection conn = DButil.getConn();

                  Statement state =null;

                  ResultSet rs = null;

                  List<City> list=new ArrayList<>();

                  try {

                          state = conn.createStatement();

                          rs = state.executeQuery(sql);

                          City bean = null;

                          while (rs.next()) {

                                   String Timet=rs.getString("Date");

                                   String timet=Timet.substring(0, 19);

                                   if(timet.equals(timetwo)) {

                                            String province=rs.getString("Province");

                                            String num=rs.getString("Confirmed_num");

 

                                            bean=new City(province,num);

                                            list.add(bean);

                                   }

                          }

         }catch (Exception e) {

                  e.printStackTrace();

         } finally {

                  DButil.close(rs,state, conn);

         }

         return list;       

                 

         }

 

}

 

DBUtil.java:

package DBUtil;

 

 

 

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

 

 

public class DButil {

        

         public static String db_url = "jdbc:mysql://localhost:3306/yiqing";

         public static String db_user = "root";

         public static String db_pass = "wyp6666";

        

         public static Connection getConn () {

                  Connection conn = null;

                 

                  try {

                          Class.forName("com.mysql.jdbc.Driver");

                          conn = DriverManager.getConnection(db_url, db_user, db_pass);

                  } catch (Exception e) {

                          e.printStackTrace();

                  }

                 

                  return conn;

         }//end getConn

        

         public static void close (Statement state, Connection conn) {

                  if (state != null) {

                          try {

                                   state.close();

                          } catch (SQLException e) {

                                   e.printStackTrace();

                          }

                  }

                 

                  if (conn != null) {

                          try {

                                   conn.close();

                          } catch (SQLException e) {

                                   e.printStackTrace();

                          }

                  }

         }

        

         public static void close (ResultSet rs, Statement state, Connection conn) {

                  if (rs != null) {

                          try {

                                   rs.close();

                          } catch (SQLException e) {

                                   e.printStackTrace();

                          }

                  }

                 

                  if (state != null) {

                          try {

                                   state.close();

                          } catch (SQLException e) {

                                   e.printStackTrace();

                          }

                  }

                 

                  if (conn != null) {

                          try {

                                   conn.close();

                          } catch (SQLException e) {

                                   e.printStackTrace();

                          }

                  }

         }

 

         public static void main(String[] args) throws SQLException {

                  Connection conn = getConn();

                  PreparedStatement pstmt = null;

                  ResultSet rs = null;

                  String sql ="select * from info1 ";

                  pstmt = conn.prepareStatement(sql);

                  rs = pstmt.executeQuery();

                  if(rs.next()){

                          System.out.println("成攻");

                  }else{

                          System.out.println("失败");

                  }

         }

}

City.java:

package Entity;

 

public class City {

         private String city;

         private String num;

         public String getCity() {

                  return city;

         }

         public void setCity(String city) {

                  this.city = city;

         }

         public String getNum() {

                  return num;

         }

         public void setNum(String num) {

                  this.num = num;

         }

         public City(String city,String num) {

                  super();

                  this.city=city;

                  this.num=num;

         }

}

Date.java:

package Entity;

 

public class Date {

         private String date;

 

         public String getDate() {

                  return date;

         }

 

         public void setDate(String date) {

                  this.date = date;

         }

         public Date(String date) {

                  super();

                  this.date=date;

         }

 

}

Qingkuang.java:

package Entity;

 

public class qingkuang {

         private String province;

         private String city;

         private String Connum;

         private String Yisinum;

         private String Deadnum;

         private String Curenum;

         private String Date;

         public String getDate() {

                  return Date;

         }

         public void setDate(String date) {

                  Date = date;

         }

         public String getProvince() {

                  return province;

         }

         public void setProvince(String province) {

                  this.province = province;

         }

         public String getCity() {

                  return city;

         }

         public void setCity(String city) {

                  this.city = city;

         }

         public String getConnum() {

                  return Connum;

         }

         public void setConnum(String connum) {

                  Connum = connum;

         }

         public String getYisinum() {

                  return Yisinum;

         }

         public void setYisinum(String yisinum) {

                  Yisinum = yisinum;

         }

         public String getDeadnum() {

                  return Deadnum;

         }

         public void setDeadnum(String deadnum) {

                  Deadnum = deadnum;

         }

         public String getCurenum() {

                  return Curenum;

         }

         public void setCurenum(String curenum) {

                  Curenum = curenum;

         }

         public qingkuang(String province,String city,String Connum,String Yisinum,String Deadnum,String Curenum,String Date) {

                  super();

                  this.city=city;

                  this.Connum=Connum;

                  this.Curenum=Curenum;

                  this.Deadnum=Deadnum;

                  this.province=province;

                  this.Yisinum=Yisinum;

                  this.Date=Date;

                 

         }

 

}

Servlet.java:

package Servlet;

import java.io.IOException;

import java.util.List;

 

import javax.servlet.ServletException;

import javax.servlet.annotation.WebServlet;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import javax.servlet.http.HttpSession;

import Dao.Dao;

import Entity.Date;

import Entity.qingkuang;

import Entity.City;

 

 

 

 

 

 

@WebServlet("/Servlet")

public class Servlet extends HttpServlet {

         private static final long serialVersionUID = 1L;

 

 

         public Servlet() {

                  super();

 

         }

         protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

                  req.setCharacterEncoding("utf-8");

                  String method = req.getParameter("method");

                  if ("cha1".equals(method)) {

                          cha1(req,resp);

                  }

                  if ("chaxun".equals(method)) {

                          chaxun(req,resp);

                  }

                  if ("xianshi".equals(method)) {

                          xianshi(req,resp);

                  }

         }

 

         private void cha1(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException{

                  req.setCharacterEncoding("utf-8");

                  Dao dao=new Dao();

                  List<Date> holds=dao.cha1();

                  req.setAttribute("holds", holds);

                  req.getRequestDispatcher("cha1.jsp").forward(req,resp);

                 

         }

         private void chaxun(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException{

                  req.setCharacterEncoding("utf-8");

                  String timeone=req.getParameter("timeone");

                  String timetwo=req.getParameter("timetwo");

                  HttpSession session = req.getSession();

                    session.setAttribute("timetwo",timetwo);

                  Dao dao=new Dao();

                  List<qingkuang> holds=dao.chaxun(timeone, timetwo);

                  req.setAttribute("holds", holds);

                  req.getRequestDispatcher("xianshi.jsp").forward(req,resp);

                 

                 

         }

         private void xianshi(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException{

                  req.setCharacterEncoding("utf-8");

                  HttpSession session = req.getSession();

             String timetwo=null;

                    timetwo=(String)session.getAttribute("timetwo");

                    Dao dao=new Dao();

                    List<City> holds=dao.xianshi(timetwo);

                    req.setAttribute("holds", holds);

                          req.getRequestDispatcher("xianshi2.jsp").forward(req,resp);

         }

}

 

推荐阅读