-
Notifications
You must be signed in to change notification settings - Fork 616
Hometask jv-web-practice completed #660
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Changes from 2 commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,40 @@ | ||
| 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.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 { | ||
| List<Car> cars = carService.getAll(); | ||
| List<Driver> drivers = driverService.getAll(); | ||
| req.setAttribute("cars", cars); | ||
| req.setAttribute("drivers", drivers); | ||
| req.getRequestDispatcher("/WEB-INF/views/cars/addDriver.jsp").forward(req, resp); | ||
| } | ||
|
|
||
| @Override | ||
| protected void doPost(HttpServletRequest req, HttpServletResponse resp) | ||
| throws ServletException, IOException { | ||
| Car car = carService.get(Long.valueOf(req.getParameter("car"))); | ||
| Driver driver = driverService.get(Long.valueOf(req.getParameter("driver"))); | ||
| car.getDrivers().add(driver); | ||
| carService.update(car); | ||
| resp.sendRedirect(req.getContextPath() + "/cars/add/driver"); | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. better redirect to a page where you can see the change just made, after you added a car - to list of all cars etc |
||
| } | ||
| } | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,42 @@ | ||
| package mate.controller.car; | ||
|
|
||
| import java.io.IOException; | ||
| import java.util.ArrayList; | ||
| 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.model.Manufacturer; | ||
| 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 | ||
| protected void doGet(HttpServletRequest req, HttpServletResponse resp) | ||
| throws ServletException, IOException { | ||
| List<Manufacturer> manufacturers = manufacturerService.getAll(); | ||
| req.setAttribute("manufacturers", manufacturers); | ||
| req.getRequestDispatcher("/WEB-INF/views/cars/create.jsp").forward(req, resp); | ||
| } | ||
|
|
||
| @Override | ||
| protected void doPost(HttpServletRequest req, HttpServletResponse resp) | ||
| throws ServletException, IOException { | ||
| Car car = new Car(); | ||
| car.setModel(req.getParameter("model")); | ||
| Manufacturer manufacturer = manufacturerService | ||
| .get(Long.valueOf(req.getParameter("Manufacturers"))); | ||
| car.setManufacturer(manufacturer); | ||
| car.setDrivers(new ArrayList<>()); | ||
| carService.create(car); | ||
| resp.sendRedirect(req.getContextPath() + "/cars/create"); | ||
| } | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,26 @@ | ||
| 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 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); | ||
| List<Car> allCars = carService.getAll(); | ||
| req.setAttribute("cars", allCars); | ||
| req.getRequestDispatcher("/WEB-INF/views/cars/getAll.jsp").forward(req, resp); | ||
| } | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,30 @@ | ||
| 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 GetAllCarsController 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<Car> cars = carService.getAll(); | ||
| req.setAttribute("cars", cars); | ||
| req.getRequestDispatcher("/WEB-INF/views/cars/getAll.jsp").forward(req, resp); | ||
| } | ||
|
|
||
| @Override | ||
| protected void doPost(HttpServletRequest req, HttpServletResponse resp) | ||
| throws ServletException, IOException { | ||
| resp.sendRedirect(req.getContextPath() + "/cars/all"); | ||
| } | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. remove doPost from controllers that start with Get |
||
| } | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -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/create.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); | ||
| resp.sendRedirect(req.getContextPath() + "/drivers/create"); | ||
| } | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,27 @@ | ||
| 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 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); | ||
| List<Driver> allDrivers = driverService.getAll(); | ||
| req.setAttribute("drivers", allDrivers); | ||
| req.getRequestDispatcher("/WEB-INF/views/drivers/getAll.jsp").forward(req, resp); | ||
| } | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,31 @@ | ||
| 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<Driver> drivers = driverService.getAll(); | ||
| req.setAttribute("drivers", drivers); | ||
| req.getRequestDispatcher("/WEB-INF/views/drivers/getAll.jsp").forward(req, resp); | ||
| } | ||
|
|
||
| @Override | ||
| protected void doPost(HttpServletRequest req, HttpServletResponse resp) | ||
| throws ServletException, IOException { | ||
| resp.sendRedirect(req.getContextPath() + "/drivers/all"); | ||
| } | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,32 @@ | ||
| 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 | ||
| protected void doGet(HttpServletRequest req, HttpServletResponse resp) | ||
| throws ServletException, IOException { | ||
| req.getRequestDispatcher("/WEB-INF/views/manufacturers/create.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); | ||
| resp.sendRedirect(req.getContextPath() + "/manufacturers/create"); | ||
| } | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,27 @@ | ||
| 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 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); | ||
| List<Manufacturer> allManufacturers = manufacturerService.getAll(); | ||
| req.setAttribute("manufacturers", allManufacturers); | ||
| req.getRequestDispatcher("/WEB-INF/views/manufacturers/getAll.jsp").forward(req, resp); | ||
| } | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,31 @@ | ||
| 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 GetAllManufacturersController 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<Manufacturer> manufacturers = manufacturerService.getAll(); | ||
| req.setAttribute("manufacturers", manufacturers); | ||
| req.getRequestDispatcher("/WEB-INF/views/manufacturers/getALL.jsp").forward(req, resp); | ||
| } | ||
|
|
||
| @Override | ||
| protected void doPost(HttpServletRequest req, HttpServletResponse resp) | ||
| throws ServletException, IOException { | ||
| resp.sendRedirect(req.getContextPath() + "/manufacturers/all"); | ||
| } | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,27 @@ | ||
| <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> | ||
| <%@ page contentType="text/html;charset=UTF-8" %> | ||
| <html> | ||
| <head> | ||
| <title>Add Driver to the Car</title> | ||
| </head> | ||
| <body> | ||
| <h1>Choose a car and a driver</h1> | ||
| <form method="post" action="${pageContext.request.contextPath}/cars/drivers/add"> | ||
| Car<label> | ||
| <select name="car.id"> | ||
| <c:forEach items="${cars}" var="car"> | ||
| <option value="${car.id}">"${car.model}" "${car.manufacturer.name}</option> | ||
| </c:forEach> | ||
| </select> | ||
| </label> | ||
| Driver<label> | ||
| <select name="driver_id"> | ||
| <c:forEach items="${drivers}" var="driver"> | ||
| <option value="${driver.id}">"${driver.name}" "${driver.licenseNumber}"</option> | ||
| </c:forEach> | ||
| </select> | ||
| </label> | ||
| <button type="submit">Create</button> | ||
| </form> | ||
| </body> | ||
| </html> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
add redirect