实现留言板系统需构建Message类封装数据,通过MessageDAO操作数据库增删查留言,利用Servlet处理请求与响应,结合JSP页面展示留言列表及提交表单,最终完成用户交互功能。

实现一个基本的留言板系统,主要涉及用户提交留言、查看留言列表以及数据存储三个核心功能。Java中可以通过Servlet + JSP + JDBC的方式快速搭建一个简单的Web版留言板。
1. 留言数据模型设计(Message类)
定义一个Message类,用于封装每条留言的信息。
public class Message { private int id; private String name; private String content; private java.util.Date createTime;// 构造方法public Message() {}public Message(String name, String content) { this.name = name; this.content = content; this.createTime = new java.util.Date();}// Getter 和 Setter 方法public int getId() { return id; }public void setId(int id) { this.id = id; }public String getName() { return name; }public void setName(String name) { this.name = name; }public String getContent() { return content; }public void setContent(String content) { this.content = content; }public java.util.Date getCreateTime() { return createTime; }public void setCreateTime(java.util.Date createTime) { this.createTime = createTime; }
}
2. 数据库操作(MessageDAO)
使用JDBC连接数据库,实现留言的增删查功能。
立即学习“Java免费学习笔记(深入)”;
假设使用MySQL数据库,建表语句如下:
CREATE TABLE message ( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(50) NOT NULL, content TEXT NOT NULL, create_time DATETIME DEFAULT CURRENT_TIMESTAMP);
创建MessageDAO类处理数据库操作:
import java.sql.*;import java.util.ArrayList;import java.util.List;public class MessageDAO {private Connection getConnection() throws SQLException {String url = "jdbc:mysql://localhost:3306/test";String user = "root";String password = "123456";return DriverManager.getConnection(url, user, password);}
// 查询所有留言public List getAllMessages() { List messages = new ArrayList(); String sql = "SELECT * FROM message ORDER BY create_time DESC"; try (Connection conn = getConnection(); PreparedStatement stmt = conn.prepareStatement(sql); ResultSet rs = stmt.executeQuery()) { while (rs.next()) { Message msg = new Message(); msg.setId(rs.getInt("id")); msg.setName(rs.getString("name")); msg.setContent(rs.getString("content")); msg.setCreateTime(new java.util.Date(rs.getTimestamp("create_time").getTime())); messages.add(msg); } } catch (SQLException e) { e.printStackTrace(); } return messages;}// 添加新留言public boolean addMessage(Message message) { String sql = "INSERT INTO message (name, content) VALUES (?, ?)"; try (Connection conn = getConnection(); PreparedStatement stmt = conn.prepareStatement(sql)) { stmt.setString(1, message.getName()); stmt.setString(2, message.getContent()); int rows = stmt.executeUpdate(); return rows > 0; } catch (SQLException e) { e.printStackTrace(); return false; }}
}
3. Servlet处理请求
使用两个Servlet分别处理显示留言和提交留言。
ViiTor实时翻译
AI实时多语言翻译专家!强大的语音识别、AR翻译功能。
116 查看详情
MessageListServlet:加载并显示所有留言AddMessageServlet:接收表单提交,保存留言
示例:AddMessageServlet
@WebServlet("/add")public class AddMessageServlet extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("UTF-8"); String name = request.getParameter("name"); String content = request.getParameter("content"); if (name != null && content != null && !name.trim().isEmpty() && !content.trim().isEmpty()) { Message msg = new Message(name, content); new MessageDAO().addMessage(msg); } // 重定向回留言页面 response.sendRedirect("list");}
}
MessageListServlet 示例:
@WebServlet("/list")public class MessageListServlet extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { List messages = new MessageDAO().getAllMessages(); request.setAttribute("messages", messages); request.getRequestDispatcher("message.jsp").forward(request, response);}
}
4. 前端页面(JSP)
创建message.jsp展示留言和输入表单。
留言板 我的留言板
昵称:
留言内容:
${msg.name}(${msg.createTime})
${msg.content}
基本上就这些。运行项目前确保添加了必要的依赖(如mysql-connector-java),配置好数据库,并部署到Tomcat等Web服务器。
以上就是在Java中如何实现留言板系统的基本功能的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/314716.html
微信扫一扫
支付宝扫一扫