图片怎么添加到收藏jsp代码
时间: 2024-02-13 08:59:46 浏览: 18
要将图片添加到收藏,您可以使用以下步骤和示例代码:
1. 创建一个“收藏”表,其中包含以下列:
- 用户ID:收藏所属用户的唯一标识符
- 图片ID:收藏的图片的唯一标识符
- 收藏时间:用户添加图片到收藏夹的日期和时间
2. 在您的JSP页面中,创建一个“添加到收藏”的按钮或链接,并为其添加一个JavaScript事件处理程序。当用户单击该按钮或链接时,您需要执行以下操作:
- 检查用户是否已登录。如果用户未登录,则要求用户先登录才能将图片添加到收藏夹中。
- 从页面获取图片ID。
- 检查当前用户的收藏夹中是否已存在该图片。如果是,则提示用户该图片已经在收藏夹中。否则,将图片添加到收藏夹中。
以下是一个简单的示例代码:
```jsp
<%
// 检查用户是否已登录
if (session.getAttribute("user_id") == null) {
response.sendRedirect("login.jsp");
} else {
// 获取图片ID
int image_id = Integer.parseInt(request.getParameter("image_id"));
// 检查收藏夹中是否已存在该图片
boolean exists = false;
String query = "SELECT * FROM favorites WHERE user_id = ? AND image_id = ?";
try {
PreparedStatement ps = conn.prepareStatement(query);
ps.setInt(1, (int)session.getAttribute("user_id"));
ps.setInt(2, image_id);
ResultSet rs = ps.executeQuery();
if (rs.next()) {
exists = true;
}
} catch (SQLException e) {
e.printStackTrace();
}
// 如果收藏夹中已存在该图片,则提示用户
if (exists) {
out.println("<script>alert('该图片已经在您的收藏夹中。');</script>");
} else {
// 否则,将图片添加到收藏夹中
query = "INSERT INTO favorites (user_id, image_id, favorite_date) VALUES (?, ?, NOW())";
try {
PreparedStatement ps = conn.prepareStatement(query);
ps.setInt(1, (int)session.getAttribute("user_id"));
ps.setInt(2, image_id);
ps.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
out.println("<script>alert('图片已成功添加到您的收藏夹中。');</script>");
}
// 跳转回原来的页面
response.sendRedirect(request.getHeader("Referer"));
}
%>
```
在上述代码中,我们首先检查用户是否已登录。如果用户未登录,则将其重定向到登录页面。如果用户已登录,则获取从页面传递的图片ID。
然后,我们检查收藏夹中是否已存在该图片。如果是,则向用户显示警告消息;否则,将图片添加到收藏夹中,并向用户显示成功消息。
最后,我们将用户重定向回原来的页面。请注意,我们使用了`request.getHeader("Referer")`来获取用户上一次访问的页面,以便将其重定向回该页面。