目次 > 第2章 Server(Web)版チュートリアル >  2.11 例外処理(業務例外) > 2.11.4 動作確認

2.11.4 動作確認

作成したWebアプリケーションを起動し、動作を確認する。

手順

アプリケーションの動作確認

  1. “terasoluna-spring-thin-blank\h2db\h2db_start.bat”を起動する。
  2. 2.2 チュートリアル学習環境の整備 (5) アプリケーションの動作確認」を参照し、Tomcatを起動してブラウザでアクセスする。
  3. 「登録画面」に遷移し、入力チェックを満たす情報を入力し、「登録」ボタンを押下する。



  4. 下図の「エラー画面」に遷移することを確認する。

    エラー画面


  5. コンソール画面に、以下のエラーログが出力されていることを確認する。
    ・・・略・・・
    [2009/XX/XX XX:XX:XX][ERROR][DefaultExceptionHandler] 例外ハンドラが例外を検知しました
    jp.terasoluna.thin.tutorial.web.usermanager.exception.InsertException
    	at jp.terasoluna.thin.tutorial.web.usermanager.blogic.InsertBLogic.execute(InsertBLogic.java:64)
    	at jp.terasoluna.thin.tutorial.web.usermanager.blogic.InsertBLogic.execute(InsertBLogic.java:1)
    	at jp.terasoluna.fw.web.struts.actions.BLogicAction.doExecuteBLogic(BLogicAction.java:137)
    	at jp.terasoluna.fw.web.struts.actions.AbstractBLogicAction.doExecute(AbstractBLogicAction.java:263)
    	at jp.terasoluna.fw.web.struts.actions.ActionEx.execute(ActionEx.java:220)
    	at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
    	at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
    	at jp.terasoluna.fw.web.struts.action.RequestProcessorEx.process(RequestProcessorEx.java:149)
    	at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
    	at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
    	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
    	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
    	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
    	at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
    	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
    	at java.lang.Thread.run(Thread.java:595)
        ・・・略・・・
    
  6. 「一覧画面」に遷移し、3で入力した情報が登録されていないことを確認する。

まとめ

この節では以下のことを学習した。

  • ロールバックを必要とする業務エラーは、業務例外クラスを作成し、ビジネスロジックからスローする。
  • 業務例外のハンドリング設定は、Struts設定ファイルにアクションパスごとに定義する。
  • 業務例外に対するトランザクションの設定は、モジュール共通のSpring設定ファイル(commonContext.xml)に記述する。

次節:2.12 アクセス制御

Copyright (C) 2009 NTT DATA CORPORATION