A web application is an application that is exposed through a private or public network that allows multiple concurrent users to connect to and use the application.
MVC pattern is a multi-tiered application development pattern used in web application development to enable separation of concerns and support ease of development and maintenance.
A relational database is a data store that uses relations (tables with columns, rows, and relationships between them) to maintain data while guaranteeing ACID (Atomicity, Consistency, Independent, Durable) properties.
JPA provides object/relation mapping capabilities to enable mapping between relational database tables and Java objects in order to ease persistence in Java applications.
@Entityannotation in JPA is used mark a POJO in Java to be used for object-relational mapping.
A Template engine is used to enable separation of concerns when developing presentation views. By using a Template engine-specific templates, UI engineers who are experts in frontend development can work independently.
Spring Security is a framework that enables authentication and authorization for an application, mostly web applications while covering most of the commonly known web security vulnerability.