zoukankan      html  css  js  c++  java
  • 周总结3

    这周主要进行了全国疫情数据数据的爬取以及可视化

    package servlet;
    
    import java.io.IOException;
    import java.io.PrintWriter;
    import java.sql.SQLException;
    
    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 dao.Function;
    
    
    @WebServlet("/GetdataServlet")
    public class GetdataServlet extends HttpServlet {
        private static final long serialVersionUID = 1L;
    
       
        protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            request.setCharacterEncoding("utf-8");      
            response.setContentType("utf-8");         
            response.setCharacterEncoding("utf-8");        
            String time1=request.getParameter("time1");
            String time2=request.getParameter("time2");
            System.out.println(time1+"--->"+time2);
            String json=null;
            try {
                 json=Function.getData(time1, time2);
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            System.out.println(json);
            PrintWriter out=response.getWriter();
            out.println(json);
            out.close();
        }
    
        
        protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            request.setCharacterEncoding("utf-8");     
            response.setContentType("utf-8");        
            response.setCharacterEncoding("utf-8");        
            String time1=request.getParameter("time1");
            String time2=request.getParameter("time2");
            System.out.println(time1+"--->"+time2);
            String json=null;
            try {
                 json=Function.query(time1, time2);
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            System.out.println(json);
            PrintWriter out=response.getWriter();
            out.println(json);
            out.close();
        }
    
    }
    View Code
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>全国疫情统计</title>
    <style type="text/css">
    #btn {
        /* 按钮美化 */
        margin-top: 5px;
         75px; /* 宽度 */
        height: 23px; /* 高度 */
        border- 0px; /* 边框宽度 */
        border-radius: 3px; /* 边框半径 */
        background: #1E90FF; /* 背景颜色 */
        cursor: pointer; /* 鼠标移入按钮范围时出现手势 */
        outline: none; /* 不显示轮廓线 */
        font-family: Microsoft YaHei; /* 设置字体 */
        color: white; /* 字体颜色 */
        font-size: 14px; /* 字体大小 */
    }
    
    #btn:hover {
        background: orange;
    }
    table td,th{
             padding: 20px;
            text-align: center;
            border:1px solid #70aefb ;
            vertical-align:middle;
        }
    </style>
    <script src="echarts.js"></script>
    <script src="jquery-3.4.1.js"></script>
    
    <script>
        $(function(){
                
            $("#btn").click(function(){
                
                $.post("GetdataServlet",{time1:$("#time1").val(),time2:$("#time2").val()},function(result){
                        if(result!=null){
                            var array=JSON.parse(result);
                            console.log(result);
                            console.log(array);
                            var province=[];
                            var count=[];
                            for(var i=0;i<array.length;i++){
                                province.push(array[i].province);
                                count.push(array[i].count);
                            }
                            var myChart = echarts.init(document.getElementById('main'));
                            myChart.hideLoading();
                                myChart.setOption({
                                 title: {
                                      text: '疫情统计'
                                  },
                                    legend: {
                                            data:['确诊人数']
                                       },
                                xAxis: {
                                    data: province,
                                    axisLabel: {interval:0,rotate:40 }
                                },
                                
                                yAxis: {
                                    
                                },
                                series: [{
                                    // 根据名字对应到相应的系列
                                      name: '确诊人数',
                                    data:count
    
                                }]
                                
                            });
                                
                                $.get("GetdataServlet?time1="+$("#time1").val()+"&time2="+$("#time2").val(),function(result){
                                    if(result!=null){
                                        
                                        var json=JSON.parse(result);
                                        for(var j=0;j<json.length;j++){
                                            html+="<tr><td>"+json[j].id+"</td><td>"+json[j].date+"</td><td>"+json[j].province+"</td><td>"+json[j].city+"</td><td>"+json[j].confirmed_num+"</td><td>"+json[j].Cured_num+"</td><td>"+json[j].Dead_num+"</td></tr>"
                                        }
    
                                        console.log(json);
                                        $("#table").html(html+"</table>");
                                    }else{
                                        
                                    }
                                });
                        
                                
                                
                        }else{
                            alert("暂无该数据统计情况");
                        }
                });        
                
                
        
                
            
            });
        });
    </script>
    </head>
    <body>
        <input type="text" id="time1" name="time1" />
        <span>--------></span>
        <input type="text" id="time2" name="time2" />
        <input type="button" value="查询" id="btn">
        <div id="main" style=" 1200px; height: 500px;"></div>
        <div id="table"></div>
        <script>
            var myChart = echarts.init(document.getElementById('main'));
            // 显示标题,图例和空的坐标轴
            myChart.setOption({
                title : {
                    text : '疫情统计柱形图'
                },
                tooltip : {},
                legend : {
                    data : [ '确诊人数' ]
                },
                xAxis : {
                    data : []
                },
                yAxis : {},
                series : [ {
                    name : '确诊人数',
                    type : 'bar',
                    data : []
                } ]
            });
        </script>
    </body>
    </html>
    View Code

  • 相关阅读:
    AGC030 简要题解
    CF1601 简要题解
    CSP2021 题解
    2021.11.1-2021.11.7总结
    超快速梅森旋转SFMT(SIMD-oriented Fast Mersenne Twister)一览
    2021.10.25-2021.10.31总结
    CSP 2021 游记
    在Windows vs2015环境下编译使用Libevent
    在Windows环境下实现一个简单的libevent服务器
    Thinking in C++ 课后习题自己实现 第二章
  • 原文地址:https://www.cnblogs.com/vvxvv/p/13087075.html
Copyright © 2011-2022 走看看