지금까진 에러 페이지를 문제가 생기면 직접 컨트롤러에서 호출하게끔 공부를 했었는데, 스프링은 기본적으로 BasicErrorController를 제공한다. 여기에 웬만한 로직들이 다 구현되어 있다. 그리고 따로 설정을 해놓지 않는 이상 스프링은 기본적으로 /error라는 url로 보낸다! (이 url로 기본적인 에러도 처리하곤 함 뒤에 나옴)
아래와 같은 순서로 resources파일에 해당 오류에 대응하는 html이나 페이지를 넣어놓으면 BasicErrorController가 해당페이지를 로딩한다.

근데 프론트랑 협업할건데,,, 이걸 쓸일이 있을까…
application.properties 에 아래와 같이 추가하여 모델에 담아서 뷰에 여러가지들을 보여줄 수 있다.. 근데 그게 맞는 방식은 아닐듯..
server.error.include-exception=true
server.error.include-message=on_param
server.error.include-stacktrace=on_param
server.error.include-binding-errors=on_param
실무에서는 이것들을 노출하면 안된다! 사용자에게는 이쁜 오류 화면과 고객이 이해할 수 있는 간단한 오류 메시지를 보여주고 오류는 서버에 로그로 남겨서 로그로 확인해야 한다.*
server.error.whitelabel.enabled=true : 오류 처리 화면을 못 찾을 시, 스프링 whitelabel 오류 페이지 적용! 이게 디폴트로 켜져있어서 맨날 스프링 오류(result.sendErorr를 하지 않는이상)나면 다 웬만하면 서버에러니 그 화이트 머시기가 떳던거군!
에러 공통 처리 컨트롤러의 기능을 변경하고 싶으면 ErrorController 인터페이스를 상속 받아서 구현하거나
BasicErrorController 상속 받아서 기능을 추가하면 된다.