Почему прямой доступ к файлам в WEB-INF срабатывает?

Рейтинг: 0Ответов: 2Опубликовано: 16.07.2023

Есть следующая иерархия:

иерархия

В конфигурации запуска контекст приложения задан как /. В свою же очередь URL получается http://localhost:8080/. По какой причине, я могу получить доступ к страничкам JSP в директории WEB-INF/view прямо по URL, например: http://localhost:8080/register.jsp?

Ответы

▲ 0Принят

Решением является всего-лишь прописать в пути возвращаемой страницы часть путь WEB-INF: /WEB-INF/view/category.jsp

▲ 1

По какой причине я до сих пор могу получить доступ к страничкам jsp в директории view

Дело в том, что WEB-INF - это защищённая директория на сервере, доступ к файлам извне невозможен. Приложение может хранить свои файлы в этой директории, чтобы быть уверенным, которые недоступны для пользователей. Это в первую очередь относится к файлам конфигурации, и другим внутренним файлам. Туда же стали ложить JSP файлы в некоторых MVC фреймворках, чтобы ограничить прямой доступ к View, минуя контроллер. В сервлетах, которые реализуют MVC паттерн, используя диспетчер, то же самое. Поскольку эти JSP не могут работать без инициализации на контроллере, то прямой доступ к таким страницам будет вызывать исключения.