From a7903796942ccf9e861b60ffb8612e8cae811ef2 Mon Sep 17 00:00:00 2001 From: Artem Date: Mon, 7 Aug 2023 11:53:36 +0300 Subject: [PATCH 1/4] added controllers & appropriate jsp pages --- pom.xml | 5 ++ .../car/AddDriverToCarController.java | 36 ++++++++ .../controller/car/CreateCarController.java | 36 ++++++++ .../controller/car/DeleteCarController.java | 21 +++++ .../controller/car/GetAllCarController.java | 24 +++++ .../driver/CreateDriverController.java | 32 +++++++ .../driver/DeleteDriverController.java | 22 +++++ .../driver/GetAllDriversController.java | 25 ++++++ .../CreateManufacturerController.java | 31 +++++++ .../DeleteManufacturerController.java | 22 +++++ .../GetAllManufacturerController.java | 25 ++++++ src/main/java/mate/model/Car.java | 11 +++ src/main/java/mate/util/ConnectionUtil.java | 8 +- src/main/webapp/WEB-INF/views/cars/add.jsp | 15 ++++ src/main/webapp/WEB-INF/views/cars/cars.jsp | 36 ++++++++ .../webapp/WEB-INF/views/cars/driverToCar.jsp | 14 +++ src/main/webapp/WEB-INF/views/drivers/add.jsp | 14 +++ .../webapp/WEB-INF/views/drivers/drivers.jsp | 26 ++++++ .../webapp/WEB-INF/views/manufacturer/add.jsp | 14 +++ .../views/manufacturer/manufacturers.jsp | 26 ++++++ src/main/webapp/web.xml | 89 +++++++++++++++++++ 21 files changed, 528 insertions(+), 4 deletions(-) create mode 100644 src/main/java/mate/controller/car/AddDriverToCarController.java create mode 100644 src/main/java/mate/controller/car/CreateCarController.java create mode 100644 src/main/java/mate/controller/car/DeleteCarController.java create mode 100644 src/main/java/mate/controller/car/GetAllCarController.java create mode 100644 src/main/java/mate/controller/driver/CreateDriverController.java create mode 100644 src/main/java/mate/controller/driver/DeleteDriverController.java create mode 100644 src/main/java/mate/controller/driver/GetAllDriversController.java create mode 100644 src/main/java/mate/controller/manufacturer/CreateManufacturerController.java create mode 100644 src/main/java/mate/controller/manufacturer/DeleteManufacturerController.java create mode 100644 src/main/java/mate/controller/manufacturer/GetAllManufacturerController.java create mode 100644 src/main/webapp/WEB-INF/views/cars/add.jsp create mode 100644 src/main/webapp/WEB-INF/views/cars/cars.jsp create mode 100644 src/main/webapp/WEB-INF/views/cars/driverToCar.jsp create mode 100644 src/main/webapp/WEB-INF/views/drivers/add.jsp create mode 100644 src/main/webapp/WEB-INF/views/drivers/drivers.jsp create mode 100644 src/main/webapp/WEB-INF/views/manufacturer/add.jsp create mode 100644 src/main/webapp/WEB-INF/views/manufacturer/manufacturers.jsp diff --git a/pom.xml b/pom.xml index 8f7cf6b7d..a52973361 100644 --- a/pom.xml +++ b/pom.xml @@ -31,6 +31,11 @@ 4.0.1 provided + + jstl + jstl + 1.2 + diff --git a/src/main/java/mate/controller/car/AddDriverToCarController.java b/src/main/java/mate/controller/car/AddDriverToCarController.java new file mode 100644 index 000000000..2ef872c40 --- /dev/null +++ b/src/main/java/mate/controller/car/AddDriverToCarController.java @@ -0,0 +1,36 @@ +package mate.controller.car; + +import java.io.IOException; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import mate.lib.Injector; +import mate.model.Car; +import mate.model.Driver; +import mate.service.CarService; +import mate.service.DriverService; + +public class AddDriverToCarController extends HttpServlet { + private static final Injector injector = Injector.getInstance("mate"); + private final CarService carService = (CarService) injector.getInstance(CarService.class); + private final DriverService driverService = (DriverService) injector + .getInstance(DriverService.class); + + @Override + protected void doGet(HttpServletRequest req, HttpServletResponse resp) + throws ServletException, IOException { + req.getRequestDispatcher("/WEB-INF/views/cars/driverToCar.jsp"); + } + + @Override + protected void doPost(HttpServletRequest req, HttpServletResponse resp) + throws ServletException, IOException { + Long driverId = Long.valueOf(req.getParameter("driver_id")); + Long carId = Long.valueOf(req.getParameter("car_id")); + Car car = carService.get(carId); + Driver driver = driverService.get(driverId); + carService.addDriverToCar(driver, car); + + } +} diff --git a/src/main/java/mate/controller/car/CreateCarController.java b/src/main/java/mate/controller/car/CreateCarController.java new file mode 100644 index 000000000..9ed3e9db2 --- /dev/null +++ b/src/main/java/mate/controller/car/CreateCarController.java @@ -0,0 +1,36 @@ +package mate.controller.car; + +import java.io.IOException; +import java.util.ArrayList; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import mate.lib.Injector; +import mate.model.Car; +import mate.service.CarService; +import mate.service.ManufacturerService; + +public class CreateCarController extends HttpServlet { + private static final Injector injector = Injector.getInstance("mate"); + private final CarService carService = (CarService) injector.getInstance(CarService.class); + private final ManufacturerService manufacturerService = (ManufacturerService) injector + .getInstance(ManufacturerService.class); + + @Override + public void doGet(HttpServletRequest req, HttpServletResponse resp) + throws ServletException, IOException { + req.getRequestDispatcher("/WEB-INF/views/cars/add.jsp").forward(req, resp); + } + + @Override + protected void doPost(HttpServletRequest req, HttpServletResponse resp) + throws ServletException, IOException { + Long manufacturerId = Long.valueOf(req.getParameter("manufacturer_id")); + Car car = new Car(); + car.setModel(req.getParameter("model")); + car.setManufacturer(manufacturerService.get(manufacturerId)); + car.setDrivers(new ArrayList<>()); + carService.create(car); + } +} diff --git a/src/main/java/mate/controller/car/DeleteCarController.java b/src/main/java/mate/controller/car/DeleteCarController.java new file mode 100644 index 000000000..784ff3c4a --- /dev/null +++ b/src/main/java/mate/controller/car/DeleteCarController.java @@ -0,0 +1,21 @@ +package mate.controller.car; + +import java.io.IOException; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import mate.lib.Injector; +import mate.service.CarService; + +public class DeleteCarController extends HttpServlet { + private static final Injector injector = Injector.getInstance("mate"); + private final CarService carService = (CarService) injector.getInstance(CarService.class); + + @Override + protected void doGet(HttpServletRequest req, HttpServletResponse resp) + throws ServletException, IOException { + Long id = Long.valueOf(req.getParameter("id")); + carService.delete(id); + } +} diff --git a/src/main/java/mate/controller/car/GetAllCarController.java b/src/main/java/mate/controller/car/GetAllCarController.java new file mode 100644 index 000000000..a00ea1215 --- /dev/null +++ b/src/main/java/mate/controller/car/GetAllCarController.java @@ -0,0 +1,24 @@ +package mate.controller.car; + +import java.io.IOException; +import java.util.List; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import mate.lib.Injector; +import mate.model.Car; +import mate.service.CarService; + +public class GetAllCarController extends HttpServlet { + private static final Injector injector = Injector.getInstance("mate"); + private final CarService carService = (CarService) injector.getInstance(CarService.class); + + @Override + protected void doGet(HttpServletRequest req, HttpServletResponse resp) + throws ServletException, IOException { + List allCar = carService.getAll(); + req.setAttribute("cars", allCar); + req.getRequestDispatcher("/WEB-INF/views/car/cars.jsp").forward(req, resp); + } +} diff --git a/src/main/java/mate/controller/driver/CreateDriverController.java b/src/main/java/mate/controller/driver/CreateDriverController.java new file mode 100644 index 000000000..6d9159f80 --- /dev/null +++ b/src/main/java/mate/controller/driver/CreateDriverController.java @@ -0,0 +1,32 @@ +package mate.controller.driver; + +import java.io.IOException; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import mate.lib.Injector; +import mate.model.Driver; +import mate.service.DriverService; + +public class CreateDriverController extends HttpServlet { + private static final Injector injector = Injector.getInstance("mate"); + + private final DriverService driverService = (DriverService) injector + .getInstance(DriverService.class); + + @Override + protected void doGet(HttpServletRequest req, HttpServletResponse resp) + throws ServletException, IOException { + req.getRequestDispatcher("/WEB-INF/views/drivers/add.jsp").forward(req, resp); + } + + @Override + protected void doPost(HttpServletRequest req, HttpServletResponse resp) + throws ServletException, IOException { + Driver driver = new Driver(); + driver.setName(req.getParameter("name")); + driver.setLicenseNumber(req.getParameter("licenseNumber")); + driverService.create(driver); + } +} diff --git a/src/main/java/mate/controller/driver/DeleteDriverController.java b/src/main/java/mate/controller/driver/DeleteDriverController.java new file mode 100644 index 000000000..e06a1857f --- /dev/null +++ b/src/main/java/mate/controller/driver/DeleteDriverController.java @@ -0,0 +1,22 @@ +package mate.controller.driver; + +import java.io.IOException; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import mate.lib.Injector; +import mate.service.DriverService; + +public class DeleteDriverController extends HttpServlet { + private static final Injector injector = Injector.getInstance("mate"); + private final DriverService driverService = (DriverService) injector + .getInstance(DriverService.class); + + @Override + protected void doGet(HttpServletRequest req, HttpServletResponse resp) + throws ServletException, IOException { + Long id = Long.valueOf(req.getParameter("id")); + driverService.delete(id); + } +} diff --git a/src/main/java/mate/controller/driver/GetAllDriversController.java b/src/main/java/mate/controller/driver/GetAllDriversController.java new file mode 100644 index 000000000..157b46e45 --- /dev/null +++ b/src/main/java/mate/controller/driver/GetAllDriversController.java @@ -0,0 +1,25 @@ +package mate.controller.driver; + +import java.io.IOException; +import java.util.List; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import mate.lib.Injector; +import mate.model.Driver; +import mate.service.DriverService; + +public class GetAllDriversController extends HttpServlet { + private static final Injector injector = Injector.getInstance("mate"); + private final DriverService driverService = (DriverService) injector + .getInstance(DriverService.class); + + @Override + protected void doGet(HttpServletRequest req, HttpServletResponse resp) + throws ServletException, IOException { + List allDrivers = driverService.getAll(); + req.setAttribute("drivers", allDrivers); + req.getRequestDispatcher("/WEB-INF/views/drivers/drivers.jsp").forward(req, resp); + } +} diff --git a/src/main/java/mate/controller/manufacturer/CreateManufacturerController.java b/src/main/java/mate/controller/manufacturer/CreateManufacturerController.java new file mode 100644 index 000000000..9c45d83c9 --- /dev/null +++ b/src/main/java/mate/controller/manufacturer/CreateManufacturerController.java @@ -0,0 +1,31 @@ +package mate.controller.manufacturer; + +import java.io.IOException; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import mate.lib.Injector; +import mate.model.Manufacturer; +import mate.service.ManufacturerService; + +public class CreateManufacturerController extends HttpServlet { + private static final Injector injector = Injector.getInstance("mate"); + private final ManufacturerService manufacturerService = (ManufacturerService) injector + .getInstance(ManufacturerService.class); + + @Override + public void doGet(HttpServletRequest req, HttpServletResponse resp) + throws ServletException, IOException { + req.getRequestDispatcher("/WEB-INF/views/manufacturer/add.jsp").forward(req, resp); + } + + @Override + protected void doPost(HttpServletRequest req, HttpServletResponse resp) + throws ServletException, IOException { + Manufacturer manufacturer = new Manufacturer(); + manufacturer.setName(req.getParameter("name")); + manufacturer.setCountry(req.getParameter("country")); + manufacturerService.create(manufacturer); + } +} diff --git a/src/main/java/mate/controller/manufacturer/DeleteManufacturerController.java b/src/main/java/mate/controller/manufacturer/DeleteManufacturerController.java new file mode 100644 index 000000000..74ba2e855 --- /dev/null +++ b/src/main/java/mate/controller/manufacturer/DeleteManufacturerController.java @@ -0,0 +1,22 @@ +package mate.controller.manufacturer; + +import java.io.IOException; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import mate.lib.Injector; +import mate.service.ManufacturerService; + +public class DeleteManufacturerController extends HttpServlet { + private static final Injector injector = Injector.getInstance("mate"); + private final ManufacturerService manufacturerService = (ManufacturerService) injector + .getInstance(ManufacturerService.class); + + @Override + protected void doGet(HttpServletRequest req, HttpServletResponse resp) + throws ServletException, IOException { + Long id = Long.valueOf(req.getParameter("id")); + manufacturerService.delete(id); + } +} diff --git a/src/main/java/mate/controller/manufacturer/GetAllManufacturerController.java b/src/main/java/mate/controller/manufacturer/GetAllManufacturerController.java new file mode 100644 index 000000000..3c88579f5 --- /dev/null +++ b/src/main/java/mate/controller/manufacturer/GetAllManufacturerController.java @@ -0,0 +1,25 @@ +package mate.controller.manufacturer; + +import java.io.IOException; +import java.util.List; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import mate.lib.Injector; +import mate.model.Manufacturer; +import mate.service.ManufacturerService; + +public class GetAllManufacturerController extends HttpServlet { + private static final Injector injector = Injector.getInstance("mate"); + private final ManufacturerService manufacturerService = (ManufacturerService) injector + .getInstance(ManufacturerService.class); + + @Override + protected void doGet(HttpServletRequest req, HttpServletResponse resp) + throws ServletException, IOException { + List allManufacturer = manufacturerService.getAll(); + req.setAttribute("manufacturer", allManufacturer); + req.getRequestDispatcher("/WEB-INF/views/manufacturer/manufacturers.jsp"); + } +} diff --git a/src/main/java/mate/model/Car.java b/src/main/java/mate/model/Car.java index 5cabe9ca6..c00ee6aa3 100644 --- a/src/main/java/mate/model/Car.java +++ b/src/main/java/mate/model/Car.java @@ -1,5 +1,6 @@ package mate.model; +import java.util.ArrayList; import java.util.List; import java.util.Objects; @@ -9,6 +10,16 @@ public class Car { private Manufacturer manufacturer; private List drivers; + public Car() { + + } + + public Car(String model, Manufacturer manufacturer) { + this.model = model; + this.manufacturer = manufacturer; + drivers = new ArrayList<>(); + } + public Long getId() { return id; } diff --git a/src/main/java/mate/util/ConnectionUtil.java b/src/main/java/mate/util/ConnectionUtil.java index a9249b004..c30b7db30 100644 --- a/src/main/java/mate/util/ConnectionUtil.java +++ b/src/main/java/mate/util/ConnectionUtil.java @@ -6,10 +6,10 @@ import java.util.Properties; public class ConnectionUtil { - private static final String URL = "YOUR DATABASE URL"; - private static final String USERNAME = "YOUR USERNAME"; - private static final String PASSWORD = "YOUR PASSWORD"; - private static final String JDBC_DRIVER = "YOUR DRIVER"; + private static final String URL = "jdbc:mysql://localhost:3306/taxi"; + private static final String USERNAME = "root"; + private static final String PASSWORD = "A251745A"; + private static final String JDBC_DRIVER = "com.mysql.cj.jdbc.Driver"; static { try { diff --git a/src/main/webapp/WEB-INF/views/cars/add.jsp b/src/main/webapp/WEB-INF/views/cars/add.jsp new file mode 100644 index 000000000..3829f336b --- /dev/null +++ b/src/main/webapp/WEB-INF/views/cars/add.jsp @@ -0,0 +1,15 @@ +<%@ page contentType="text/html;charset=UTF-8" language="java" %> + + + New car + + +

Creat new car

+
+ Model
+ Manufacturer Id
+ + +
+ + diff --git a/src/main/webapp/WEB-INF/views/cars/cars.jsp b/src/main/webapp/WEB-INF/views/cars/cars.jsp new file mode 100644 index 000000000..c2436faf1 --- /dev/null +++ b/src/main/webapp/WEB-INF/views/cars/cars.jsp @@ -0,0 +1,36 @@ +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ page contentType="text/html;charset=UTF-8" language="java" %> + + + Cars + + +

List of cars:

+ + + + + + + + + + + + + + + + + +
IDMODELMANUFACTURERDRIVERSDELETE
+ +
    +
  • + +
  • +
+
+
delete
+ + diff --git a/src/main/webapp/WEB-INF/views/cars/driverToCar.jsp b/src/main/webapp/WEB-INF/views/cars/driverToCar.jsp new file mode 100644 index 000000000..bbd917b72 --- /dev/null +++ b/src/main/webapp/WEB-INF/views/cars/driverToCar.jsp @@ -0,0 +1,14 @@ +<%@ page contentType="text/html;charset=UTF-8" language="java" %> + + + Driver to car + + +

Add driver to car

+
+ Driver
+ Car
+ +
+ + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/drivers/add.jsp b/src/main/webapp/WEB-INF/views/drivers/add.jsp new file mode 100644 index 000000000..e9fb38ada --- /dev/null +++ b/src/main/webapp/WEB-INF/views/drivers/add.jsp @@ -0,0 +1,14 @@ +<%@ page contentType="text/html;charset=UTF-8" language="java" %> + + + New driver + + +

Creat new driver

+
+ Name
+ License number
+ +
+ + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/drivers/drivers.jsp b/src/main/webapp/WEB-INF/views/drivers/drivers.jsp new file mode 100644 index 000000000..79acbdb18 --- /dev/null +++ b/src/main/webapp/WEB-INF/views/drivers/drivers.jsp @@ -0,0 +1,26 @@ +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ page contentType="text/html;charset=UTF-8" language="java" %> + + + Drivers + + +

List of drivers:

+ + + + + + + + + + + + + + + +
IDNAMELICENSE NUMBERDELETE
delete
+ + diff --git a/src/main/webapp/WEB-INF/views/manufacturer/add.jsp b/src/main/webapp/WEB-INF/views/manufacturer/add.jsp new file mode 100644 index 000000000..6d52e93cd --- /dev/null +++ b/src/main/webapp/WEB-INF/views/manufacturer/add.jsp @@ -0,0 +1,14 @@ +<%@ page contentType="text/html;charset=UTF-8" language="java" %> + + + New manufacturer + + +

Creat new manufacturer

+
+ Name
+ Country
+ +
+ + diff --git a/src/main/webapp/WEB-INF/views/manufacturer/manufacturers.jsp b/src/main/webapp/WEB-INF/views/manufacturer/manufacturers.jsp new file mode 100644 index 000000000..17f94b804 --- /dev/null +++ b/src/main/webapp/WEB-INF/views/manufacturer/manufacturers.jsp @@ -0,0 +1,26 @@ +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ page contentType="text/html;charset=UTF-8" language="java" %> + + + Manufacturers + + +

List of manufacturers:

+ + + + + + + + + + + + + + + +
IDNAMECOUNTRYDELETE
delete
+ + diff --git a/src/main/webapp/web.xml b/src/main/webapp/web.xml index 00afaeb93..332532781 100644 --- a/src/main/webapp/web.xml +++ b/src/main/webapp/web.xml @@ -11,4 +11,93 @@ index /index + + drivers + mate.controller.driver.GetAllDriversController + + + drivers + /drivers + + + + deleteDriver + mate.controller.driver.DeleteDriverController + + + deleteDriver + /drivers/delete + + + + addDriver + mate.controller.driver.CreateDriverController + + + addDriver + /drivers/add + + + + allCars + mate.controller.car.GetAllCarController + + + allCars + /cars/cars + + + + addCar + mate.controller.car.CreateCarController + + + addCar + /cars/add + + + + addDriverToCar + mate.controller.car.AddDriverToCarController + + + addDriverToCar + /driverToCar + + + + deleteCar + mate.controller.car.DeleteCarController + + + deleteCar + /cars/delete + + + + allManufacturers + mate.controller.manufacturer.GetAllManufacturerController + + + allManufacturers + /manufacturers + + + + addManufacturer + mate.controller.manufacturer.CreateManufacturerController + + + addManufacturer + /manufacturers/add + + + + deleteManufacturer + mate.controller.manufacturer.DeleteManufacturerController + + + deleteManufacturer + /manufacturers/delete + From c5a37c692de0723ba683b592f5c0b7533ddaf0b3 Mon Sep 17 00:00:00 2001 From: Artem Date: Mon, 7 Aug 2023 18:47:41 +0300 Subject: [PATCH 2/4] add redirect to the page where you can see the change just made (all cars after adding a car) --- .../controller/car/AddDriverToCarController.java | 4 ++-- .../mate/controller/car/GetAllCarController.java | 2 +- src/main/webapp/web.xml | 12 ++++++------ 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/main/java/mate/controller/car/AddDriverToCarController.java b/src/main/java/mate/controller/car/AddDriverToCarController.java index 2ef872c40..e5635221b 100644 --- a/src/main/java/mate/controller/car/AddDriverToCarController.java +++ b/src/main/java/mate/controller/car/AddDriverToCarController.java @@ -25,12 +25,12 @@ protected void doGet(HttpServletRequest req, HttpServletResponse resp) @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) - throws ServletException, IOException { + throws IOException { Long driverId = Long.valueOf(req.getParameter("driver_id")); Long carId = Long.valueOf(req.getParameter("car_id")); Car car = carService.get(carId); Driver driver = driverService.get(driverId); carService.addDriverToCar(driver, car); - + resp.sendRedirect(req.getContextPath() + "/cars/drivers/add"); } } diff --git a/src/main/java/mate/controller/car/GetAllCarController.java b/src/main/java/mate/controller/car/GetAllCarController.java index a00ea1215..c5543c777 100644 --- a/src/main/java/mate/controller/car/GetAllCarController.java +++ b/src/main/java/mate/controller/car/GetAllCarController.java @@ -19,6 +19,6 @@ protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { List allCar = carService.getAll(); req.setAttribute("cars", allCar); - req.getRequestDispatcher("/WEB-INF/views/car/cars.jsp").forward(req, resp); + req.getRequestDispatcher("/WEB-INF/views/cars/cars.jsp").forward(req, resp); } } diff --git a/src/main/webapp/web.xml b/src/main/webapp/web.xml index 332532781..bf8e5cacc 100644 --- a/src/main/webapp/web.xml +++ b/src/main/webapp/web.xml @@ -57,12 +57,12 @@ - addDriverToCar + /cars/drivers/add mate.controller.car.AddDriverToCarController - addDriverToCar - /driverToCar + /cars/drivers/add + /cars/drivers/add @@ -80,7 +80,7 @@ allManufacturers - /manufacturers + /manufacturer @@ -89,7 +89,7 @@ addManufacturer - /manufacturers/add + /manufacturer/add @@ -98,6 +98,6 @@ deleteManufacturer - /manufacturers/delete + /manufacturer/delete From 41b8b0530eb35e1eb385f0e5971eb3e595ceba51 Mon Sep 17 00:00:00 2001 From: Artem Date: Mon, 7 Aug 2023 18:50:46 +0300 Subject: [PATCH 3/4] single space --- src/main/java/mate/controller/car/AddDriverToCarController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/mate/controller/car/AddDriverToCarController.java b/src/main/java/mate/controller/car/AddDriverToCarController.java index e5635221b..4fe8f6785 100644 --- a/src/main/java/mate/controller/car/AddDriverToCarController.java +++ b/src/main/java/mate/controller/car/AddDriverToCarController.java @@ -25,7 +25,7 @@ protected void doGet(HttpServletRequest req, HttpServletResponse resp) @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) - throws IOException { + throws IOException { Long driverId = Long.valueOf(req.getParameter("driver_id")); Long carId = Long.valueOf(req.getParameter("car_id")); Car car = carService.get(carId); From 64a6372fb7226e3a98d7419422a54329b4415748 Mon Sep 17 00:00:00 2001 From: Artem Date: Tue, 8 Aug 2023 14:33:29 +0300 Subject: [PATCH 4/4] After all doPost method we should redirect user to page --- src/main/java/mate/controller/car/CreateCarController.java | 3 ++- src/main/java/mate/controller/car/DeleteCarController.java | 1 + .../java/mate/controller/driver/CreateDriverController.java | 3 ++- .../java/mate/controller/driver/DeleteDriverController.java | 1 + .../controller/manufacturer/CreateManufacturerController.java | 3 ++- .../controller/manufacturer/DeleteManufacturerController.java | 1 + .../controller/manufacturer/GetAllManufacturerController.java | 3 ++- 7 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/main/java/mate/controller/car/CreateCarController.java b/src/main/java/mate/controller/car/CreateCarController.java index 9ed3e9db2..1499807d9 100644 --- a/src/main/java/mate/controller/car/CreateCarController.java +++ b/src/main/java/mate/controller/car/CreateCarController.java @@ -25,12 +25,13 @@ public void doGet(HttpServletRequest req, HttpServletResponse resp) @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) - throws ServletException, IOException { + throws IOException { Long manufacturerId = Long.valueOf(req.getParameter("manufacturer_id")); Car car = new Car(); car.setModel(req.getParameter("model")); car.setManufacturer(manufacturerService.get(manufacturerId)); car.setDrivers(new ArrayList<>()); carService.create(car); + resp.sendRedirect(req.getContextPath() + "/cars/drivers/add"); } } diff --git a/src/main/java/mate/controller/car/DeleteCarController.java b/src/main/java/mate/controller/car/DeleteCarController.java index 784ff3c4a..00d4c553e 100644 --- a/src/main/java/mate/controller/car/DeleteCarController.java +++ b/src/main/java/mate/controller/car/DeleteCarController.java @@ -17,5 +17,6 @@ protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { Long id = Long.valueOf(req.getParameter("id")); carService.delete(id); + resp.sendRedirect(req.getContextPath() + "/cars"); } } diff --git a/src/main/java/mate/controller/driver/CreateDriverController.java b/src/main/java/mate/controller/driver/CreateDriverController.java index 6d9159f80..e82e7faea 100644 --- a/src/main/java/mate/controller/driver/CreateDriverController.java +++ b/src/main/java/mate/controller/driver/CreateDriverController.java @@ -23,10 +23,11 @@ protected void doGet(HttpServletRequest req, HttpServletResponse resp) @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) - throws ServletException, IOException { + throws IOException { Driver driver = new Driver(); driver.setName(req.getParameter("name")); driver.setLicenseNumber(req.getParameter("licenseNumber")); driverService.create(driver); + resp.sendRedirect(req.getContextPath() + "/drivers/add"); } } diff --git a/src/main/java/mate/controller/driver/DeleteDriverController.java b/src/main/java/mate/controller/driver/DeleteDriverController.java index e06a1857f..588985162 100644 --- a/src/main/java/mate/controller/driver/DeleteDriverController.java +++ b/src/main/java/mate/controller/driver/DeleteDriverController.java @@ -18,5 +18,6 @@ protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { Long id = Long.valueOf(req.getParameter("id")); driverService.delete(id); + resp.sendRedirect(req.getContextPath() + "/drivers"); } } diff --git a/src/main/java/mate/controller/manufacturer/CreateManufacturerController.java b/src/main/java/mate/controller/manufacturer/CreateManufacturerController.java index 9c45d83c9..97ec5c052 100644 --- a/src/main/java/mate/controller/manufacturer/CreateManufacturerController.java +++ b/src/main/java/mate/controller/manufacturer/CreateManufacturerController.java @@ -22,10 +22,11 @@ public void doGet(HttpServletRequest req, HttpServletResponse resp) @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) - throws ServletException, IOException { + throws IOException { Manufacturer manufacturer = new Manufacturer(); manufacturer.setName(req.getParameter("name")); manufacturer.setCountry(req.getParameter("country")); manufacturerService.create(manufacturer); + resp.sendRedirect(req.getContextPath() + "/manufacturers/add"); } } diff --git a/src/main/java/mate/controller/manufacturer/DeleteManufacturerController.java b/src/main/java/mate/controller/manufacturer/DeleteManufacturerController.java index 74ba2e855..d6979ef0c 100644 --- a/src/main/java/mate/controller/manufacturer/DeleteManufacturerController.java +++ b/src/main/java/mate/controller/manufacturer/DeleteManufacturerController.java @@ -18,5 +18,6 @@ protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { Long id = Long.valueOf(req.getParameter("id")); manufacturerService.delete(id); + resp.sendRedirect(req.getContextPath() + "/manufacturers"); } } diff --git a/src/main/java/mate/controller/manufacturer/GetAllManufacturerController.java b/src/main/java/mate/controller/manufacturer/GetAllManufacturerController.java index 3c88579f5..413195daa 100644 --- a/src/main/java/mate/controller/manufacturer/GetAllManufacturerController.java +++ b/src/main/java/mate/controller/manufacturer/GetAllManufacturerController.java @@ -20,6 +20,7 @@ protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { List allManufacturer = manufacturerService.getAll(); req.setAttribute("manufacturer", allManufacturer); - req.getRequestDispatcher("/WEB-INF/views/manufacturer/manufacturers.jsp"); + req.getRequestDispatcher("/WEB-INF/views/manufacturer/manufacturers.jsp") + .forward(req, resp); } }