Interstage Application Server/Interstage Web Server トラブルシューティング集 |
目次
索引
![]() ![]() |
第8章 J2EEアプリケーション開発・運用時の異常 | > 8.14 Javaアプリケーションのメソッドトレースの採取 |
以下のJSPを例として、トレース情報の見方を説明します。
*********************************************************************************** 1 : <%@ page contentType="text/html; charset=Shift_JIS" %> 2 : <HTML> 3 : <HEAD> 4 : <META http-equiv="Content-Type" content="text/html; charset=shift_jis"> 5 : <TITLE>HelloJSP</TITLE> 6 : </HEAD> 7 : <BODY> 8 : <H1>HelloJSP</H1> 9 : <FORM method=post > 10 : <INPUT name="param" size="30"> 11 : <INPUT type="submit" value="Submit"> 12 : <INPUT type="reset" value="Reset"> 13 : </FORM> 14 : <P> 15 : <% 16 : String param=request.getParameter("param"); 17 : if(param==null) 18 : param=""; 19 : String encParam=new String(param.getBytes("8859_1"),"Shift_JIS"); 20 : %> 21 : 入力データ:<%=encParam%> 22 : </BODY> 23 : </HTML> ***********************************************************************************
上記JSPを呼び出した場合、以下のトレース情報が出力されます。日時、スレッド名および16進出力は、省略しています。また、表示の関係上、改行している箇所があるため、実際の出力形式とは若干の違いがあります。
*********************************************************************************** ・・・(略)・・・ 1: in, org.apache.catalina.connector.RequestFacade, getServletPath, PARAM: 2: out, org.apache.catalina.connector.RequestFacade, getServletPath, RET:(String):/HelloJSP.jsp 3: in, org.apache.catalina.connector.RequestFacade, getPathInfo, PARAM: 4: out, org.apache.catalina.connector.RequestFacade, getPathInfo, RET:(String):[] 5: in, org.apache.catalina.connector.RequestFacade, getQueryString, PARAM: 6: out, org.apache.catalina.connector.RequestFacade, getQueryString, RET:(String):[] 7: in, org.apache.jsp.HelloJSP_jsp, _jspService, PARAM:(RequestFacade):org.apache.catalina.connector.RequestFacade@15ede11: (ResponseFacade):org.apache.catalina.connector.ResponseFacade@1455cf4 8: in, org.apache.catalina.connector.ResponseFacade, setContentType, PARAM:(String):text/html; charset=Shift_JIS 9: in, org.apache.catalina.connector.ResponseFacade, isCommitted, PARAM: 10: out, org.apache.catalina.connector.ResponseFacade, isCommitted, RET:(boolean):false 11: out, org.apache.catalina.connector.ResponseFacade, setContentType, RET:void ・・・(略)・・・ 12: in, org.apache.jasper.runtime.JspWriterImpl, write, PARAM:(String): <HTML> ・・・(略)・・・ <P> 13: in, org.apache.jasper.runtime.JspWriterImpl, write, PARAM:(String): <HTML> ・・・(略)・・・ <P> :(int):0:(int):293 14: in, org.apache.jasper.runtime.JspWriterImpl, ensureOpen, PARAM: 15: out, org.apache.jasper.runtime.JspWriterImpl, ensureOpen, RET:void 16: in, org.apache.jasper.runtime.JspWriterImpl, min, PARAM:(int):8192:(int):293 17: out, org.apache.jasper.runtime.JspWriterImpl, min, RET:(int):293 18: out, org.apache.jasper.runtime.JspWriterImpl, write, RET:void 19: out, org.apache.jasper.runtime.JspWriterImpl, write, RET:void 20: in, org.apache.catalina.connector.RequestFacade, getParameter, PARAM:(String):param ・・・(略)・・・ 21: out, org.apache.catalina.connector.RequestFacade, getParameter, RET:(String):FUJITSU ・・・(略)・・・ 22: out, org.apache.jsp.HelloJSP_jsp, _jspService, RET:void 23: in, org.apache.catalina.connector.RequestFacade, getAttribute, PARAM:(String):javax.servlet.include.context_path 24: out, org.apache.catalina.connector.RequestFacade, getAttribute, RET:(Object):[] ・・・(略)・・・ 25: in, org.apache.catalina.connector.RequestFacade, getServletPath, PARAM: 26: out, org.apache.catalina.connector.RequestFacade, getServletPath, RET:(String):/HelloJSP.jsp 27: in, org.apache.catalina.core.StandardWrapperFacade, getServletName, PARAM: 28: out, org.apache.catalina.core.StandardWrapperFacade, getServletName, RET:(String):jsp 29: in, org.apache.catalina.connector.CoyoteWriter, recycle, PARAM: 30: out, org.apache.catalina.connector.CoyoteWriter, recycle, RET:void ***********************************************************************************
HelloJSP.jspの呼び出しに先立ち、HttpServletRequest、HttpServletResponseの実装クラスが作成されていることがわかります。
HelloJSP.jspがjspInitメソッドを実装している場合は、初回呼び出し時に、リクエスト前処理に先立ち、jspInitメソッドの呼び出しが出力されます。
各メソッドとも、呼び出し後、正常復帰しているため、“in”と“out”が対になって出力されています。
JSPコード1行目のpageディレクティブの処理が、トレース情報8行目のsetContentTypeメソッド呼び出しになっています。
JSPコード2〜14行目のHTMLタグからPタグまでの出力が、トレース情報12行目のwriteメソッド呼び出しになっています。
JSPコード16行目のパラメタ情報取り出し処理が、トレース情報20行目のgetParameterメソッド呼び出しになっています。
_jspServiceメソッドが復帰した後で、各種後処理が行われていることがわかります。
HelloJSP.jspでjspDestroyメソッドを実装している場合は、IJServer停止時にこのメソッドが呼び出されます。
目次
索引
![]() ![]() |