Spring Framework
Spring Framework_ 에러 발생시 특정 controller 요청으로 보내는 설정
꾸주니12
2022. 5. 28. 17:31
<특정 에러 발생시 뷰에 표시하지 않고, 숨기는 방법>
- web.xml 에 설정 추가(한글깨짐 방지 코드 밑에)
<!-- 특정한 에러 발생시 특정 controller 요청으로 보내는 설정 -->
<!-- 특정 코드를 이용한 방법 -->
<error-page>
<error-code>500</error-code>
<location>/error/500</location>
</error-page>
<error-page>
<error-code>404</error-code>
<location>/error/404</location>
</error-page>
<!-- 특정한 Exception 을 이용한 방법 -->
<error-page>
<exception-type>java.io.IOException</exception-type>
<location>/error/IOException</location>
</error-page>
2. Controller에 해당 요청에 대한 메서드 추가
@RequestMapping(value = "/error/404")
public String notFound(Model model) {
model.addAttribute("msg", "원하시는 요청 또는 페이지가 없습니다.");
return "error";
}
@RequestMapping(value = "/error/500")
public String serverError(Model model) {
model.addAttribute("msg", "서버에서 처리중 문제가 발생했습니다.");
return "error";
}
@RequestMapping(value = "/error/IOException")
public String ioException(Model model) {
model.addAttribute("msg", "데이터 입출력중 문제가 발생했습니다.");
return "error";
}
에러가 나면 뷰에 에러난 코드가 공개된다. 사용자에 노출되면 안되니까 특정에러 발생시 메세지를 보여주고, 에러 처리하기
<에러>
400 마땅한 파라메터 값이 없음
404 페이지가 없거나 요청이 없거나
405 get ,post 방식이 틀렸을 때 나오는 에러