回答編集履歴
1
誤字訂正
answer
CHANGED
@@ -1,4 +1,4 @@
|
|
1
1
|
簡単に言ってしまえば ```include()``` メソッドが ```out.println()``` メソッドと同等の処理を内部でやってくれているからです。そのため ```include()``` メソッドには ```response``` オブジェクトを渡してやる必要があるのです。
|
2
2
|
|
3
3
|
具体的には、
|
4
|
-
```PrintWriter out = response.getWriter();``` のコードでは ```response``` オブジェクトに書き込みを行うための ```PrintWriter``` オブジェクト(書き込み用バッファ)を取得して ```out``` という名前で参照できるようにしていますよね。そしてこの ```out``` に対して ```println()``` メソッドで書き込みを行っているわけです。```include()``` メソッドが呼び出されると、引数に ```response``` オブジェクトが渡されていると思いますが、この ```response``` オブジェクトから ```getWriter()``` メソッドで取得する ```PrintWriter``` オブジェクトは、すでに書き込みが行われている先ほどの ```out``` が参照するオブジェクトとイコールです。したがって ```include()``` メソッド内の処理ではJSPの内容をこの ```out``` に書きだしてから処理は元のメソッドに戻り、続きの書き込み(サンプル・プログラムでは</body>と<html>)を行って、最終的に完成したHTMLをクライアントに
|
4
|
+
```PrintWriter out = response.getWriter();``` のコードでは ```response``` オブジェクトに書き込みを行うための ```PrintWriter``` オブジェクト(書き込み用バッファ)を取得して ```out``` という名前で参照できるようにしていますよね。そしてこの ```out``` に対して ```println()``` メソッドで書き込みを行っているわけです。```include()``` メソッドが呼び出されると、引数に ```response``` オブジェクトが渡されていると思いますが、この ```response``` オブジェクトから ```getWriter()``` メソッドで取得する ```PrintWriter``` オブジェクトは、すでに書き込みが行われている先ほどの ```out``` が参照するオブジェクトとイコールです。したがって ```include()``` メソッド内の処理ではJSPの内容をこの ```out``` に書きだしてから処理は元のメソッドに戻り、続きの書き込み(サンプル・プログラムでは</body>と<html>)を行って、最終的に完成したHTMLをクライアントに返送するという流れになります。
|