Add Welcome.jsp

This commit is contained in:
Paramita Pahari 2025-03-11 06:36:46 +00:00
parent 57e872df6d
commit 47539398cf

88
Welcome.jsp Normal file
View File

@ -0,0 +1,88 @@
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Welcome</title>
<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
</head>
<body>
<h1>Select User</h1>
<select id="userSelect" onchange="fetchData()">
<option value="">Select User</option>
<option value="1">User 1</option>
<option value="2">User 2</option>
<option value="3">User 3</option>
<option value="4">User 4</option>
<option value="5">User 5</option>
</select>
<h2>Bar Chart</h2>
<canvas id="barChart"></canvas>
<h2>Pie Chart</h2>
<canvas id="pieChart"></canvas>
<script>
async function fetchData() {
const userId = document.getElementById('userSelect').value;
const response = await fetch(`TicketServlet?UID=${userId}`);
const data = await response.json();
const barChartCtx = document.getElementById('barChart').getContext('2d');
const pieChartCtx = document.getElementById('pieChart').getContext('2d');
const barChartData = {
labels: Object.keys(data.chartData),
datasets: [{
label: 'Status Count',
data: Object.values(data.chartData),
backgroundColor: 'rgba(75, 192, 192, 0.2)',
borderColor: 'rgba(75, 192, 192, 1)',
borderWidth: 1
}]
};
const pieChartData = {
labels: Object.keys(data.chartData),
datasets: [{
data: Object.values(data.chartData),
backgroundColor: [
'rgba(255, 99, 132, 0.2)',
'rgba(54, 162, 235, 0.2)',
'rgba(255, 206, 86, 0.2)',
'rgba(75, 192, 192, 0.2)',
'rgba(153, 102, 255, 0.2)'
],
borderColor: [
'rgba(255, 99, 132, 1)',
'rgba(54, 162, 235, 1)',
'rgba(255, 206, 86, 1)',
'rgba(75, 192, 192, 1)',
'rgba(153, 102, 255, 1)'
],
borderWidth: 1
}]
};
new Chart(barChartCtx, {
type: 'bar',
data: barChartData,
options: {
scales: {
y: {
beginAtZero: true
}
}
}
});
new Chart(pieChartCtx, {
type: 'pie',
data: pieChartData
});
}
</script>
</body>
</html>