Note that the example is using two kind of scripting elements: declarations (<%! %> and scriptlets (<% %> . The Date code is part of a scriptlet block, so it will be put inside the _jspService method during translation. The other two blocks are declarations, which means they will be put outside the _jspService method. What is more, those two blocks are declaring a jspInit method, which will be run only once during servlet initilization (that's why the second time you'll see no output in the log).
I hope I made myself clear.
PS: I am copying my response from the other thread + some corrections to try to make it clearer. [ April 23, 2007: Message edited by: Sergio Tridente ]
I agree with Sergio, the answer should be E. Regarding the System.out.println, it prints to a text file inside the logs directory of the tomcat. If you are using an IDE like Netbeans, this text will appear in an output window too. [ April 23, 2007: Message edited by: Khaled Mahmoud ]