jsp----jdbc实现留言板功能

要求:

创建用户留言模块,页面有登陆,注册,查看留言列表,查看详细留言,发布留言,安全退出等功能。先创建数据库,数据库中至少要有users和words两个表,其他可以自行设计

数据库表设计

CREATE TABLE users (
  UserID bigint(20) NOT NULL auto_increment,
  UserName varchar(20) default NULL,
  UserPassword varchar(20) default NULL,
  PRIMARY KEY (UserID)
) ;
CREATE TABLE words (
  WordsID bigint(20) NOT NULL auto_increment,
  WordsTitle varchar(100) default NULL,
  WordsContent text,
  WordsTime datetime default '0000-00-00 00:00:00',
  UserID bigint(20) NOT NULL default '0',
  PRIMARY KEY  (WordsID)
 ) ;

jsp代码

下面展示一些 关键代码
write_message.jsp

//表单提交过来的数据
String title = request.getParameter("title");
String content = request.getParameter("content");
int id = (Integer)session.getAttribute("UID");
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");


//写入数据到数据库
conn = DriverManager.getConnection(url,userName,password);
stmt=conn.createStatement();
sql="INSERT INTO words (WordsTitle,WordsContent,WordsTime,UserID) values('"+title+"','"+content+"','"+df.format(new Date())+"','"+id+"')";
if(title!=null&&content!=null&&!title.equals("")&&!content.equals("")){
stmt.executeUpdate(sql);

show.jsp

<%
String url = "jdbc:mysql://localhost/message_board";
String userName = "root";
String passWord = "123";
String sql = null;
Connection conn = null;
Statement stmt = null;
try{
Class.forName("com.mysql.jdbc.Driver");
}catch(ClassNotFoundException e){
out.println("加载驱动器时出现异常");
}

try{
conn = DriverManager.getConnection(url,userName,passWord);
//创建 Statement 语句
 stmt = conn.createStatement();
 sql = "SELECT * FROM words";
 ResultSet rs = stmt.executeQuery(sql);
 while(rs.next()){
   int id= rs.getInt(1);
   String word_title = rs.getString(2);
   String word_content = rs.getString(3);
   Date data = rs.getDate(4);
   Time time=rs.getTime(4);
   int id_user = rs.getInt(5);
   %>
   <h1 style="color:white;"><% out.print(id);%></h1>
   <h3 style="color:yellow">留言者ID:<%=id_user%></h3>
    <font size="4" color="gray">标题:<%out.print(word_title); %></font><br>
    <font size="3" color="blue">内容:</font><br>
    <font size="3" color="white"><%out.print(word_content); %></font><br>
    <br>
        <font size="2" color="red"><%out.print("时间:"+data+"  "+time); %></font><br>
    <font size="1" color="yellow"><% out.print("******************************************"); %></font><br>
   <%
 out.print("a");
  }
rs.close();
stmt.close();

}catch(SQLException e){
out.println("连接数据库的过程中出现SQL异常");
}finally{
try{
if(conn!=null)
conn.close();

}catch(SQLException e){
out.println("关闭数据库时出现SQl异常");
}
}
%>

效果展示

**注册 **
登陆
在这里插入图片描述
在这里插入图片描述写入

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

  • 2
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的JSP和MySQL数据库的留言板实现示例。 1. 创建一个数据库和表来存储留言信息 首先,我们需要创建一个MySQL数据库和一个表来存储留言信息。可以使用以下SQL语句来创建一个名为“message_board”的数据库和一个名为“messages”的表: ``` CREATE DATABASE message_board; USE message_board; CREATE TABLE messages ( id INT NOT NULL AUTO_INCREMENT, name VARCHAR(255) NOT NULL, email VARCHAR(255) NOT NULL, message TEXT NOT NULL, created_at DATETIME NOT NULL, PRIMARY KEY (id) ); ``` 2. 创建一个JSP页面来显示留言板 接下来,我们将创建一个名为“index.jsp”的JSP页面,该页面将显示留言板。在此页面中,我们将使用JSTL标签库来从数据库中检索并显示留言。 ``` <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>留言板</title> </head> <body> <h1>留言板</h1> <form action="add_message.jsp" method="post"> <label for="name">姓名:</label> <input type="text" name="name" required><br> <label for="email">邮箱:</label> <input type="email" name="email" required><br> <label for="message">留言:</label> <textarea name="message" required></textarea><br> <input type="submit" value="提交留言"> </form> <hr> <c:forEach var="message" items="${messages}"> <h3>${message.name}</h3> <p>时间:${message.created_at}</p> <p>${message.message}</p> <hr> </c:forEach> </body> </html> ``` 在此页面中,我们创建了一个表单,使用户可以输入姓名、电子邮件和留言,并将其提交到“add_message.jsp”页面。我们还使用了JSTL的“forEach”标签来循环遍历从数据库中检索到的留言,并将它们显示在页面上。 3. 创建一个JSP页面来添加新留言 接下来,我们将创建一个名为“add_message.jsp”的JSP页面,该页面将处理提交的表单并将新留言添加到数据库中。 ``` <%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ page import="java.sql.*" %> <% // 获取表单数据 String name = request.getParameter("name"); String email = request.getParameter("email"); String message = request.getParameter("message"); // 连接MySQL数据库 String url = "jdbc:mysql://localhost:3306/message_board"; String username = "root"; String password = "password"; Class.forName("com.mysql.jdbc.Driver"); Connection conn = DriverManager.getConnection(url, username, password); // 插入新留言 PreparedStatement stmt = conn.prepareStatement("INSERT INTO messages (name, email, message, created_at) VALUES (?, ?, ?, NOW())"); stmt.setString(1, name); stmt.setString(2, email); stmt.setString(3, message); stmt.executeUpdate(); // 关闭连接 stmt.close(); conn.close(); // 重定向到留言板页面 response.sendRedirect("index.jsp"); %> ``` 在此页面中,我们获取提交的表单数据,连接到MySQL数据库,并将新留言插入到“messages”表中。然后,我们关闭连接并重定向到留言板页面。 4. 测试留言板 现在,我们已经创建了留言板,可以在浏览器中运行它并测试它。在浏览器中打开“index.jsp”页面,您应该看到一个表单,可以输入姓名、电子邮件和留言。在提交表单后,您应该能够看到新留言在留言板上的列表中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值