как отображать данные на основе электронной почты пользователя. Застрял в контроллере DAO (MVC Eclipse oracle DB) - PullRequest
0 голосов
/ 15 апреля 2020

Как отобразить таблицу данных на основе электронной почты пользователя или текущего сеанса? Я использую MVC для java, и это потерянная и найденная система. ниже я предоставляю DAO и контроллер.

это мой найденный DAO

//get user by email
public static FoundItemBean getUserByEmail(String UserEmail) {
    FoundItemBean found = new FoundItemBean();
    try {
        currentCon = ConnectionManager.getConnection();
        ps=currentCon.prepareStatement("select * from founditem where useremail=?");

        ps.setString(1, UserEmail);

        ResultSet rs = ps.executeQuery();

        if (rs.next()) {

            found.setFItemID(rs.getString("FItemID"));
            found.setUserEmail(rs.getString("UserEmail"));
            found.setFItemName(rs.getString("FItemName"));
            found.setFItemCategory(rs.getString("FItemCategory"));
            found.setFItemDate(rs.getString("FItemDate"));
            found.setFItemTime(rs.getString("FItemTime"));
            found.setFItemLocation(rs.getString("FItemLocation"));
            found.setFItemDescription(rs.getString("FItemDescription"));
        }
    } catch (SQLException e) {
        e.printStackTrace();
    }

    return found;
}

это мой контроллер

public class FoundController extends HttpServlet {
    private static final long serialVersionUID = 1L;
    private String VIEW ="viewFound.jsp";
    private String VIEWALL ="listFoundItem.jsp";
    private static String UPDATE = "updateFound.jsp";
    private static String DELETE = "deleteFound.jsp";
    private static String SEARCH = "registerFoundItem.jsp";

    String forward;
    private foundDAO dao;
    /**
     * @see HttpServlet#HttpServlet()
     */
    public FoundController() {
        super();
        dao = new foundDAO();
        // TODO Auto-generated constructor stub
    }

    /**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String action = request.getParameter("action");

        if(action.equalsIgnoreCase("viewFoundDetails")) {
            forward = VIEW;
            String UserEmail = request.getParameter("UserEmail");
            FoundItemBean found = foundDAO.getUserByEmail(UserEmail);
            List<FoundItemBean> founds = foundDAO.getAllFound();
            request.setAttribute("founds", founds );
            request.setAttribute("found", found);
        }
        else if (action.equalsIgnoreCase("listAll")) {
            forward = VIEWALL;
            request.setAttribute("founds", foundDAO.getAllFound()); 

        }
        else if (action.equalsIgnoreCase("updateFound")){
            forward = UPDATE;
            String UserEmail = request.getParameter("UserEmail");
            FoundItemBean found = foundDAO.getUserByEmail(UserEmail);
            List<FoundItemBean> founds = foundDAO.getAllFound();
            request.setAttribute("founds", founds);
            request.setAttribute("found", found);
        }
        else if (action.equalsIgnoreCase("search")){
            forward = SEARCH;
            List<FoundItemBean> found = foundDAO.getAllFound();
            request.setAttribute("founds", found);
        }
        else if (action.equalsIgnoreCase("deleteFound")){
            forward = DELETE;
            String UserEmail = request.getParameter("UserEmail");
            FoundItemBean found = foundDAO.getUserByEmail(UserEmail);
            request.setAttribute("found", found);
        }
        RequestDispatcher view = request.getRequestDispatcher(forward);
        view.forward(request, response);
    }

    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        String action = request.getParameter("action");
        if(action.equalsIgnoreCase("Submit")) {

            String UserEmail = request.getParameter("UserEmail");
            String FItemName = request.getParameter("FItemName");
            String FItemCategory = request.getParameter("FItemCategory");
            String FItemDate = request.getParameter("FItemDate");
            String FItemTime = request.getParameter("FItemTime");
            String FItemLocation = request.getParameter("FItemLocation");
            String FItemDescription = request.getParameter("FItemDescription");

            FoundItemBean found = new FoundItemBean();

            found.setUserEmail(UserEmail);
            found.setFItemName(FItemName);
            found.setFItemCategory(FItemCategory);
            found.setFItemDate(FItemDate);
            found.setFItemTime(FItemTime);
            found.setFItemLocation(FItemLocation);
            found.setFItemDescription(FItemDescription);

            dao = new foundDAO();
            try {
                dao.updateFound(found);
                /*forward = VIEW;
            user = UserDAO.getUserByEmail(UserEmail);
            request.setAttribute("user", user); */
                response.setContentType("text/html");
                PrintWriter pw = response.getWriter();
                pw.println("<script>");
                pw.println("alert('The account is updated');");
                pw.println("window.location.href='/lofo/FoundController?action=viewFound&UserEmail="+ UserEmail +"';");
                pw.println("</script>");

            } catch (NoSuchAlgorithmException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            //}
            //else if(action.equalsIgnoreCase("Delete")) {
            //String UserEmail = request.getParameter("UserEmail");
            // = new foundDAO();
            //dao.deleteUser(UserEmail);
            //response.setContentType("text/html");
            //PrintWriter pw = response.getWriter();
            //pw.println("<script>");
            //pw.println("alert('The account has been deleted');");
            //pw.println("window.location.href='/Inventory/UserController?action=listAll';");
            //pw.println("</script>");
            //}
        }
    }
}

Должен ли я сделать еще что-нибудь, если у меня такой контроль? или еще?

else if (action.equalsIgnoreCase("listAllMyPost")) {
        forward = VIEWALL;
        request.setAttribute("founds", foundDAO.getAllFound()); 

Я пробовал еще, если нравится viewFoundDetails, но он не работает

...