기존 시큐리티를 적용한 내 코드는 빈 값을 입력했을 경우에 405 method not allowed 에러가 뜬다.
security-context.xml에 등록한 login-processing-url의 경로에 매칭되는 컨트롤러 메서드가 없어서 그런 것이라는 건 알겠는데, 어떻게 login_check에서 시큐리티가 처리되는 지를 이해하지 못했다.
그래서 일단 유효성 검사하면 그냥 일일이 조건문을 컨트롤러에 추가하는 건데 컨트롤러가 그러면 너무 무거워져서 validator를 다시 공부했다(사실 5번 실패했다).
실패한 이유는 대략
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
요 태그 라이브러리가 validator 메세지를 띄우기 위한 필수 조건이다.
<form:form ~ 이 들어간 코드를 보고 이건 무슨 문법인가 하고 에러도 많이 냈다.
validator는 애너테이션을 사용하는 방법과 validator를 구현한 클래스를 @InitBinder에 등록해서 사용하는 방법이 있다. 나의 경우 후자만 제대로 동작했다.
Validator 에러 모음
https://zorba91.tistory.com/entry/Unable-to-find-setter-method-for-attribute-commandName-%EC%97%90%EB%9F%AC-%ED%95%B4%EA%B2%B0-1