目次 > 第2章 Server(Web)版チュートリアル > 2.11 例外処理(業務例外) > 2.11.4 動作確認
2.11.4 動作確認
作成したWebアプリケーションを起動し、動作を確認する。
手順
アプリケーションの動作確認
- “terasoluna-spring-thin-blank\h2db\h2db_start.bat”を起動する。
- H2DBの設定については「2.2 チュートリアル学習環境の整備 (6) データベースの設定」を参照のこと。
- 「2.2 チュートリアル学習環境の整備 (5) アプリケーションの動作確認」を参照し、Tomcatを起動してブラウザでアクセスする。
- 「登録画面」に遷移し、入力チェックを満たす情報を入力し、「登録」ボタンを押下する。
- 下図の「エラー画面」に遷移することを確認する。
■ エラー画面
- コンソール画面に、以下のエラーログが出力されていることを確認する。
・・・略・・・ [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) ・・・略・・・
- 「一覧画面」に遷移し、3で入力した情報が登録されていないことを確認する。
まとめ
この節では以下のことを学習した。
- ロールバックを必要とする業務エラーは、業務例外クラスを作成し、ビジネスロジックからスローする。
- 業務例外のハンドリング設定は、Struts設定ファイルにアクションパスごとに定義する。
- 業務例外に対するトランザクションの設定は、モジュール共通のSpring設定ファイル(commonContext.xml)に記述する。