使用jsp和mysql写一个留言板,输入后在本页输出
时间: 2024-02-19 20:58:27 浏览: 28
好的,我可以为您提供一些基本的代码示例。首先,您需要创建一个包含留言数据的MySQL数据库表。假设您的表名为`message_board`,字段包括`id`(自增ID)、`username`(留言者用户名)、`content`(留言内容)、`create_time`(留言时间)。
接下来,您需要创建一个JSP页面,用于显示留言板和处理用户提交的留言。以下是一个简单的例子:
```jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="java.sql.*" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>留言板</title>
</head>
<body>
<h1>留言板</h1>
<hr>
<h2>发表留言</h2>
<form action="submit.jsp" method="post">
<label>用户名:</label>
<input type="text" name="username"><br>
<label>留言内容:</label>
<textarea name="content"></textarea><br>
<input type="submit" value="提交">
</form>
<hr>
<h2>留言列表</h2>
<%
// 连接数据库
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb", "root", "password");
Statement stmt = conn.createStatement();
// 查询留言列表
ResultSet rs = stmt.executeQuery("SELECT * FROM message_board");
while (rs.next()) {
out.println("<p>" + rs.getString("username") + " 于 " + rs.getString("create_time") + " 发表留言:</p>");
out.println("<p>" + rs.getString("content") + "</p>");
out.println("<hr>");
}
// 关闭数据库连接
rs.close();
stmt.close();
conn.close();
%>
</body>
</html>
```
上述代码中,`<form>` 标签用于提交留言,其 `action` 属性指向 `submit.jsp` 页面,`method` 属性为 `post`。在留言列表的部分,我们使用JSP脚本连接MySQL数据库,并查询 `message_board` 表中的留言记录,然后将其逐条输出到页面上。
接下来,我们需要创建 `submit.jsp` 页面,用于处理用户提交的留言,并将留言数据插入到数据库中。以下是示例代码:
```jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="java.sql.*" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>提交留言</title>
</head>
<body>
<%
// 获取用户提交的留言数据
String username = request.getParameter("username");
String content = request.getParameter("content");
// 连接数据库
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb", "root", "password");
Statement stmt = conn.createStatement();
// 插入留言数据到数据库中
String sql = "INSERT INTO message_board (username, content, create_time) VALUES ('" + username + "', '" + content + "', NOW())";
stmt.executeUpdate(sql);
// 关闭数据库连接
stmt.close();
conn.close();
// 跳转回留言板页面
response.sendRedirect("message_board.jsp");
%>
</body>
</html>
```
上述代码中,我们首先获取用户提交的留言数据,然后使用JDBC连接MySQL数据库,将留言数据插入到 `message_board` 表中,最后通过 `response.sendRedirect()` 方法将用户重定向回留言板页面。
请注意,以上示例代码仅供参考,实际应用中需要对数据库连接、SQL注入等方面进行更加严谨的处理。