网络留言簿是一种常见的Web应用程序,允许用户在前端页面上输入信息并将其保存到服务器端的数据库中。使用JSP(JavaServer Pages)来实现网络留言簿是一个经典的选择,因为它结合了Java的强大功能和JSP的易用性。下面是一个详细的实现步骤和相关概念。
首先,需要在数据库中创建一个表来存储留言信息。
CREATE TABLE messages (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100),
email VARCHAR(100),
message TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
创建一个JSP页面用于显示留言表单和已有的留言。
<!-- index.jsp -->
<%@ page import="java.sql.*" %>
<html>
<head>
<title>网络留言簿</title>
</head>
<body>
<h1>网络留言簿</h1>
<form action="submit_message.jsp" method="post">
姓名: <input type="text" name="name"><br>
邮箱: <input type="text" name="email"><br>
留言: <textarea name="message"></textarea><br>
<input type="submit" value="提交">
</form>
<h2>已有留言</h2>
<%
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/your_database", "username", "password");
stmt = conn.createStatement();
rs = stmt.executeQuery("SELECT * FROM messages ORDER BY created_at DESC");
while (rs.next()) {
out.println("<p><strong>" + rs.getString("name") + "</strong> (" + rs.getString("email") + ")<br>");
out.println(rs.getString("message") + "<br>");
out.println("<small>" + rs.getTimestamp("created_at") + "</small></p>");
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (rs != null) rs.close();
if (stmt != null) stmt.close();
if (conn != null) conn.close();
}
%>
</body>
</html>
创建一个JSP页面用于处理用户提交的留言并将其保存到数据库中。
<!-- submit_message.jsp -->
<%@ page import="java.sql.*" %>
<%
String name = request.getParameter("name");
String email = request.getParameter("email");
String message = request.getParameter("message");
Connection conn = null;
PreparedStatement pstmt = null;
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/your_database", "username", "password");
String sql = "INSERT INTO messages (name, email, message) VALUES (?, ?, ?)";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, name);
pstmt.setString(2, email);
pstmt.setString(3, message);
pstmt.executeUpdate();
response.sendRedirect("index.jsp");
} catch (Exception e) {
e.printStackTrace();
response.sendRedirect("index.jsp?error=1");
} finally {
if (pstmt != null) pstmt.close();
if (conn != null) conn.close();
}
%>
通过以上步骤和注意事项,你可以成功实现一个基于JSP的网络留言簿。希望这些信息对你有所帮助!
领取专属 10元无门槛券
手把手带您无忧上云