punkyguy
223
2018-11-20 16:38:11 작성 2018-11-20 17:44:59 수정됨
2
304

sendRedirect 함수 실행 후


안녕하세요. 


public boolean prehandle(... , HttpResponseServlet response, ...) {
...
  response.sendRedirect("/main");
  return true;
}

위 코드를 보시면

prehandle 메소드의 리턴 타입은 boolean이라고 명시돼 있습니다.

여기서 질문이 있습니다.

sendRedirect 메소드가 실행돼서 클라이언트 측 페이지가 전환이 되더라도

다음줄의 return true 문이 정상 실행될 수 있나요?

또, return이 아닌 다른 자바 코드를 작성해도 실행될 수 있는지요?


다음은 Servlet API에서 HttpServletResponse 클래스의 sendRedirect 메소드 관련 설명인데,

해석이 좀 헷갈리는 것 같습니다.

If the response has already been committed, this method throws an IllegalStateException. After using this method, the response should be considered to be committed and should not be written to.


읽어주셔서 감사드립니다. ^^

0
0
  • 답변 2

  • 포기해..
    768
    2018-11-20 16:53:59

    response.sendRedirect("/main");

    이후 코드도 실행이 됩니다.

    그래서 이후 실행을 막기 위해 페이지를 우회 시킨뒤

    return false; 를 사용해서 그 부분 까지만 실행 해라라고 해야 됩니다.

    1
  • punkyguy
    223
    2018-11-20 17:43:12

    포기해..님
    명쾌한 답변 감사드립니다 ^^

    0
  • 로그인을 하시면 답변을 등록할 수 있습니다.