JSP实验:实现留言板功能,显示留言者和留言内容

需求

form.jsp为登录界面、为账号密码创建JavaBean、doForm.jsp(无界面)为登录处理,假定正确的用户名为admin,口令为123,用户输入正确则重定向到messageBoard.jsp(留言板页面),进行留言。错误则返回到登录界面。showMessage.jsp实现留言展示功能,展示留言者、留言标题、留言内容。

user的JavaBean代码

public class User {
    public String username;
    public String password;

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }


登录界面form.jsp代码

<form action="doForm.jsp" method="post">
    <ul>
        <li>用户名:<input type="text" name="username"></li>
        <li>口令:<input type="password" name="password"></li>
        <li><input type="submit" value="提交"> <input type="reset" value="取消"></li>
    </ul>

</form>

doForm.jsp处理界面:

<body>
<%--判断用户名密码对不对 正确存起来 错误请求转发到原来的界面--%>
<%
    User user = new User();
    HttpSession session1 = request.getSession();
    String username = request.getParameter("username");
    String password = request.getParameter("password");
    if("admin".equals(username) && "123".equals(password)){
        user.setUsername(username);
        user.setPassword(password);
        session1.setAttribute("user",user);
        response.sendRedirect("messageBoard.jsp");
    }else {
        request.getRequestDispatcher("form.jsp").forward(request,response);
        System.out.println("登录错误");
    }
%>
</body>

MessageBoard.jsp留言板

<body>
  <%
      request.setCharacterEncoding("utf-8");
      response.setContentType("text/html;charset=UTF-8"); //解决乱码问题

    String tittle = request.getParameter("tittle");
    String context = request.getParameter("context");
    User user = (User) request.getSession().getAttribute("user");
  %>
留言者:<%=user.getUsername()%><br>
留言标题:<%=tittle%><br>
留言内容:<%=context%>

</body>

showMessage.jsp展示留言界面

<body>
  <%
      request.setCharacterEncoding("utf-8");
      response.setContentType("text/html;charset=UTF-8"); //解决乱码问题

    String tittle = request.getParameter("tittle");
    String context = request.getParameter("context");
    User user = (User) request.getSession().getAttribute("user");
  %>
留言者:<%=user.getUsername()%><br>
留言标题:<%=tittle%><br>
留言内容:<%=context%>

</body>

运行结果

输入登录地址

在这里插入图片描述

输入错误重新跳转到form.jsp界面

在这里插入图片描述
在这里插入图片描述

正确输入admin和密码123跳转到留言界面

在这里插入图片描述

提交到留言展示界面

在这里插入图片描述

几个需要注意的点

①在doForm.jsp中,将用户信息使用session存起来

User user = new User();后
不要忘记将值存进去,这就是我一直疑惑怎么输出为null
user.setUsername(username);//将username存进去
user.setPassword(password);//将password存进去

 session.setAttribute("user",user); //将用户的信息存入session

②在showMessage.jsp中,解决乱码问题(粘进去就行)

request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=UTF-8"); //解决乱码问题

