使用jsp和mysql实现留言板功能
时间: 2024-02-20 13:00:27 浏览: 25
要使用 JSP 和 MySQL 实现留言板功能,需要完成以下步骤:
1. 创建数据库和数据表
在 MySQL 中创建一个数据库和一个数据表,用于存储留言信息。示例 SQL 语句如下:
```sql
CREATE DATABASE message_board;
USE message_board;
CREATE TABLE message (
id INT(11) NOT NULL AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
email VARCHAR(50) NOT NULL,
content TEXT NOT NULL,
create_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (id)
);
```
2. 编写 JSP 页面
创建一个 JSP 页面,用于显示留言列表和添加留言。示例代码如下:
```jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>留言板</title>
</head>
<body>
<h1>留言板</h1>
<h2>添加留言</h2>
<form method="post" action="add_message.jsp">
<p>
姓名:<input type="text" name="name">
</p>
<p>
邮箱:<input type="text" name="email">
</p>
<p>
内容:<textarea name="content"></textarea>
</p>
<p>
<input type="submit" value="提交">
</p>
</form>
<h2>留言列表</h2>
<%
// 从数据库中查询留言列表
String url = "jdbc:mysql://localhost:3306/message_board";
String username = "root";
String password = "123456";
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection(url, username, password);
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM message ORDER BY create_time DESC");
// 显示留言列表
while (rs.next()) {
out.println("<p>");
out.println("姓名:" + rs.getString("name") + "<br>");
out.println("邮箱:" + rs.getString("email") + "<br>");
out.println("内容:" + rs.getString("content") + "<br>");
out.println("时间:" + rs.getTimestamp("create_time") + "<br>");
out.println("</p>");
}
// 关闭数据库连接
rs.close();
stmt.close();
conn.close();
%>
</body>
</html>
```
在上面的代码中,使用 JSP 内置对象 `out` 显示留言列表和添加留言的表单。同时,使用 JDBC 连接数据库,查询留言列表并将查询结果显示在页面上。
3. 编写添加留言的 JSP 页面
创建一个 JSP 页面,用于处理添加留言的请求。示例代码如下:
```jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
// 获取表单参数
String name = request.getParameter("name");
String email = request.getParameter("email");
String content = request.getParameter("content");
// 将留言信息插入到数据库中
String url = "jdbc:mysql://localhost:3306/message_board";
String username = "root";
String password = "123456";
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection(url, username, password);
PreparedStatement pstmt = conn.prepareStatement("INSERT INTO message (name, email, content) VALUES (?, ?, ?)");
pstmt.setString(1, name);
pstmt.setString(2, email);
pstmt.setString(3, content);
pstmt.executeUpdate();
pstmt.close();
conn.close();
// 跳转回留言列表页面
response.sendRedirect("message_board.jsp");
%>
```
在上面的代码中,获取表单提交的参数,然后使用 JDBC 将留言信息插入到数据库中。最后,使用 `response.sendRedirect()` 方法跳转回留言列表页面。
完成上述步骤后,就可以在浏览器中访问留言板页面,实现留言板功能了。