왜 req.setAttribute("book", book)을 했는가가 의문이었는데 이건 book이라는 attribute를 어딘가에서 써야 했기 때문.
어디서 쓰는가?
req.아래에 보면 이 결과를 어디론가 dispatch하고 있음을 알 수 있다.
이 dispatcher에 bookOutput
이라는 이름을 지정해주었고(여기로 넘겨주고 있고) req랑 resp객체를 forward하고 있다.
그러니까 당연히 req에 attribute를 지정해주어야 넘길 게 있는 것이다.
bookOutput의 정체는 이것이다.
BookTest2Servlet.java
/bookOutput 경로로 서블릿을 접근하고 있음.
근데 나는 의문이 생겼다. 왜 이렇게 겹겹이 통해서 접근해야만 하는가?
BookTest1Servlet.java
이 코드에 직접적으로 print문을 넣어봤다.
forward는 주석처리.
그랬더니 잘 되는데?
다른 서블릿으로 forward한 건 이 교재에서 교육상으로 dispatch를 실행하기 위한 거였는지
더 확인해봐야 알 수 있을듯..