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

|
12.3.4.1 サンプルHelloServletの場合
サンプルHelloServletを例として、トレース情報の見方について説明します。
ここでは、HelloServletを初回呼び出し後、サーブレット・コンテナを停止した場合のトレース情報を例に説明します。以下では、日時およびスレッド名を省略しています。
1 : in HelloServlet.init
2 : @init:in ServletConfig.getServletContext()
3 : @init:out ServletConfig.getServletContext()
4 : @init:in ServletConfig.getServletName()
5 : @init:out ServletConfig.getServletName()
6 : @init:in ServletContext.log(String)
7 : @init:out ServletContext.log(String)
8 : out HelloServlet.init
9 : /sample/servlet/HelloServlet:in HelloServlet.service
10: /sample/servlet/HelloServlet:in HttpServletRequest.getSession(boolean)
11: /sample/servlet/HelloServlet:out HttpServletRequest.getSession(boolean)
12: /sample/servlet/HelloServlet:in HttpServletRequest.getParameter(String)
13: /sample/servlet/HelloServlet:out HttpServletRequest.getParameter(String)
14: /sample/servlet/HelloServlet:in HttpServletResponse.setContentType(String)
15: /sample/servlet/HelloServlet:out HttpServletResponse.setContentType(String)
16: /sample/servlet/HelloServlet:in HttpServletResponse.setHeader(String,String)
17: /sample/servlet/HelloServlet:out HttpServletResponse.setHeader(String,String)
18: /sample/servlet/HelloServlet:in HttpServletResponse.setHeader(String,String)
19: /sample/servlet/HelloServlet:out HttpServletResponse.setHeader(String,String)
20: /sample/servlet/HelloServlet:in HttpServletResponse.setDateHeader(String,long)
21: /sample/servlet/HelloServlet:out HttpServletResponse.setDateHeader(String,long)
22: /sample/servlet/HelloServlet:in HttpServletResponse.getWriter()
23: /sample/servlet/HelloServlet:out HttpServletResponse.getWriter()
24: /sample/servlet/HelloServlet:in PrintWriter.println(String)
25: /sample/servlet/HelloServlet:out PrintWriter.println(String)
・・・(略)・・・
26: /sample/servlet/HelloServlet:in PrintWriter.println(String)
27: /sample/servlet/HelloServlet:out PrintWriter.println(String)
28: /sample/servlet/HelloServlet:out HelloServlet.service
29: in HelloServlet.destroy
30: out HelloServlet.destroy |
■init,service,destroyメソッドの呼び出しと復帰 1,8,9,28,29,30行目
“in"は、メソッドの呼び出しを“out"は復帰を表しています。
上の例では正常に処理が行われているため、init,service,destroyともに“in"と“out"が対になって出力されています。
引数および戻り値の情報の出力が有効に設定してある場合、serviveの呼び出し時にリクエストの各種情報が出力されます。これにより、リクエストに設定されてきた情報を確認することができます。
■初期化(initメソッド) 1〜8行目
HttpServletクラスが実装または継承しているメソッドについては、呼び出したメソッドではなく、呼び出したメソッドの内部で呼び出されるメソッドの情報が出力される場合があります。
サンプルHelloServletでは、initメソッド内の処理は以下になっています。
super.init(config)
そのため、対象外のメソッドから呼ばれる対象メソッドの“init(ServletConfig)"で示されているメソッドのトレース情報が出力されています。
またinitメソッドの実行中であるため、2〜7行目はURIではなく、“@init"が出力されています。
■サービス(serviceメソッド) 9〜28行目
各メソッドとも、呼び出し後正常に復帰しているため、”in"と"out"が対になって出力されています。
引数および戻り値の情報の出力が有効に設定してある場合、トレース情報は以下のように出力されます。
例:トレース情報
12,13行目 (HelloServletParameter.java 130行目) 名前の入力画面で
"Fujitsu"と入力した場合(日時およびスレッド名は省略)
/sample/servlet/HelloServlet:in HttpServletRequest.getParameter(String):PARAM:(String):length=5:value="text1" HEXvalue=[0074 0065 0078 0074 0031 ]
/sample/servlet/HelloServlet:out HttpServletRequest.getParameter(String):RET :(String):length=7:value="Fujitsu" HEXvalue=[0046 0075 006a 0069 0074 0073 0075 ] |
引数のStringと戻り値のStringの長さ(length)、文字列 (value)、コード値(HEXvalue)がそれぞれ出力されています。
■終了処理(destroyメソッド) 29,30行目
サーブレット・コンテナの停止時に呼び出されるdestroyメソッドのトレース情報です。
HelloServletのdestroyメソッドでは処理を行っていないため、destroy中のトレース情報は出力されていません。
destroyメソッドが実装されていない場合には、対象外のメソッドから呼ばれる対象メソッドの"destroy()"で示されているメソッドのトレース情報が出力されます。
All Rights Reserved, Copyright (C) 富士通株式会社 2006