You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
38 lines
1.3 KiB
38 lines
1.3 KiB
package com.lostfound.servlet;
|
|
|
|
import com.lostfound.dao.InMemoryDAO;
|
|
import com.lostfound.model.Item;
|
|
import com.lostfound.util.SessionUtil;
|
|
|
|
import javax.servlet.ServletException;
|
|
import javax.servlet.annotation.WebServlet;
|
|
import javax.servlet.http.HttpServlet;
|
|
import javax.servlet.http.HttpServletRequest;
|
|
import javax.servlet.http.HttpServletResponse;
|
|
import java.io.IOException;
|
|
|
|
@WebServlet("/claim")
|
|
public class ClaimServlet extends HttpServlet {
|
|
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
|
|
if (!SessionUtil.isLoggedIn(req)) {
|
|
resp.sendRedirect("login.jsp");
|
|
return;
|
|
}
|
|
|
|
String itemId = req.getParameter("id");
|
|
Item item = InMemoryDAO.getItem(itemId);
|
|
if (item == null) {
|
|
resp.sendRedirect("search.jsp?error=物品不存在");
|
|
return;
|
|
}
|
|
|
|
req.setAttribute("item", item);
|
|
req.getRequestDispatcher("/claim-confirm.jsp").forward(req, resp);
|
|
}
|
|
|
|
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException {
|
|
String itemId = req.getParameter("itemId");
|
|
InMemoryDAO.markAsMatched(itemId);
|
|
resp.sendRedirect("my-items.jsp?msg=认领成功!对方已获得积分。");
|
|
}
|
|
} |