Site with training courses. The user enters the main page where the list of all courses is displayed. While the user is not authorized, he can only see the list of courses or read more about the course. After logging in under one of the roles (Admin, Teacher, Student), he sees additional functionality. For example, the admin can add or change notes, the student can enroll for a course (after which the entry changes to “enrolled for a course”) or unsubscribe, the teacher simply sees the list of courses. The question is how best to proceed? Create a page for each role with a functional or write one page and hide the functionality depending on the user's role, for example, using the jstl "choose" tag?
You can use: jsp, js + libraries and frameworks.