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.

45 lines
1.6 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("/post")
public class PostItemServlet extends HttpServlet {
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
if (!SessionUtil.isLoggedIn(req)) {
resp.sendRedirect("login.jsp");
return;
}
req.getRequestDispatcher("/post-item.jsp").forward(req, resp);
}
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException {
req.setCharacterEncoding("UTF-8");
var user = SessionUtil.getCurrentUser(req);
if (user == null) {
resp.sendRedirect("login.jsp");
return;
}
Item item = new Item();
item.setUserId(user.getId());
item.setType(req.getParameter("type"));
item.setCategory(req.getParameter("category"));
item.setDescription(req.getParameter("description"));
item.setLocation(req.getParameter("location"));
item.setTime(req.getParameter("time"));
item.setContact(req.getParameter("contact"));
InMemoryDAO.addItem(item);
resp.sendRedirect("my-items.jsp?msg=发布成功!");
}
}