Inflearn Community Q&A
오류페이지 404 화면 안나옴
Written on
·
251
0
package hello.exception.servlet;
import jakarta.servlet.http.HttpServletResponse;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import java.io.IOException;
@Slf4j
@Controller
public class ServletExController {
@GetMapping("/error-ex")
public void errorEx() {
throw new RuntimeException("예외발생");
}
@GetMapping("/error-404")
public void send404Error(HttpServletResponse response) throws IOException {
response.setStatus(404); // 상태 코드 설정
response.getWriter().write("404 오류 발생");
}
@GetMapping("/error-500")
public void send500Error(HttpServletResponse response) throws IOException {
response.setStatus(500); // 상태 코드 설정
response.getWriter().write("500 오류 발생");
}
}

이렇게 400오류일 때 페이지를 설정해도 error-404로 들어가면 오류가 발생하고 error-400에 들어가면 404 화면이 나옵니다.




application.properties는 이렇게 구성되어있고, html파일은 수업 자료 코드 그대로 가져왔습니다.
확인 한번 해주시면 감사하겠습니다.
springmvc
Answer 2
1
jsh43606471
Questioner
네 질문작성하고 addErrorPage()에 errorPage400를 추가하지 않은것을 발견해 해당코드를 추가한 뒤에 404페이지 열어보아도 여전히 '404 ?? ??'가 떠요. 확인해야 될 다른 코드가 있을까요?






아 제가 질문을 잘못 이해했습니다. 죄송합니다
말씀하신 것과 캡처본을 종합해봤을 때 /error-404 url을 호출했을 때 강의 화면과 다른 화면이 뜨는 것이 문제로 보입니다.
제가 전에 말씀드린 errorPage400을 추가하는 것은 문제 해결에 도움이 되지 않습니다!
잘못된 답변을 드려 죄송합니다.
그보다는 기존 ServletExController 수정과 ErrorPageController를 강의와 똑같이 구현해주시는 게 중요합니다.
예를 들어 지금 ServletExController 에서 해주신 구현은 response.getWriter().write()를 통해 응답을 그대로 조작해버리기 때문에 강의화면과 다릅니다!
ServletExController에서는 강의와 같이 response.sendError() 만 해주시고, ErrorPageController를 추가해주십쇼!