③在showMessage.jsp中,使用session的getAttribute()方法获取user的值时,记得要类型转换。

 User user = (User) request.getSession().getAttribute("user");
  • 7
    点赞
  • 69
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
一、设计目的 留言系统目前在各类网站中被广泛使用。通过综合运用JSP、Servlet、JavaBean、JDBC、MySQL和MVC + DAO等技术与方法,设计与实现一个留言管理系统,进一步理解和掌握Java Web编程开发的基本技术和方法,熟练使用开发工具。 二、课程设计内容 设计留言管理系统的目的是提供对留言的增加、删除、修改和显示功能。 系统分前台和后台两个模块。 1)前台留言模块主要针对普通用户,按功能又分为以下模块。 (1) 发表留言(即添加留言) 普通用户可以在留言管理系统中随意留言,如果留言的字数太少如低于10个字符,系统将给出提示。 (2) 查看留言 可以浏览留言(即查看留言列表)、查看详细留言(即查看某条留言内容)、搜索留言(即查看符合条件的留言列表)、查看友情链接(即导航到别的网站)。 2)后台模块(管理模块)针对管理员提供操作,按功能又分为以下模块。 (1) 登录管理:需要输入管理员账号、口令和验证码,系统将验证、口令和验证码是否正确,如果验证成功,则进入管理员界面;否则,系统提示账号或密码错误的信息。 另外,登录后的管理员可以选择退出登录,进而退出管理界面。(实现提示:将退出请求提交给处理退出的Servlet,在该Servlet中将session失效,再将页面重定向到登录页面。) (2) 留言管理:可以查看所有的留言,可以增加留言(即回复留言)、修改留言、删除留言
要使用 JSP 和 MySQL 实现留言板功能,需要完成以下步骤: 1. 创建数据库和数据表 在 MySQL 中创建一个数据库和一个数据表,用于存储留言信息。示例 SQL 语句如下: ```sql CREATE DATABASE message_board; USE message_board; CREATE TABLE message ( id INT(11) NOT NULL AUTO_INCREMENT, name VARCHAR(50) NOT NULL, email VARCHAR(50) NOT NULL, content TEXT NOT NULL, create_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (id) ); ``` 2. 编写 JSP 页面 创建一个 JSP 页面,用于显示留言列表和添加留言。示例代码如下: ```jsp <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>留言板</title> </head> <body> <h1>留言板</h1> <h2>添加留言</h2> <form method="post" action="add_message.jsp"> <p> 姓名:<input type="text" name="name"> </p> <p> 邮箱:<input type="text" name="email"> </p> <p> 内容:<textarea name="content"></textarea> </p> <p> <input type="submit" value="提交"> </p> </form> <h2>留言列表</h2> <% // 从数据库中查询留言列表 String url = "jdbc:mysql://localhost:3306/message_board"; String username = "root"; String password = "123456"; Class.forName("com.mysql.jdbc.Driver"); Connection conn = DriverManager.getConnection(url, username, password); Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery("SELECT * FROM message ORDER BY create_time DESC"); // 显示留言列表 while (rs.next()) { out.println("<p>"); out.println("姓名:" + rs.getString("name") + "<br>"); out.println("邮箱:" + rs.getString("email") + "<br>"); out.println("内容:" + rs.getString("content") + "<br>"); out.println("时间:" + rs.getTimestamp("create_time") + "<br>"); out.println("</p>"); } // 关闭数据库连接 rs.close(); stmt.close(); conn.close(); %> </body> </html> ``` 在上面的代码中,使用 JSP 内置对象 `out` 显示留言列表和添加留言的表单。同时,使用 JDBC 连接数据库,查询留言列表并将查询结果显示在页面上。 3. 编写添加留言JSP 页面 创建一个 JSP 页面,用于处理添加留言的请求。示例代码如下: ```jsp <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <% // 获取表单参数 String name = request.getParameter("name"); String email = request.getParameter("email"); String content = request.getParameter("content"); // 将留言信息插入到数据库中 String url = "jdbc:mysql://localhost:3306/message_board"; String username = "root"; String password = "123456"; Class.forName("com.mysql.jdbc.Driver"); Connection conn = DriverManager.getConnection(url, username, password); PreparedStatement pstmt = conn.prepareStatement("INSERT INTO message (name, email, content) VALUES (?, ?, ?)"); pstmt.setString(1, name); pstmt.setString(2, email); pstmt.setString(3, content); pstmt.executeUpdate(); pstmt.close(); conn.close(); // 跳转回留言列表页面 response.sendRedirect("message_board.jsp"); %> ``` 在上面的代码中,获取表单提交的参数,然后使用 JDBC 将留言信息插入到数据库中。最后,使用 `response.sendRedirect()` 方法跳转回留言列表页面。 完成上述步骤后,就可以在浏览器中访问留言板页面,实现留言板功能了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值