写一篇基于jsp的留言本Java Web,实现留言本系统的功能,包括:发表留言、回复留言、留言维护等功能
时间: 2024-03-21 13:38:45 浏览: 245
好的,下面是一个简单的基于JSP的留言本Java Web示例,实现留言本系统的功能,包括:发表留言、回复留言、留言维护等功能。
首先,我们需要创建一个留言板数据库,并在其中创建一个留言表和一个回复表。留言表包括留言id、留言标题、留言内容、留言时间、留言者姓名等字段,回复表包括回复id、留言id、回复内容、回复时间、回复者姓名等字段。
接下来,我们需要编写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>
<form method="post" action="addMessage.jsp">
标题:<input type="text" name="title"><br>
内容:<br><textarea name="content" rows="10" cols="60"></textarea><br>
姓名:<input type="text" name="name"><br>
<input type="submit" value="提交">
</form>
</body>
</html>
```
回复留言功能:
```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>
<%
String messageId = request.getParameter("messageId");
String name = request.getParameter("name");
String content = request.getParameter("content");
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/message_board?useUnicode=true&characterEncoding=utf-8", "root", "password");
pstmt = conn.prepareStatement("insert into reply (message_id, name, content, reply_time) values (?, ?, ?, now())");
pstmt.setInt(1, Integer.parseInt(messageId));
pstmt.setString(2, name);
pstmt.setString(3, content);
pstmt.executeUpdate();
response.sendRedirect("detail.jsp?id=" + messageId);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
if (rs != null) rs.close();
if (pstmt != null) pstmt.close();
if (conn != null) conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
%>
</body>
</html>
```
留言维护功能:
```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>
<table border="1">
<tr>
<th>ID</th>
<th>标题</th>
<th>留言者</th>
<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/message_board?useUnicode=true&characterEncoding=utf-8", "root", "password");
pstmt = conn.prepareStatement("select * from message order by message_id desc");
rs = pstmt.executeQuery();
while (rs.next()) {
%>
<tr>
<td><%=rs.getInt("message_id")%></td>
<td><%=rs.getString("title")%></td>
<td><%=rs.getString("name")%></td>
<td><%=rs.getString("message_time")%></td>
<td><a href="detail.jsp?id=<%=rs.getInt("message_id")%>">查看</a> | <a href="deleteMessage.jsp?id=<%=rs.getInt("message_id")%>">删除</a></td>
</tr>
<%
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
if (rs != null) rs.close();
if (pstmt != null) pstmt.close();
if (conn != null) conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
%>
</table>
</body>
</html>
```
以上是一个简单的基于JSP的留言本Java Web示例,实现留言本系统的功能,包括:发表留言、回复留言、留言维护等功能。当然,该示例还可以进一步完善和优化。
阅读全文