1. 数据库表设计(假设使用MySQL):
CREATE TABLE page_statistics (
page_id INT PRIMARY KEY,
page_name VARCHAR(255),
click_count INT
);
2. JSP页面代码(stats.jsp):
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ page import="java.sql.*" %>
<html>
<head>
<title>点击量统计</title>
</head>
<body>
<%
// 获取页面ID(假设页面有唯一的ID标识)
int pageId = Integer.parseInt(request.getParameter("pageId"));
// JDBC连接信息
String url = "jdbc:mysql://your_database_url/your_database_name";
String username = "your_username";
String password = "your_password";
Connection connection = null;
PreparedStatement statement = null;
ResultSet resultSet = null;
try {
// 加载JDBC驱动程序
Class.forName("com.mysql.cj.jdbc.Driver");
// 建立数据库连接
connection = DriverManager.getConnection(url, username, password);
// 查询当前页面的点击量
String query = "SELECT click_count FROM page_statistics WHERE page_id=?";
statement = connection.prepareStatement(query);
statement.setInt(1, pageId);
resultSet = statement.executeQuery();
int clickCount = 0;
if (resultSet.next()) {
clickCount = resultSet.getInt("click_count");
}
// 更新点击量
clickCount++;
String updateQuery = "UPDATE page_statistics SET click_count=? WHERE page_id=?";
statement = connection.prepareStatement(updateQuery);
statement.setInt(1, clickCount);
statement.setInt(2, pageId);
statement.executeUpdate();
// 显示点击量
%>
<h2>页面点击量统计</h2>
<p>页面ID:<%= pageId %></p>
<p>点击量:<%= clickCount %></p>
<%
} catch (Exception e) {
e.printStackTrace();
} finally {
// 关闭数据库资源
try {
if (resultSet != null) resultSet.close();
if (statement != null) statement.close();
if (connection != null) connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
%>
</body>
</html>
在这个例子中,假设每个页面有一个唯一的ID(page_id),并在请求参数中传递该ID。点击量存储在数据库表 page_statistics 中,并在每次页面加载时更新。请根据你的实际需求调整数据库连接信息和表结构。此外,注意要保护数据库连接信息,不要将其硬编码在JSP文件中。在实际生产环境中,最好将数据库连接信息配置在外部配置文件中。
转载请注明出处:http://www.zyzy.cn/article/detail/13678/JSP