首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

jsp网站留言板源代码

JSP(JavaServer Pages)是一种基于Java技术的动态网页技术,它允许在HTML或XML等静态页面中嵌入Java代码,从而实现动态内容的生成和处理。下面是一个简单的JSP网站留言板的源代码示例:

1. 创建数据库表

首先,需要在数据库中创建一个表来存储留言信息。假设使用MySQL数据库,表结构如下:

代码语言:txt
复制
CREATE TABLE messages (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(100),
    email VARCHAR(100),
    message TEXT,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

2. 创建JSP页面

2.1 留言表单页面(index.jsp

代码语言:txt
复制
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>留言板</title>
</head>
<body>
    <h1>欢迎来到留言板</h1>
    <form action="submit_message.jsp" method="post">
        姓名: <input type="text" name="name"><br><br>
        邮箱: <input type="text" name="email"><br><br>
        留言: <textarea name="message" rows="4" cols="50"></textarea><br><br>
        <input type="submit" value="提交">
    </form>
</body>
</html>

2.2 处理留言的页面(submit_message.jsp

代码语言:txt
复制
<%@ page import="java.sql.*" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>留言提交</title>
</head>
<body>
    <%
        String name = request.getParameter("name");
        String email = request.getParameter("email");
        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/your_database", "username", "password");
            String sql = "INSERT INTO messages (name, email, message) VALUES (?, ?, ?)";
            pstmt = conn.prepareStatement(sql);
            pstmt.setString(1, name);
            pstmt.setString(2, email);
            pstmt.setString(3, message);
            pstmt.executeUpdate();
            out.println("留言提交成功!");
        } catch (Exception e) {
            out.println("留言提交失败:" + e.getMessage());
        } finally {
            if (pstmt != null) pstmt.close();
            if (conn != null) conn.close();
        }
    %>
    <a href="index.jsp">返回留言板</a>
</body>
</html>

2.3 显示留言的页面(view_messages.jsp

代码语言:txt
复制
<%@ page import="java.sql.*" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>查看留言</title>
</head>
<body>
    <h1>所有留言</h1>
    <%
        Connection conn = null;
        Statement stmt = null;
        ResultSet rs = null;
        try {
            Class.forName("com.mysql.jdbc.Driver");
            conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/your_database", "username", "password");
            stmt = conn.createStatement();
            rs = stmt.executeQuery("SELECT * FROM messages ORDER BY created_at DESC");
    %>
            <table border="1">
                <tr>
                    <th>姓名</th>
                    <th>邮箱</th>
                    <th>留言</th>
                    <th>时间</th>
                </tr>
                <% while (rs.next()) { %>
                <tr>
                    <td><%= rs.getString("name") %></td>
                    <td><%= rs.getString("email") %></td>
                    <td><%= rs.getString("message") %></td>
                    <td><%= rs.getTimestamp("created_at") %></td>
                </tr>
                <% } %>
            </table>
    <%
        } catch (Exception e) {
            out.println("读取留言失败:" + e.getMessage());
        } finally {
            if (rs != null) rs.close();
            if (stmt != null) stmt.close();
            if (conn != null) conn.close();
        }
    %>
    <a href="index.jsp">返回留言板</a>
</body>
</html>

3. 部署和运行

将上述JSP文件部署到支持JSP的Web服务器(如Apache Tomcat)上,并确保数据库连接信息正确无误。访问index.jsp页面即可开始使用留言板功能。

常见问题及解决方法

1. 数据库连接失败

原因:可能是数据库服务器未启动、连接字符串错误、用户名或密码错误。 解决方法:检查数据库服务器状态,确认连接字符串、用户名和密码是否正确。

2. SQL注入风险

原因:直接拼接SQL语句可能导致SQL注入攻击。 解决方法:使用预编译语句(PreparedStatement)来防止SQL注入。

3. 页面显示乱码

原因:字符编码不一致可能导致乱码问题。 解决方法:确保JSP页面和数据库连接的字符编码一致,通常设置为UTF-8。

通过以上步骤和代码示例,你可以搭建一个简单的JSP留言板系统。如果有更多具体问题或需要进一步的优化,欢迎继续咨询。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券