diff --git a/pom.xml b/pom.xml index a043c369c..cfcf51812 100644 --- a/pom.xml +++ b/pom.xml @@ -23,7 +23,7 @@ mysql mysql-connector-java - 8.0.22 + 8.0.33 javax.servlet diff --git a/src/main/java/taxi/controller/LoginController.java b/src/main/java/taxi/controller/LoginController.java new file mode 100644 index 000000000..813745c3c --- /dev/null +++ b/src/main/java/taxi/controller/LoginController.java @@ -0,0 +1,41 @@ +package taxi.controller; + +import java.io.IOException; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; +import taxi.exception.AuthenticationException; +import taxi.lib.Injector; +import taxi.model.Driver; +import taxi.service.AuthenticationService; + +public class LoginController extends HttpServlet { + private static final Injector injector = Injector.getInstance("taxi"); + private final AuthenticationService authenticationService = + (AuthenticationService) injector.getInstance(AuthenticationService.class); + + @Override + protected void doGet(HttpServletRequest req, HttpServletResponse resp) + throws ServletException, IOException { + req.getRequestDispatcher("/WEB-INF/views/login.jsp").forward(req, resp); + } + + @Override + protected void doPost(HttpServletRequest req, HttpServletResponse resp) + throws ServletException, IOException { + String login = req.getParameter("login"); + String password = req.getParameter("password"); + + try { + Driver driver = authenticationService.login(login, password); + HttpSession session = req.getSession(); + session.setAttribute("driver_id", driver.getId()); + resp.sendRedirect(req.getContextPath() + "/index"); + } catch (AuthenticationException e) { + req.setAttribute("errorMsg", e.getMessage()); + req.getRequestDispatcher("/WEB-INF/views/login.jsp").forward(req, resp); + } + } +} diff --git a/src/main/java/taxi/controller/LogoutController.java b/src/main/java/taxi/controller/LogoutController.java new file mode 100644 index 000000000..db34f6309 --- /dev/null +++ b/src/main/java/taxi/controller/LogoutController.java @@ -0,0 +1,16 @@ +package taxi.controller; + +import java.io.IOException; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +public class LogoutController extends HttpServlet { + @Override + protected void doGet(HttpServletRequest req, HttpServletResponse resp) + throws ServletException, IOException { + req.getSession().invalidate(); + resp.sendRedirect(req.getContextPath() + "/login"); + } +} diff --git a/src/main/java/taxi/controller/car/AddDriverToCarController.java b/src/main/java/taxi/controller/car/AddDriverToCarController.java index 9b2aa76ca..698b04dee 100644 --- a/src/main/java/taxi/controller/car/AddDriverToCarController.java +++ b/src/main/java/taxi/controller/car/AddDriverToCarController.java @@ -18,8 +18,7 @@ public class AddDriverToCarController extends HttpServlet { .getInstance(DriverService.class); @Override - public void doGet(HttpServletRequest req, HttpServletResponse resp) - throws ServletException, IOException { + public void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { req.getRequestDispatcher("/WEB-INF/views/cars/drivers/add.jsp").forward(req, resp); } diff --git a/src/main/java/taxi/controller/car/GetMyCurrentCarsController.java b/src/main/java/taxi/controller/car/GetMyCurrentCarsController.java new file mode 100644 index 000000000..71e7b7586 --- /dev/null +++ b/src/main/java/taxi/controller/car/GetMyCurrentCarsController.java @@ -0,0 +1,28 @@ +package taxi.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 taxi.lib.Injector; +import taxi.model.Car; +import taxi.service.CarService; +import taxi.service.DriverService; + +public class GetMyCurrentCarsController extends HttpServlet { + private static final Injector injector = Injector.getInstance("taxi"); + private final DriverService driverService = + (DriverService) injector.getInstance(DriverService.class); + private final CarService carService = (CarService) injector.getInstance(CarService.class); + + @Override + protected void doGet(HttpServletRequest req, HttpServletResponse resp) + throws ServletException, IOException { + Long driverId = (Long) req.getSession().getAttribute("driver_id"); + List allCarsByDriver = carService.getAllByDriver(driverId); + req.setAttribute("cars", allCarsByDriver); + req.getRequestDispatcher("/WEB-INF/views/cars/all.jsp").forward(req, resp); + } +} diff --git a/src/main/java/taxi/controller/driver/AddDriverController.java b/src/main/java/taxi/controller/driver/AddDriverController.java index 1db67730b..e6da4dd22 100644 --- a/src/main/java/taxi/controller/driver/AddDriverController.java +++ b/src/main/java/taxi/controller/driver/AddDriverController.java @@ -24,7 +24,9 @@ public void doGet(HttpServletRequest req, HttpServletResponse resp) public void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException { String name = req.getParameter("name"); String licenseNumber = req.getParameter("license_number"); - Driver driver = new Driver(name, licenseNumber); + String login = req.getParameter("login"); + String password = req.getParameter("password"); + Driver driver = new Driver(name, licenseNumber, login, password); driverService.create(driver); resp.sendRedirect(req.getContextPath() + "/drivers/add"); } diff --git a/src/main/java/taxi/dao/CarDaoImpl.java b/src/main/java/taxi/dao/CarDaoImpl.java index 586ccb595..51ae87505 100644 --- a/src/main/java/taxi/dao/CarDaoImpl.java +++ b/src/main/java/taxi/dao/CarDaoImpl.java @@ -134,7 +134,7 @@ public List getAllByDriver(Long driverId) { + "m.country AS manufacturer_country " + "FROM cars c" + " JOIN manufacturers m ON c.manufacturer_id = m.id" - + " JOIN cars_drivers cd ON c.id = cd.car_id" + + " JOIN drivers_cars cd ON c.id = cd.car_id" + " JOIN drivers d ON cd.driver_id = d.id" + " WHERE c.is_deleted = FALSE AND driver_id = ?" + " AND d.is_deleted = FALSE"; @@ -160,7 +160,7 @@ private void insertAllDrivers(Car car) { if (drivers.size() == 0) { return; } - String query = "INSERT INTO cars_drivers (car_id, driver_id) VALUES (?, ?)"; + String query = "INSERT INTO drivers_cars (car_id, driver_id) VALUES (?, ?)"; try (Connection connection = ConnectionUtil.getConnection(); PreparedStatement statement = connection.prepareStatement(query)) { @@ -175,7 +175,7 @@ private void insertAllDrivers(Car car) { } private void deleteAllDrivers(Car car) { - String query = "DELETE FROM cars_drivers WHERE car_id = ?"; + String query = "DELETE FROM drivers_cars WHERE car_id = ?"; try (Connection connection = ConnectionUtil.getConnection(); PreparedStatement statement = connection.prepareStatement(query)) { @@ -188,8 +188,8 @@ private void deleteAllDrivers(Car car) { } private List getAllDriversByCarId(Long carId) { - String query = "SELECT id, name, license_number " - + "FROM cars_drivers cd " + String query = "SELECT id, name, license_number, login, password " + + "FROM drivers_cars cd " + "JOIN drivers d ON cd.driver_id = d.id " + "WHERE car_id = ? AND is_deleted = false"; try (Connection connection = ConnectionUtil.getConnection(); @@ -211,10 +211,10 @@ private Driver parseDriverFromResultSet(ResultSet resultSet) throws SQLException Long driverId = resultSet.getObject("id", Long.class); String name = resultSet.getString("name"); String licenseNumber = resultSet.getString("license_number"); - Driver driver = new Driver(); + String login = resultSet.getString("login"); + String password = resultSet.getString("password"); + Driver driver = new Driver(name, licenseNumber, login, password); driver.setId(driverId); - driver.setName(name); - driver.setLicenseNumber(licenseNumber); return driver; } diff --git a/src/main/java/taxi/dao/DriverDao.java b/src/main/java/taxi/dao/DriverDao.java index 83440d530..e9c38d2a5 100644 --- a/src/main/java/taxi/dao/DriverDao.java +++ b/src/main/java/taxi/dao/DriverDao.java @@ -1,6 +1,8 @@ package taxi.dao; +import java.util.Optional; import taxi.model.Driver; public interface DriverDao extends GenericDao { + Optional findByLogin(String login); } diff --git a/src/main/java/taxi/dao/DriverDaoImpl.java b/src/main/java/taxi/dao/DriverDaoImpl.java index f5e18f2a2..55d5fa266 100644 --- a/src/main/java/taxi/dao/DriverDaoImpl.java +++ b/src/main/java/taxi/dao/DriverDaoImpl.java @@ -17,13 +17,15 @@ public class DriverDaoImpl implements DriverDao { @Override public Driver create(Driver driver) { - String query = "INSERT INTO drivers (name, license_number) " - + "VALUES (?, ?)"; + String query = "INSERT INTO drivers (name, license_number, login, password) " + + "VALUES (?, ?, ?, ?)"; try (Connection connection = ConnectionUtil.getConnection(); PreparedStatement statement = connection.prepareStatement(query, Statement.RETURN_GENERATED_KEYS)) { statement.setString(1, driver.getName()); statement.setString(2, driver.getLicenseNumber()); + statement.setString(3, driver.getLogin()); + statement.setString(4, driver.getPassword()); statement.executeUpdate(); ResultSet resultSet = statement.getGeneratedKeys(); if (resultSet.next()) { @@ -72,13 +74,16 @@ public List getAll() { public Driver update(Driver driver) { String query = "UPDATE drivers " + "SET name = ?, license_number = ? " + + ", login = ?, password = ? " + "WHERE id = ? AND is_deleted = FALSE"; try (Connection connection = ConnectionUtil.getConnection(); PreparedStatement statement = connection.prepareStatement(query)) { statement.setString(1, driver.getName()); statement.setString(2, driver.getLicenseNumber()); - statement.setLong(3, driver.getId()); + statement.setString(3, driver.getLogin()); + statement.setString(4, driver.getPassword()); + statement.setLong(5, driver.getId()); statement.executeUpdate(); return driver; } catch (SQLException e) { @@ -98,14 +103,31 @@ public boolean delete(Long id) { } } + @Override + public Optional findByLogin(String login) { + String query = "SELECT id, name, license_number, login, password " + + "FROM drivers WHERE login = ? AND is_deleted = FALSE;"; + try (Connection connection = ConnectionUtil.getConnection(); + PreparedStatement preparedStatement = connection.prepareStatement(query)) { + preparedStatement.setString(1, login); + ResultSet resultSet = preparedStatement.executeQuery(); + while (resultSet.next()) { + return Optional.of(parseDriverFromResultSet(resultSet)); + } + } catch (SQLException e) { + throw new DataProcessingException("Can't get driver by login " + login, e); + } + return Optional.empty(); + } + private Driver parseDriverFromResultSet(ResultSet resultSet) throws SQLException { Long id = resultSet.getObject("id", Long.class); String name = resultSet.getString("name"); String licenseNumber = resultSet.getString("license_number"); - Driver driver = new Driver(); + String login = resultSet.getString("login"); + String password = resultSet.getString("password"); + Driver driver = new Driver(name, licenseNumber, login, password); driver.setId(id); - driver.setName(name); - driver.setLicenseNumber(licenseNumber); return driver; } } diff --git a/src/main/java/taxi/exception/AuthenticationException.java b/src/main/java/taxi/exception/AuthenticationException.java new file mode 100644 index 000000000..a80dfd9e9 --- /dev/null +++ b/src/main/java/taxi/exception/AuthenticationException.java @@ -0,0 +1,7 @@ +package taxi.exception; + +public class AuthenticationException extends Exception { + public AuthenticationException(String message) { + super(message); + } +} diff --git a/src/main/java/taxi/model/Driver.java b/src/main/java/taxi/model/Driver.java index 9c375f94c..0e5fa9347 100644 --- a/src/main/java/taxi/model/Driver.java +++ b/src/main/java/taxi/model/Driver.java @@ -6,13 +6,14 @@ public class Driver { private Long id; private String name; private String licenseNumber; + private String login; + private String password; - public Driver() { - } - - public Driver(String name, String licenseNumber) { + public Driver(String name, String licenseNumber, String login, String password) { this.name = name; this.licenseNumber = licenseNumber; + this.login = login; + this.password = password; } public Long getId() { @@ -39,6 +40,24 @@ public void setLicenseNumber(String licenseNumber) { this.licenseNumber = licenseNumber; } + public String getLogin() { + return login; + } + + public Driver setLogin(String login) { + this.login = login; + return this; + } + + public String getPassword() { + return password; + } + + public Driver setPassword(String password) { + this.password = password; + return this; + } + @Override public boolean equals(Object o) { if (this == o) { @@ -55,6 +74,6 @@ public boolean equals(Object o) { @Override public int hashCode() { - return Objects.hash(id, name, licenseNumber); + return Objects.hash(id, name, licenseNumber, login); } } diff --git a/src/main/java/taxi/service/AuthenticationService.java b/src/main/java/taxi/service/AuthenticationService.java new file mode 100644 index 000000000..e9ffa0eea --- /dev/null +++ b/src/main/java/taxi/service/AuthenticationService.java @@ -0,0 +1,8 @@ +package taxi.service; + +import taxi.exception.AuthenticationException; +import taxi.model.Driver; + +public interface AuthenticationService { + Driver login(String login, String password) throws AuthenticationException; +} diff --git a/src/main/java/taxi/service/AuthenticationServiceImpl.java b/src/main/java/taxi/service/AuthenticationServiceImpl.java new file mode 100644 index 000000000..7d2b110ed --- /dev/null +++ b/src/main/java/taxi/service/AuthenticationServiceImpl.java @@ -0,0 +1,22 @@ +package taxi.service; + +import java.util.Optional; +import taxi.exception.AuthenticationException; +import taxi.lib.Inject; +import taxi.lib.Service; +import taxi.model.Driver; + +@Service +public class AuthenticationServiceImpl implements AuthenticationService { + @Inject + private DriverService driverService; + + @Override + public Driver login(String login, String password) throws AuthenticationException { + Optional driverDaoByLogin = driverService.findByLogin(login); + if (password.equals(driverDaoByLogin.get().getPassword())) { + return driverDaoByLogin.get(); + } + throw new AuthenticationException("Login or Password is incorrect."); + } +} diff --git a/src/main/java/taxi/service/DriverService.java b/src/main/java/taxi/service/DriverService.java index faddf81b3..3dbdfe2f3 100644 --- a/src/main/java/taxi/service/DriverService.java +++ b/src/main/java/taxi/service/DriverService.java @@ -1,6 +1,8 @@ package taxi.service; +import java.util.Optional; import taxi.model.Driver; public interface DriverService extends GenericService { + Optional findByLogin(String login); } diff --git a/src/main/java/taxi/service/DriverServiceImpl.java b/src/main/java/taxi/service/DriverServiceImpl.java index e2f554b3f..cf14b8e39 100644 --- a/src/main/java/taxi/service/DriverServiceImpl.java +++ b/src/main/java/taxi/service/DriverServiceImpl.java @@ -2,6 +2,7 @@ import java.util.List; import java.util.NoSuchElementException; +import java.util.Optional; import taxi.dao.DriverDao; import taxi.lib.Inject; import taxi.lib.Service; @@ -38,4 +39,9 @@ public Driver update(Driver driver) { public boolean delete(Long id) { return driverDao.delete(id); } + + @Override + public Optional findByLogin(String login) { + return driverDao.findByLogin(login); + } } diff --git a/src/main/java/taxi/util/ConnectionUtil.java b/src/main/java/taxi/util/ConnectionUtil.java index 9a94e69a2..4092f1542 100644 --- a/src/main/java/taxi/util/ConnectionUtil.java +++ b/src/main/java/taxi/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_service_db"; + private static final String USERNAME = "root"; + private static final String PASSWORD = "Password"; + private static final String JDBC_DRIVER = "com.mysql.cj.jdbc.Driver"; static { try { diff --git a/src/main/java/taxi/webfilter/AuthenticationFilter.java b/src/main/java/taxi/webfilter/AuthenticationFilter.java new file mode 100644 index 000000000..2be319f33 --- /dev/null +++ b/src/main/java/taxi/webfilter/AuthenticationFilter.java @@ -0,0 +1,42 @@ +package taxi.webfilter; + +import java.io.IOException; +import java.util.HashSet; +import java.util.Set; +import javax.servlet.Filter; +import javax.servlet.FilterChain; +import javax.servlet.FilterConfig; +import javax.servlet.ServletException; +import javax.servlet.ServletRequest; +import javax.servlet.ServletResponse; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; + +public class AuthenticationFilter implements Filter { + private final Set allowedUrls = new HashSet<>(); + + @Override + public void init(FilterConfig filterConfig) { + allowedUrls.add("/login"); + allowedUrls.add("/registration"); + allowedUrls.add("/help"); + allowedUrls.add("/contacts"); + allowedUrls.add("/drivers/add"); + } + + @Override + public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) + throws IOException, ServletException { + HttpServletRequest httpServletRequest = (HttpServletRequest) request; + HttpServletResponse httpServletResponse = (HttpServletResponse) response; + HttpSession session = httpServletRequest.getSession(); + + Long userId = (Long) session.getAttribute("driver_id"); + if (userId == null && !allowedUrls.contains(httpServletRequest.getServletPath())) { + httpServletResponse.sendRedirect(httpServletRequest.getContextPath() + "/login"); + return; + } + chain.doFilter(httpServletRequest, httpServletResponse); + } +} diff --git a/src/main/resources/init_db.sql b/src/main/resources/init_db.sql index 2acabb883..8885d9e52 100644 --- a/src/main/resources/init_db.sql +++ b/src/main/resources/init_db.sql @@ -45,7 +45,7 @@ CREATE TABLE `cars` ( -- Table structure for cars_drivers -- ---------------------------- DROP TABLE IF EXISTS `cars_drivers`; -CREATE TABLE `cars_drivers` ( +CREATE TABLE `drivers_cars` ( `car_id` BIGINT(0) UNSIGNED NOT NULL, `driver_id` BIGINT(0) UNSIGNED NOT NULL, PRIMARY KEY (`car_id`, `driver_id`) USING BTREE, @@ -56,3 +56,7 @@ CREATE TABLE `cars_drivers` ( ) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic; SET FOREIGN_KEY_CHECKS = 1; + +ALTER TABLE drivers + ADD login VARCHAR(255) NOT NULL, + ADD password VARCHAR(255) NOT NULL; diff --git a/src/main/webapp/WEB-INF/views/cars/add.jsp b/src/main/webapp/WEB-INF/views/cars/add.jsp index c23ba0b4f..e07525625 100644 --- a/src/main/webapp/WEB-INF/views/cars/add.jsp +++ b/src/main/webapp/WEB-INF/views/cars/add.jsp @@ -8,6 +8,7 @@ Add car +<%@include file="/WEB-INF/views/header.jsp"%>

Add car:

@@ -27,6 +28,14 @@ + + + +
+ Back to main page + + Go to cars page +
diff --git a/src/main/webapp/WEB-INF/views/cars/all.jsp b/src/main/webapp/WEB-INF/views/cars/all.jsp index 84f046299..0668d2562 100644 --- a/src/main/webapp/WEB-INF/views/cars/all.jsp +++ b/src/main/webapp/WEB-INF/views/cars/all.jsp @@ -8,6 +8,7 @@ All cars +<%@include file="/WEB-INF/views/header.jsp"%>

All cars:

@@ -33,8 +34,8 @@ + + +
- - ${driver.id} ${driver.name} ${driver.licenseNumber}
+ + ${driver_id.id} ${driver_id.name} ${driver_id.licenseNumber}
@@ -42,6 +43,11 @@
+ Back to main page +
diff --git a/src/main/webapp/WEB-INF/views/cars/drivers/add.jsp b/src/main/webapp/WEB-INF/views/cars/drivers/add.jsp index d281d5d72..63e92a916 100644 --- a/src/main/webapp/WEB-INF/views/cars/drivers/add.jsp +++ b/src/main/webapp/WEB-INF/views/cars/drivers/add.jsp @@ -8,6 +8,7 @@ Add driver to car +<%@include file="/WEB-INF/views/header.jsp"%>

Add driver to car:

@@ -27,6 +28,14 @@ + + + +
+ Back to main page + + Go to cars page +
diff --git a/src/main/webapp/WEB-INF/views/drivers/add.jsp b/src/main/webapp/WEB-INF/views/drivers/add.jsp index 4ad7cee44..3187af842 100644 --- a/src/main/webapp/WEB-INF/views/drivers/add.jsp +++ b/src/main/webapp/WEB-INF/views/drivers/add.jsp @@ -8,23 +8,39 @@ All drivers -
+

Add driver:

+ + + + + + + +
Name License numberLoginPassword Add
- + - + - + + + + + +
+ Back to main page + + Go to drivers page
diff --git a/src/main/webapp/WEB-INF/views/drivers/all.jsp b/src/main/webapp/WEB-INF/views/drivers/all.jsp index 776101f73..5f219a26b 100644 --- a/src/main/webapp/WEB-INF/views/drivers/all.jsp +++ b/src/main/webapp/WEB-INF/views/drivers/all.jsp @@ -8,6 +8,7 @@ All drivers +<%@include file="/WEB-INF/views/header.jsp"%>

All drivers:

@@ -16,22 +17,27 @@ - + + + +
License number Delete
- + - + - + - DELETE + DELETE
+ Back to main page +
diff --git a/src/main/webapp/WEB-INF/views/header.jsp b/src/main/webapp/WEB-INF/views/header.jsp new file mode 100644 index 000000000..2807e3852 --- /dev/null +++ b/src/main/webapp/WEB-INF/views/header.jsp @@ -0,0 +1,9 @@ +<%@ page contentType="text/html;charset=UTF-8" language="java" %> + + + Title + + +Logout + + diff --git a/src/main/webapp/WEB-INF/views/index.jsp b/src/main/webapp/WEB-INF/views/index.jsp index b9b5e9d2b..5e408baeb 100644 --- a/src/main/webapp/WEB-INF/views/index.jsp +++ b/src/main/webapp/WEB-INF/views/index.jsp @@ -7,6 +7,7 @@ My team +<%@include file="/WEB-INF/views/header.jsp"%>

Hello, mates

@@ -20,6 +21,7 @@ +
Create new Car
Create new Manufacturer
Add Driver to Car
View all my Cars
diff --git a/src/main/webapp/WEB-INF/views/login.jsp b/src/main/webapp/WEB-INF/views/login.jsp new file mode 100644 index 000000000..8eb99134a --- /dev/null +++ b/src/main/webapp/WEB-INF/views/login.jsp @@ -0,0 +1,29 @@ +<%@ page contentType="text/html;charset=UTF-8" language="java" %> + + + Login page + + +

${errorMsg}

+
+ + + + + + + + + + + +
+ + + + + +
+

Register new driver

+ + diff --git a/src/main/webapp/WEB-INF/views/manufacturers/add.jsp b/src/main/webapp/WEB-INF/views/manufacturers/add.jsp index 108d3541c..5579f5d46 100644 --- a/src/main/webapp/WEB-INF/views/manufacturers/add.jsp +++ b/src/main/webapp/WEB-INF/views/manufacturers/add.jsp @@ -8,6 +8,7 @@ Manufacturers +<%@include file="/WEB-INF/views/header.jsp"%>

Add manufacturer:

@@ -27,6 +28,14 @@ + + + +
+ Back to main page + + Go to manufacturers page +
diff --git a/src/main/webapp/WEB-INF/views/manufacturers/all.jsp b/src/main/webapp/WEB-INF/views/manufacturers/all.jsp index fd3eafdbf..025122c0f 100644 --- a/src/main/webapp/WEB-INF/views/manufacturers/all.jsp +++ b/src/main/webapp/WEB-INF/views/manufacturers/all.jsp @@ -8,6 +8,7 @@ All manufacturers +<%@include file="/WEB-INF/views/header.jsp"%>

All manufacturers:

@@ -32,6 +33,11 @@ + + +
+ Back to main page +
diff --git a/src/main/webapp/web.xml b/src/main/webapp/web.xml index 284381048..df27223d4 100644 --- a/src/main/webapp/web.xml +++ b/src/main/webapp/web.xml @@ -3,6 +3,7 @@ xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" version="4.0"> + index taxi.controller.IndexController @@ -105,4 +106,41 @@ deleteManufacturer /manufacturers/delete + + + login + taxi.controller.LoginController + + + login + /login + + + + logout + taxi.controller.LogoutController + + + logout + /logout + + + + authenticationFilter + taxi.webfilter.AuthenticationFilter + + + authenticationFilter + /* + + + + carsByDriver + taxi.controller.car.GetMyCurrentCarsController + + + carsByDriver + /drivers/cars + +