В настоящее время я пишу небольшое динамическое веб-приложение на Java. Предполагается, что приложение является платформой событий, где вы можете создать учетную запись пользователя, войти в систему, а затем просмотреть все открытые события (на более поздней итерации пользователи могут создавать/участвовать в этих событиях).
В настоящее время структура веб-приложения может быть (упрощена) описана следующим образом:
Register-Servlet -> Register.jsp
|
V
Login-Servlet -> Login.jsp
|
V
Main-page-Servlet -> Main.jsp
Итак, прямо сейчас пользователь может перейти на Login.jsp, его информация для входа будет отправлена в Login-Servlet, который будет проверять его, а затем отправить на главный сервлет. Затем с помощью Main-Page-Servlet (после подтверждения входа в систему) получает все текущие события из базы данных, прикрепляет их к запросу и перенаправляет его на Main.jsp, который отображает его для просмотра пользователем.
Теперь, если пользователь хочет получить доступ к Main.jsp напрямую (без выхода из Main-Page-Servlet), он, очевидно, не может отображать доступные события. Обходной путь, который я использую в настоящее время, выполняет нулевую проверку, чтобы увидеть, есть ли там события, а если нет, перенаправляйтесь к главному сервлету.
Меня это беспокоит, так как я не думаю, что лучшая практика, и я думаю, что это просто создаст много других проблем, чем больше мое приложение получит.
Моя первая мысль об этом заключалась в том, что было бы полезно, если бы я мог просто "скрыть" все .jsp от пользователя, так что пользователь будет садиться только на сервлеты и не сможет получить доступ к .jsp по-другому.
Есть ли способ сделать это? Или, если нет, каково было бы лучшее решение, если бы я писал профессиональное приложение на уровне предприятия?