| AdminController:
|
| package com.controller;
|
|
|
| import java.io.IOException;
|
|
|
|
|
| import java.sql.SQLException;
|
| import java.util.Random;
|
|
|
| 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 javax.servlet.http.HttpSession;
|
|
|
| import com.dao.AdminDAO;
|
| import com.dao.ProductDAO;
|
| import com.entity.Admin;
|
| import com.entity.Product;
|
| import com.entity.Customer;
|
|
|
| @WebServlet(urlPatterns = { "/AdminController", "/admin" })
|
| public class AdminController extends HttpServlet {
|
| private static final long serialVersionUID = 1L;
|
| private AdminDAO adminDAO;
|
|
|
| // No-argument constructor
|
| public AdminController() {
|
| super();
|
| }
|
|
|
| // Initialize the CustomerDAO object
|
| @Override
|
| public void init() throws ServletException {
|
| this.adminDAO = new AdminDAO(); // Assuming your AdminDAO has a no-argument constructor
|
| }
|
|
|
| protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
|
| response.getWriter().append("Served at: ").append(request.getContextPath());
|
| }
|
|
|
| protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
|
| String action = request.getParameter("action");
|
|
|
| try {
|
| if (action.equalsIgnoreCase("login")) {
|
| String adminId = request.getParameter("adminID");
|
| int converted_admin_id = Integer.parseInt(adminId);
|
| String password = request.getParameter("password");
|
|
|
| Admin admin = this.adminDAO.get(new Admin(converted_admin_id, password));
|
|
|
| if (admin != null) {
|
| HttpSession session = request.getSession();
|
| session.setAttribute("admin", admin);
|
| session.setAttribute("role", "admin");
|
| response.sendRedirect("AdminHome.jsp");
|
|
|
| } else {
|
| request.setAttribute("error", "Invalid ID or Password");
|
| // Correct path to your login page
|
| request.getRequestDispatcher("AdminLogin.jsp").forward(request, response);
|
| }
|
| }else if(action.equalsIgnoreCase("DeleteCustomer")){
|
|
|
| String customerId = request.getParameter("customerId");
|
| int converted_customer_id = Integer.parseInt(customerId);
|
|
|
| boolean isDeleted = adminDAO.DeleteCustomer(converted_customer_id);
|
|
|
| if (isDeleted) {
|
| request.getRequestDispatcher("/CustomerManagement.jsp").forward(request, response);
|
| } else {
|
| request.setAttribute("error", "Deletion failed.");
|
| request.getRequestDispatcher("/CustomerManagement.jsp").forward(request, response);
|
| }
|
|
|
| }else if (action.equalsIgnoreCase("addProduct")) {
|
| // Product Addition logic
|
| try {
|
| String productName = request.getParameter("productName");
|
| String price = request.getParameter("price");
|
| double converted_price = Double.parseDouble(price);
|
| String description = request.getParameter("description");
|
| String imgUrl = request.getParameter("imgUrl");
|
|
|
| Product product = new Product(productName, converted_price, description, imgUrl);
|
|
|
| int isRegistered = adminDAO.addProduct(product);
|
| if (isRegistered>0) {
|
| request.getRequestDispatcher("/Product_Successfully_Added.jsp").forward(request, response);
|
| } else {
|
| request.setAttribute("error", "Product Addition failed.");
|
| request.getRequestDispatcher("/ProductManagement.jsp").forward(request, response);
|
| }
|
| }catch (Exception e) {
|
| e.printStackTrace();
|
| request.setAttribute("error", "An error occurred during Addition.");
|
| request.getRequestDispatcher("/ProductManagement.jsp").forward(request, response);
|
| }
|
| }
|
| } catch (ClassNotFoundException | SQLException e) {
|
| e.printStackTrace();
|
| // Handle exception, navigate to error page
|
| request.setAttribute("error", "An unexpected error occurred.");
|
| request.getRequestDispatcher("errorPage.jsp").forward(request, response);
|
| }
|
| }
|
| }
|