页面不显示

来源:2-4 实现动态图表

MAYxDAY

2020-03-14 17:14:46

package com.imooc.total;


import java.io.IOException;

import java.util.HashMap;

import java.util.List;

import java.util.Map;


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 com.alibaba.fastjson.JSON;


/**

 * Servlet implementation class RequestTotalServlet

 */

@WebServlet("/rt")

public class RequestTotalServlet extends HttpServlet {

private static final long serialVersionUID = 1L;

       

    /**

     * @see HttpServlet#HttpServlet()

     */

    public RequestTotalServlet() {

        super();

        // TODO Auto-generated constructor stub

    }


/**

* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)

*/

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

List<String> timeList=(List)request.getServletContext().getAttribute("timeList");

List<String> valueList=(List)request.getServletContext().getAttribute("valueList");

response.setContentType("text/html:charset=UTF-8");

// response.getWriter().println(timeList.toString());

//

// response.getWriter().println(valueList.toString());

Map result=new HashMap();

result.put("timeList", timeList);

result.put("valueList", valueList);

String json=JSON.toJSONString(result);

response.getWriter().println(json);

}


}

********************************************

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>Insert title here</title>

<script type="text/javascript" src="js/echarts.min.js"></script>

<script type="text/javascript" src="js/jquery-3.4.1.min.js"></script>

</head>

<body>

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

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

    <script type="text/javascript">

    function showTotal(){

    $.ajax({

    "url":"./rt",

    "type":"get",

    "dataType":"json",

    "success":function(json){

    console.info(json.timeList);

    console.info(json.valueList);

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

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


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

            var option = {

            title: {

                        text: '请求流量分析统计'

                    },

                    tooltip: {},

                    legend: {

                        data:['访问量']

                    },

                    xAxis: {

                        data: json.timeList

                    },

                    yAxis: {},

                    series: [{

                        name: '访问量',

                        type: 'line',

                        data: json.valueList

                    }]

            };


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

            myChart.setOption(option);

    }

    })

    }

        window.setInterval("showTotal",1000);

     

    </script>

</body>

</html>


写回答

2回答

好帮手慕阿满

2020-03-14

同学你好,在html页面的js代码中,如下应该调用showTotal()函数,而不是showTotal,建议同学加上括号再试试。

http://img.mukewang.com/climg/5e6cd34c09467a9c04810082.jpg

修改后:

http://img.mukewang.com/climg/5e6cd38a097ff07904540069.jpg

如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~

1

MAYxDAY

提问者

2020-03-14

package com.imooc.total;


import java.text.SimpleDateFormat;

import java.util.ArrayList;

import java.util.Date;

import java.util.List;


import javax.servlet.ServletContextEvent;

import javax.servlet.ServletContextListener;

import javax.servlet.ServletRequestEvent;

import javax.servlet.ServletRequestListener;

import javax.servlet.http.HttpServletRequest;


public class RequestTotalListener implements ServletContextListener, ServletRequestListener {


@Override

public void requestDestroyed(ServletRequestEvent sre) {

// TODO Auto-generated method stub


}


@Override

public void requestInitialized(ServletRequestEvent sre) {

HttpServletRequest request=(HttpServletRequest)sre.getServletRequest();

String url=request.getRequestURL().toString();

if(url.endsWith("/rt")==true) {

return;

}

List<String> timeList=(List)sre.getServletContext().getAttribute("timeList");

    List<Integer> valueList=(List)sre.getServletContext().getAttribute("valueList");

    Date date=new Date();

    SimpleDateFormat sdf=new SimpleDateFormat("HH:mm");

    String time=sdf.format(date);

    if(timeList.indexOf(time)==-1) {

    timeList.add(time);

    valueList.add(1);

    sre.getServletContext().setAttribute("timeList", timeList);

    sre.getServletContext().setAttribute("valueList", valueList);

   

    }else {

    int index=timeList.indexOf(time);

    int value=valueList.get(index);

    valueList.set(index, value+1);

    sre.getServletContext().setAttribute("valueList", valueList);

    }


}


@Override

public void contextDestroyed(ServletContextEvent sce) {

// TODO Auto-generated method stub


}


@Override

public void contextInitialized(ServletContextEvent sce) {

   List<String> timeList=new ArrayList();

   List<Integer> valueList=new ArrayList();

   sce.getServletContext().setAttribute("timeList", timeList);

   sce.getServletContext().setAttribute("valueList", valueList);

}


}


0

0 学习 · 9666 问题

查看课程