请用jsp实现留言本的基本功能
时间: 2023-08-25 17:06:07 浏览: 45
好的,以下是用JSP实现留言本的基本功能的代码示例:
1. 创建数据库表
首先需要创建一个数据库表来存储留言信息。可以创建一个名为message的表,包含以下字段:
id(主键,自增长):留言ID
username:留言人姓名
content:留言内容
create_time:留言时间
可以使用以下SQL语句来创建该表:
```
CREATE TABLE message (
id INT(11) NOT NULL AUTO_INCREMENT,
username VARCHAR(50) NOT NULL,
content VARCHAR(255) NOT NULL,
create_time DATETIME NOT NULL,
PRIMARY KEY (id)
);
```
2. 创建JSP页面
创建一个名为message.jsp的JSP页面,用于显示留言列表和添加留言。页面布局如下:
```
<html>
<head>
<title>留言本</title>
</head>
<body>
<h1>留言列表</h1>
<table>
<tr>
<th>留言人</th>
<th>留言内容</th>
<th>留言时间</th>
</tr>
<%
// TODO: 查询数据库,获取留言列表,并将其显示在页面上
%>
</table>
<h1>添加留言</h1>
<form method="post" action="add_message.jsp">
<label for="username">留言人:</label>
<input type="text" name="username" id="username" required><br>
<label for="content">留言内容:</label>
<textarea name="content" id="content" rows="5" required></textarea><br>
<input type="submit" value="提交">
</form>
</body>
</html>
```
在留言列表部分的TODO中,需要使用JDBC连接数据库,并查询message表中的留言记录。可以使用以下代码来查询:
```
<%
// 加载JDBC驱动
Class.forName("com.mysql.jdbc.Driver");
// 连接数据库
String url = "jdbc:mysql://localhost:3306/test?useSSL=false";
String username = "root";
String password = "123456";
Connection conn = DriverManager.getConnection(url, username, password);
// 查询留言列表
String sql = "SELECT * FROM message ORDER BY create_time DESC";
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(sql);
// 遍历查询结果,将留言显示在页面上
while (rs.next()) {
String username = rs.getString("username");
String content = rs.getString("content");
String createTime = rs.getString("create_time");
%>
<tr>
<td><%=username%></td>
<td><%=content%></td>
<td><%=createTime%></td>
</tr>
<%
}
// 关闭数据库连接
rs.close();
stmt.close();
conn.close();
%>
```
在添加留言部分,需要将表单提交到add_message.jsp页面,并在该页面中将留言信息插入到message表中。可以使用以下代码来实现:
```
<%
// 获取表单提交的数据
String username = request.getParameter("username");
String content = request.getParameter("content");
// 插入留言到数据库
// TODO: 使用JDBC连接数据库,将留言插入到message表中
// 跳转回留言列表页面
response.sendRedirect("message.jsp");
%>
```
3. 插入留言到数据库
在上面的代码中,TODO部分需要使用JDBC连接数据库,并将留言信息插入到message表中。可以使用以下代码来实现:
```
// 连接数据库
String url = "jdbc:mysql://localhost:3306/test?useSSL=false";
String username = "root";
String password = "123456";
Connection conn = DriverManager.getConnection(url, username, password);
// 插入留言到数据库
String sql = "INSERT INTO message (username, content, create_time) VALUES (?, ?, ?)";
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1, username);
ps.setString(2, content);
ps.setTimestamp(3, new Timestamp(System.currentTimeMillis()));
ps.executeUpdate();
// 关闭数据库连接
ps.close();
conn.close();
```
这样就完成了用JSP实现留言本的基本功能。