getRequestDispatcher().forward() 이후 IllegalStateException 에 대하여

By | 4월 4, 2012

실험적으로 얻은 지식에 의하면,

getRequestDispatcher().forward() 가 실행되어도, 바로 그 시점에 리턴되는 것이 아니라
forward() 작업과는 비동기적으로, 그 이후의 코드도 끝까지 실행되는 것으로 보인다.

그런데 문제는 그 이후의 코드에서 response를 write 하는 등의 코드가 존재하면
IllegalStateException 이 발생한다는 것이다.

그러므로 getRequestDispatcher().forward() 이후에 return 을 붙이는 것이, 
안전하면서도 내가 원하는 결과를 얻을 수 있는 패턴이라는 생각이 든다.

* 참고링크
   
   http://www.xyzws.com/Servletfaq/does-the-requestdispatcherforward-include-method-return/15
   http://www.coderanch.com/t/360595/Servlets/java/RequestDispatcher-forward-method-returns-asynchronously

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments