@RequestMapping(value = "/login", method = RequestMethod.GET)
public ModelAndView signInPage(
@RequestParam(value = "error", required = false) String error,
@RequestParam(value = "logout", required = false) String logout)
{
ModelAndView mav = new ModelAndView();
//Initially when you hit on login url then error and logout both null
if (error != null) {
mav.addObject("error", "Invalid username and password!");
}
if (logout != null) {
mav.addObject("msg", "You've been logged out successfully.");
}
mav.setViewName("login/login.jsp");
}
Теперь, если в случае, если вход в систему стал неудачным, он снова попадет на этот URL с ошибкой, добавленной в его URL, как в файле безопасности Spring, вы устанавливаете URL ошибки.Файл безопасности Spring:
<security:form-login
authentication-failure-url="/login?error=1"
/>
Тогда ваш URL становится url/login?error=1
.Затем автоматически будет вызван метод signInPage
с некоторым значением ошибки.Теперь ошибка не равна нулю, и вы можете установить любую строку, соответствующую URL, и мы можем показать на jsp, используя следующие теги:
<c:if test="${not empty error}">
<div class="error">${error}</div>
</c:if>