해결된 질문
작성
·
382
0
제가 localhost:8080/username=안녕% 과 같이 강제로 400 bad request를 보냈는데 이때 스프링에서 자동제공하는 400 에러 페이지가 나옵니다. 근데 이럴 경우에 제가 templates/error/400.html에 만들어놓은 에러페이지가 나와야되는게 아닌가요?
답변 1
0
안녕하세요. adqweq님
전체 프로젝트를 압축해서 구글 드라이브로 공유해서 링크를 남겨주세요.
구글 드라이브 업로드 방법은 다음을 참고해주세요.
주의: 업로드시 링크에 있는 권한 문제 꼭 확인해주세요
추가로 다음 내용도 코멘트 부탁드립니다.
1. 실행 방법을 알려주세요.
2. 어떻게 문제를 확인할 수 있는지 자세한 설명을 남겨주세요.
감사합니다.
안녕하세요. adqweq님
이 문제는 중간에 %가 들어가면서 URL 인식을 웹서버가 잘못한 것 같습니다.
다른 경로의 경우 404로 잘 나오는 것을 확인할 수 있습니다.
%일때 왜 이런 문제가 발생하는지는 저도 정확히 모르겠습니다. 혹시 아시는 분 있으면 답변 부탁드려요.
감사합니다.
https://drive.google.com/file/d/1L101Q3dUkns0dzucA4NKBiaCqZV-Ujgl/view?usp=sharing
제가 이해하기로는 에러가 발생할 경우 basicErrorController가 자동으로 Http상태코드를 읽어서 만약 404에러가 발생하면 /error/404로, 400에러가 발생할 경우 /error/400으로 매핑해주는 것으로 이해했습니다. 근데 제가 localhost:8080/username=안녕%과 같이 400에러를 발생시켰을 경우 제가 설정한 400에러 페이지가 아닌 기본 HTTP Status 400 - Bad Request 화면이 나옵니다.