How mapo0/springmvc works
This is a Spring MVC shop application with login/session handling, category-based index and admin pages, and product lookup/deletion endpoints. The main request paths run from the browser through controllers to services or repositories, with JSP views for page responses. Product and user repositories shown in the sampled source keep data in in-memory lists. The tree also identifies basket services/repositories and request interceptors, but their implementations and wiring were not sampled, so their relationships are left unspecified.
Main entry points: MainController.java Page controller · AuthController.java Login controller · RESTController.java Product endpoints · UserServiceImpl.java User service
Components 20
Web interface
- JSP pages
src/main/webapp/WEB-INF/jsp - Page controller
src/main/java/com/epam/controller/MainController.java - Product endpoints
src/main/java/com/epam/controller/RESTController.java - Web configuration
src/main/java/com/epam/config/WebConfiguration.java - Auth interceptor
src/main/java/com/epam/interceptor/AuthInterCeptor.java - User interceptor
src/main/java/com/epam/interceptor/UserInterCeptor.java - Admin interceptor
src/main/java/com/epam/interceptor/AdminInterCeptor.java
Identity and access
- Login controller
src/main/java/com/epam/controller/AuthController.java - User service
src/main/java/com/epam/service/impl/UserServiceImpl.java - User repository
src/main/java/com/epam/repository/impl/UserRepositoryImpl.java - Session user
src/main/java/com/epam/manager/SessionUserManagerImpl.java
Product catalog
- Product service
src/main/java/com/epam/service/impl/ProductServiceImpl.java - Product repository
src/main/java/com/epam/repository/impl/ProductRepositoryImpl.java - Category service
src/main/java/com/epam/service/CategoryService.java - Category repository
src/main/java/com/epam/repository/CategoryRepository.java - Catalog scripts
src/main/resources/static/js
Basket
- Basket service
src/main/java/com/epam/service/BasketService.java - Basket repository
src/main/java/com/epam/repository/BasketRepository.java - Basket model
src/main/java/com/epam/dto/Basket.java
Other components
- Browser user
Connections 11
- Browser user → Page controller: requests pages
- Browser user → Login controller: login requests
- Browser user → Product endpoints: product requests
- Page controller → Category repository: reads categories
- Page controller → Session user: reads session
- Page controller → JSP pages: selects view
- Login controller → User service: authenticates
- Login controller → Session user: sets user
- User service → User repository: looks up user
- Product endpoints → Product service: requests product
- Product service → Product repository: reads and mutates