JSP(JavaServer Pages)是一种基于Java技术的动态网页技术标准。它允许在HTML或XML等静态页面中嵌入Java代码,从而实现动态内容的生成。JSP留言板是一个简单的Web应用程序,允许用户在前端页面输入信息,并将这些信息保存到服务器端的数据库中。
以下是一个简单的JSP留言板的基本结构和关键代码片段:
index.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>留言板</title>
</head>
<body>
<h1>欢迎来到留言板</h1>
<form action="submit.jsp" method="post">
姓名:<input type="text" name="name"><br>
留言:<textarea name="message"></textarea><br>
<input type="submit" value="提交">
</form>
</body>
</html>
submit.jsp
<%@ page import="java.sql.*" %>
<%
String name = request.getParameter("name");
String message = request.getParameter("message");
Connection conn = null;
PreparedStatement pstmt = null;
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "password");
String sql = "INSERT INTO messages (name, message) VALUES (?, ?)";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, name);
pstmt.setString(2, message);
pstmt.executeUpdate();
} catch (Exception e) {
e.printStackTrace();
} finally {
if (pstmt != null) pstmt.close();
if (conn != null) conn.close();
}
response.sendRedirect("index.jsp");
%>
显示留言
<%@ page import="java.sql.*" %>
<%
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "password");
stmt = conn.createStatement();
rs = stmt.executeQuery("SELECT * FROM messages");
%>
<ul>
<%
while (rs.next()) {
%>
<li><%= rs.getString("name") %>: <%= rs.getString("message") %></li>
<%
}
%>
</ul>
<%
} catch (Exception e) {
e.printStackTrace();
} finally {
if (rs != null) rs.close();
if (stmt != null) stmt.close();
if (conn != null) conn.close();
}
%>
PreparedStatement
)可以有效防止SQL注入。通过以上步骤和代码示例,您可以构建一个基本的JSP留言板,并处理一些常见问题。
领取专属 10元无门槛券
手把手带您无忧上云