Interstage Application Server J2EE ユーザーズガイド
|
目次
索引

|
12.3.4.2 サンプルHelloJSPの場合
サンプルHelloJSPを例として、トレース情報の見方について説明します。
ここでは、HelloJSPを初回実行後、サーブレット・コンテナを停止した場合のトレース情報を例に説明します。以下では、日時およびスレッド名を省略しています。
1 : in com.fujitsu.jsp.HelloJSP$jsp.jspInit
2 : out com.fujitsu.jsp.HelloJSP$jsp.jspInit
3 : /sample/jsp/HelloJSP.jsp:in com.fujitsu.jsp.HelloJSP$jsp.service
4 : /sample/jsp/HelloJSP.jsp:in HttpServletResponse.setContentType(String)
5 : /sample/jsp/HelloJSP.jsp:out HttpServletResponse.setContentType(String)
・・・(略)・・・
6 : /sample/jsp/HelloJSP.jsp:in PageContext.forward(String)
7 : in com.fujitsu.jsp.HelloJSPOut$jsp.jspInit
8 : out com.fujitsu.jsp.HelloJSPOut$jsp.jspInit
9 : /sample/jsp/HelloJSPOut.jsp:in com.fujitsu.jsp.HelloJSPOut$jsp.service
10: /sample/jsp/HelloJSPOut.jsp:in HttpServletResponse.setContentType(String)
11: /sample/jsp/HelloJSPOut.jsp:out HttpServletResponse.setContentType(String)
12: /sample/jsp/HelloJSPOut.jsp:in JspFactory.getPageContext(Servlet,ServletRequest,ServletResponse,String,boolean,int,boolean)
13: /sample/jsp/HelloJSPOut.jsp:out JspFactory.getPageContext(Servlet,ServletRequest,ServletResponse,String,boolean,int,boolean)
・・・(略)・・・
14: /sample/jsp/HelloJSPOut.jsp:in JspFactory.releasePageContext(PageContext)
15: /sample/jsp/HelloJSPOut.jsp:out JspFactory.releasePageContext(PageContext)
16: /sample/jsp/HelloJSPOut.jsp:out com.fujitsu.jsp.HelloJSPOut$jsp.service
17: /sample/jsp/HelloJSP.jsp:out PageContext.forward(String)
18: /sample/jsp/HelloJSP.jsp:in JspFactory.releasePageContext(PageContext)
19: /sample/jsp/HelloJSP.jsp:out JspFactory.releasePageContext(PageContext)
20: /sample/jsp/HelloJSP.jsp:out com.fujitsu.jsp.HelloJSP$jsp.service
21: in com.fujitsu.jsp.HelloJSPOut$jsp.jspDestroy
22: out com.fujitsu.jsp.HelloJSPOut$jsp.jspDestroy
23: in com.fujitsu.jsp.HelloJSP$jsp.jspDestroy
24: out com.fujitsu.jsp.HelloJSP$jsp.jspDestroy |
なお、トレース情報中にはサーブレットに変換されたHelloJSP.jspおよびHelloJSPOut.jspのクラス名が出力されています。対応を以下に示します。
JSPファイル名 |
Javaソースファイル格納ディレクトリ |
Javaソースファイル名 |
クラス名 |
HelloJSP.jsp |

C:\INTERSTAGE\F3FMjs2\work\sample\localhost\<サーブレット・コンテナのポート番号>\sample\jsp
 
/opt/FJSVjs2/work/sample/localhost/<サーブレット・コンテナのポート番号>/sample/jsp
|
HelloJSP$jsp.java |
com.fujitsu.jsp.HelloJSP$jsp |
HelloJSPOut.jsp |
HelloJSPOut$jsp.java |
com.fujitsu.jsp.HelloJSPOut$jsp |
■jspInit,service,jspDestroyメソッドの呼び出しと復帰 1〜3,7〜9,16,22〜26行目
“in"はメソッドの呼び出しを“out"は復帰を表しています。
上の例では正常に処理が行われているため、jspInit,service,jspDestroyともに“in"と“out"が対になって出力されています。
引数および戻り値の情報の出力が有効に設定してある場合、serviveの呼び出し時にリクエストの各種情報が出力されます。これにより、リクエストに設定されてきた情報を確認することができます。
■初期化(jspInitメソッド) 1,2,7,8行目
HelloJSP.jspおよびHelloJSPOut.jspではjspInitは定義していないため、jspInit中の情報は出力されていません。
■サービス(serviceメソッド) 3〜6,9〜22行目
各メソッドとも、呼び出し後正常に復帰しているため、“in"と“out"が対になって出力されています。
ただし、3行目の(サーブレットに変換された)HelloJSPのserviceの呼び出しと、対になる22行目の復帰との間に入れ子状にHelloJSPOutのjspInitおよびserviceのトレース情報が出力されています。これはforwardメソッド(6行目)によりHelloJSPOutに制御が移ったためです。HelloJSPOutのサービスの終了後、forwardメソッドから復帰(17行目)し、HelloJSPのサービスの処理が続けられています。
引数および戻り値の情報の出力が有効に設定してある場合、トレース情報は以下のように出力されます。
例:トレース情報
10,11行目 HelloJSPOut$jsp.java
56行目 (日時およびスレッド名は省略)
/sample/jsp/HelloJSPOut.jsp:in HttpServletResponse.setContentType(String):PARAM:(String):length=28:value="text/html; charset=Shift_JIS" HEXvalue=[0074 0065 0078 0074 002f 0068 0074 006d 006c 003b 0020 0063 0068 0061 0072 0073 0065 0074 003d 0053 0068 0069 0066 0074 005f 004a 0049 0053 ]
/sample/jsp/HelloJSPOut.jsp:out HttpServletResponse.setContentType(String):RET void |
引数のStringの長さ(length)、文字列 (value)、コード値(HEXvalue)が出力されています。
この情報より、アプリケーション(HelloJSPOut.jsp)でリクエストの文字コードにShift_JISを指定していることなどがわかります。
■終了処理(jspDestroyメソッド) 23〜26行目
HelloJSP.jspおよびHelloJSPOut.jspではjspDestroyメソッドは定義していないため、jspDestroy中の情報は出力されていません。
All Rights Reserved, Copyright (C) 富士通株式会社 2006