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
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=发布成功!");
|
|
}
|
|
} |