강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

lect님의 프로필 이미지
lect

작성한 질문수

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

정리

질문드립니다

작성

·

207

0

안녕하세요 질문 좀 드리겠습니다

 

1) log4j, logback 등을 사용할때 스프링 서비스 실행 중 익셉션이 발생한다면 해당 익셉션 발생 정보가 자동으로 로그파일에 남는지 궁금합니다

아니면 따로 catch 하여 log.info(e); 이런 식으로 처리를 해야 파일에 저장이 되는건가요?

 

2)

public class BoardController {

    @RequestMapping(value="/create", method=RequestMethod.POST)

    public String insertBoard(Board board) throw Exception {

        service.insertBoard(board);

        model.addAttribute("result", "성공");

        return "/board/page";

    }

}

 

2-1) service.insertBoard(board); 실행 후 정상적으로 저장이 되었는데 그 아래의 코드에서 익셉션이 발생할 경우 error 페이지로 이동하여 '오류가 발생하였습니다' 라는 화면을 리턴하게 됩니다

사용자에게 리턴되는 페이지는 에러 페이지이고 실제 서비스는 정상적으로 저장이 된 상태(트랜잭션은 서비스 단위라 롤백되지 않음)인데 이런 경우는 어쩔 수 없는 건가요? 보통 이런 경우는 신경쓰지 않는건지 궁금합니다

 

2-2)

그리고 위의 코드는 insertBoard 후에 model.addAttribute 로 모델에 결과를 담고 페이지 리턴하는 것이 전부인데

insertBoard 아래 두줄의 코드는 실행 중 익셉션이 발생할 가능성이 전혀 없는 코드라고 봐야하는건지 아니면 드물지만 발생할 수도 있다라고 생각해야하는건지 알고 싶습니다

 

감사합니다

답변 1

0

안녕하세요. lect님, 공식 서포터즈 David입니다.

1. tomcat 전체 로그에 예외 발생한 게 찍힙니다.

2. 중요한 로직이라면 롤백할 수 있는 방법을 강구해야 합니다.

3. 발생할 가능성이 거의 없습니다.

감사합니다.

lect님의 프로필 이미지
lect

작성한 질문수

질문하기