答案:该留言板系统基于Java Servlet + JSP + MySQL实现,包含留言查看与发布功能。首先创建数据库guestbook及message表,通过DBUtil类管理数据库连接;GuestbookServlet处理GET请求获取所有留言并按时间倒序展示,同时处理POST请求插入新留言;前端index.jsp使用JSTL遍历显示留言列表,并提供表单提交留言;项目部署至Tomcat后可访问页面完成交互,整体结构清晰,适合初学者掌握B/S架构开发流程。
用Java制作一个简单的留言板系统,可以分为前端页面、后端逻辑和数据库存储三部分。这里以最基础的B/S架构为例,使用Java Servlet + JSP + MySQL来实现,适合初学者理解Web开发的基本流程。
这个留言板系统包含以下基本功能:
创建MySQL数据库和表结构:
CREATE DATABASE guestbook;使用IDE(如IntelliJ IDEA或Eclipse)创建一个Dynamic Web Project,结构如下:
编写DBUtil.java用于获取数据库连接:
package com.example;static {
try {
Class.forName(DRIVER);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
public static Connection getConnection() t
hrows SQLException {
return DriverManager.getConnection(URL, USER, PASSWORD);
}
}
创建GuestbookServlet.java处理请求:
package com.example;public class GuestbookServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
ArrayList
try (Connection conn = DBUtil.getConnection();
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM message ORDER BY create_time DESC")) {
while (rs.next()) {
HashMapzuojiankuohaophpcnString, Objectyoujiankuohaophpcn m = new HashMapzuojiankuohaophpcnyoujiankuohaophpcn();
m.put("id", rs.getInt("id"));
m.put("name", rs.getString("name"));
m.put("content", rs.getString("content"));
m.put("create_time", rs.getTimestamp("create_time"));
messages.add(m);
}
} catch (SQLException e) {
e.printStackTrace();
}
request.setAttribute("messages", messages);
request.getRequestDispatcher("index.jsp").forward(request, response);
}
@Override
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()) {
try (Connection conn = DBUtil.getConnection();
PreparedStatement pstmt = conn.prepareStatement(
"INSERT INTO message (name, content) VALUES (?, ?)")) {
pstmt.setString(1, name);
pstmt.setString(2, content);
pstmt.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
}
response.sendRedirect("GuestbookServlet");
}
}
在index.jsp中显示留言列表和发布表单:
html;charset=UTF-8" language="java" %>${m.content}
将项目部署到Tomcat服务器:
基本上就这些。这个系统虽然简单,但涵盖了Java Web开发的核心要素:Servlet处理请求、JSP展示数据、JDBC操作数据库。后续可扩展的功能包括用户登录、留言删除、分页、富文本编辑等。