javascript - 如何使用 JSP 和 Javascript 从数据库生成实时图形
问题描述
我正在尝试使用 Eclipse 中的 JSP 从数据库中生成虐待儿童类型的图形/图表以及相应案例的数量(请参阅序列号 4 上给出的静态图的图像)。我已将 JSP 页面连接到数据库,但无法生成实时图表。帮助我如何做到这一点。下面是 JSP 、 Javascript 的代码和数据库表的图像。
1. JSP Code
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@page import = "java.sql.*" %>
<%
Connection connection;
PreparedStatement statement;
ResultSet result;
Class.forName("com.mysql.jdbc.Driver");
connection = DriverManager.getConnection("jdbc:mysql://localhost/pbl","root","");
String fetchData = "SELECT * from abuses";
Statement st = connection.createStatement();
result = st.executeQuery(fetchData);
%>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
<meta name="description" content="" />
<meta name="author" content="" />
<title>Graphs Real-time</title>
<link href="style.css" rel="stylesheet" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.13.0/js/all.min.js" crossorigin="anonymous"></script>
</head>
<body class="sb-nav-fixed">
<div id="layoutSidenav_content">
<main>
<div class="container-fluid">
<h1 class="mt-4">Charts</h1>
<ol class="breadcrumb mb-4">
<li class="breadcrumb-item"><a href="index.html">Home</a></li>
<li class="breadcrumb-item active">Charts</li>
</ol>
<div class="card mb-4">
</div>
<div class="card mb-4">
<div class="card-header">
<i class="fas fa-chart-area mr-1"></i>
Area Chart
</div>
<div class="card-body"><canvas id="myAreaChart" width="100%" height="30"></canvas></div>
</div>
<div class="row">
<div class="col-lg-6">
<div class="card mb-4">
<div class="card-header">
<i class="fas fa-chart-bar mr-1"></i>
Bar Chart
</div>
<div class="card-body"><canvas id="myBarChart" width="100%" height="50"></canvas></div>
</div>
</div>
<div class="col-lg-6">
<div class="card mb-4">
<div class="card-header">
<i class="fas fa-chart-pie mr-1"></i>
Pie Chart
</div>
<div class="card-body"><canvas id="myPieChart" width="100%" height="50"></canvas></div>
</div>
</div>
</div>
</div>
</main>
</div>
</div>
<script src="https://code.jquery.com/jquery-3.5.1.min.js" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.bundle.min.js" crossorigin="anonymous"></script>
<script src="js/scripts.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.8.0/Chart.min.js" crossorigin="anonymous"></script>
<script src="assets/demo/chart-area-demo.js"></script>
<script src="assets/demo/chart-bar-demo.js"></script>
<script src="assets/demo/chart-pie-demo.js"></script>
</body>
</html>
- Javascript代码
Chart.defaults.global.defaultFontFamily = '-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif';
Chart.defaults.global.defaultFontColor = '#292b2c';
var ctx = document.getElementById("myAreaChart");
var myLineChart = new Chart(ctx, {
type: 'line',
data: {
labels: ["Physical Abuse", "Sexual Abuse", "Verbal/Emotional Abuse", "Mental/Psychological Abuse", "Others"],
datasets: [{
label: "Sessions",
lineTension: 0.3,
backgroundColor: "rgba(2,117,216,0.2)",
borderColor: "rgba(2,117,216,1)",
pointRadius: 5,
pointBackgroundColor: "rgba(2,117,216,1)",
pointBorderColor: "rgba(255,255,255,0.8)",
pointHoverRadius: 5,
pointHoverBackgroundColor: "rgba(2,117,216,1)",
pointHitRadius: 50,
pointBorderWidth: 2,
data: [2, 0, 1, 1, 1],
}],
},
options: {
scales: {
xAxes: [{
time: {
unit: 'date'
},
gridLines: {
display: false
},
ticks: {
maxTicksLimit: 7
}
}],
yAxes: [{
ticks: {
min: 0,
max: 20,
maxTicksLimit: 5
},
gridLines: {
color: "rgba(0, 0, 0, .125)",
}
}],
},
legend: {
display: false
}
}
});
解决方案
推荐阅读
- jwt - 尽管发送了 JWT 令牌,但 JWT 身份验证不起作用
- sql - “不是按表达式分组”Oracle SQL 语句
- python - 从 tf.nn.dynamic_rnn 获取非填充条目的最后输出
- bash - 跟踪/分析 bash 脚本
- webpack - Webpack Babel-loader 使用 eval() 转译代码
- c - C套接字HTTP请求异步打印响应,当没有明确的命令这样做时
- apache-camel - 骆驼Docatch没有开火
- excel - IF 语句公式
- visual-studio-code - 无法在 Windows Server 2012 上运行
- python - Python:计算2个向量差之和的递归函数