Тернист и сложен путь начинающего Java разработчика. Но от этого он еще более интересен! Итак, вы настроили свое приложении на Spring MVC, вводите в браузере "http://localhost:8080/spring-security/help" и получаете ошибку "No mapping found for HTTP request with URI [/spring-security/WEB-INF/views/help.jsp] in DispatcherServlet with name 'mvc-dispatcher'". В чем проблема? Ведь все правильно настроено! Проблема в том, что Spring правильно распознает ваш запрос и перенаправляет его по другому адресу (например, добавляя "WEB-INF/views/" + ... + ".jsp"). Контейнер ищет подходящий сервлет для обработки запроса и находит его - ваше Spring MVC приложение! Т.е. происходит зацикливание. Существует множество решений данной проблемы (обсуждение идет про статический контент, но данную ситуацию, думаю, можно исправить указанными методами), но мне показались они сложными и я продолжил поиск и нашел, то что искал! Повторю описание решения в данной заметке: в файле web.xml вместо
<servlet-mapping>используйте
<servlet-name>mvc-dispatcher</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>mvc-dispatcher</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>