Не найдено сопоставление для HTTP-запроса с URI [/app/j_spring_security_login] в DispatcherServlet с именем «диспетчер»

Я добавил эту ссылку для входа в свое приложение Spring:

<a href="<spring:url value="/j_spring_security_login" htmlEscape="true" />">
Sign In
</a>

Мое предположение состояло в том, что, поскольку это встроенный тег для доступа к странице входа, Spring будет знать, как связать его с соответствующим обработчиком, и мне не придется указывать его явно.

Однако он выдает следующую ошибку:

org.springframework.web.servlet.DispatcherServlet noHandlerFound
WARNING: No mapping found for HTTP request with URI 
[/app/j_spring_security_login] in DispatcherServlet with name 'dispatcher'

Как правильно определить обработчик для этого URL?


person apfel    schedule 15.08.2010    source источник


Ответы (2)


/j_spring_security_login — это специальный URL-адрес Spring Security, поэтому он обрабатывается фильтром Spring Security, и вам не нужно определять для него какой-либо другой обработчик. Просто убедитесь, что у вас есть правильно настроенный и сопоставленный фильтр Spring Security, как описано здесь.

person axtavt    schedule 16.08.2010

У вас есть сервлет с именем «диспетчер», который сопоставляется с DispatcherServlet в вашем файле web.xml? Если нет, то добавьте его.

Если это не так, проверьте эту запись на Весенний форум. Вы не первый человек с этой проблемой.

person duffymo    schedule 15.08.2010
comment
Да, у меня есть отображение сервлета для диспетчера в web.xml. - person apfel; 16.08.2010