jsp日记本的servlet
时间: 2023-09-02 10:07:36 浏览: 36
好的,下面是一个简单的 JSP 日记本的 Servlet 实现示例,用于处理添加日记的表单提交请求,并将日记保存到数据库中:
```java
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.sql.Timestamp;
import java.time.LocalDateTime;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/addDiary")
public class AddDiaryServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
String content = request.getParameter("content");
if (content == null || content.trim().isEmpty()) {
response.sendRedirect(request.getContextPath() + "/index.jsp");
return;
}
try {
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/mydb";
String user = "root";
String password = "123456";
Connection conn = DriverManager.getConnection(url, user, password);
String sql = "INSERT INTO diary (content, created_time) VALUES (?, ?)";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, content);
pstmt.setTimestamp(2, Timestamp.valueOf(LocalDateTime.now()));
pstmt.executeUpdate();
pstmt.close();
conn.close();
} catch (ClassNotFoundException | SQLException e) {
e.printStackTrace();
}
response.sendRedirect(request.getContextPath() + "/index.jsp");
}
}
```
在这个 Servlet 中,我们首先获取从表单提交过来的日记内容,如果内容为空或者只包含空格,则重定向到日记本首页。
然后,我们使用 JDBC 连接 MySQL 数据库,并将获取到的日记内容插入到 diary 表中。最后,我们再次重定向到日记本首页。
这只是一个简单的实现示例,你可以根据自己的需求进行修改和扩展。