JSP(JavaServer Pages)是一种用于创建动态Web页面的技术,它允许开发者将Java代码嵌入到HTML页面中,从而实现动态内容的生成。下面是一个简单的JSP签到系统源代码示例,包括用户签到和查看签到记录的功能。
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>签到系统</title>
</head>
<body>
<h2>欢迎来到签到系统</h2>
<%
String username = (String) session.getAttribute("username");
if (username == null) {
response.sendRedirect("login.jsp");
} else {
%>
<form action="signinProcess.jsp" method="post">
<input type="hidden" name="username" value="<%= username %>">
<input type="submit" value="签到">
</form>
<%
}
%>
<a href="viewSigninRecords.jsp">查看签到记录</a>
</body>
</html>
<%@ page import="java.sql.*" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%
String username = request.getParameter("username");
Connection conn = null;
PreparedStatement pstmt = null;
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/signin_db", "root", "password");
String sql = "INSERT INTO signin_records (username, signin_date) VALUES (?, NOW())";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, username);
pstmt.executeUpdate();
%>
<script type="text/javascript">
alert("签到成功!");
window.location.href = "signin.jsp";
</script>
<%
} catch (Exception e) {
e.printStackTrace();
%>
<script type="text/javascript">
alert("签到失败,请稍后再试!");
window.location.href = "signin.jsp";
</script>
<%
} finally {
if (pstmt != null) pstmt.close();
if (conn != null) conn.close();
}
%>
<%@ page import="java.sql.*" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>签到记录</title>
</head>
<body>
<h2>签到记录</h2>
<table border="1">
<tr>
<th>用户名</th>
<th>签到日期</th>
</tr>
<%
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/signin_db", "root", "password");
String sql = "SELECT * FROM signin_records WHERE username = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, (String) session.getAttribute("username"));
rs = pstmt.executeQuery();
while (rs.next()) {
%>
<tr>
<td><%= rs.getString("username") %></td>
<td><%= rs.getDate("signin_date") %></td>
</tr>
<%
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (rs != null) rs.close();
if (pstmt != null) pstmt.close();
if (conn != null) conn.close();
}
%>
</table>
</body>
</html>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
。希望这些信息对你有所帮助!如果有更多具体问题,欢迎继续提问。
领取专属 10元无门槛券
手把手带您无忧上云