2016-12-03 12 views
0

私は、デフォルトのもの(Tomcat、フレームワークなし)を使って簡単なWebアプリケーションをやろうとしています。アプリケーションの起動後にサーバーにファイルを作成する適切な方法は何ですか?

私が望むのは、サーバーを起動した後、私のアプリケーションで "SetUpDataService.class"を使ってサーバーに "Sample.txt"ファイルを作成したいのです。それを行う方法はありますか?

私はマッピングなしで "SetUpServlet"を作成し、initメソッドで "SetUpDataService.class"を呼び出すと思っていますが、それは汚れて見えて間違っています。

デフォルトのものを使用するための最良の方法は何ですか? その目的のためにライブラリが存在しますか?現在JavaEEの中核的な理解を強化するために第三者のライブラリを使用していません。

PS。私はこの質問が存在するかどうかわかりません。私はちょうど正しいキーワードを見つけることができませんので、私はこの質問を投稿しました。

EDIT:データベースの初期データを作成する方法はありますか?アプローチはOKですか?

+0

なぜこのファイルが必要ですか?データベースの初期データはどういう意味ですか? – developer

+0

ファイルを作成したいだけですが、今は目的がありません。データベースの初期データについては、アプリケーションの起動後に実行されたサービスクラス(スクリプトの実行など)によって挿入されたテーブルに所定のデータを格納したいということです。 – shepard23

+0

@JBNizet - 私はちょうどそのための最良の方法、それが使われているものではないことを知りたい。私はベストプラクティスを学ぶためにそれを知りたいです。 – shepard23

答えて

1

これを実行したい場合は、以下のようにServletContextListenerを使用して達成することができます。 contextInitialized()メソッドは、起動時(つまり、servletcontextオブジェクトが作成されているとき)にコンテナによって呼び出されます。

@WebListener 
    public class MyProjectListener implements ServletContextListener { 

     @Override 
     public void contextInitialized(ServletContextEvent sce) { 
      //add your file creation code here 
     } 

     @Override 
     public void contextDestroyed(ServletContextEvent sce) { 
      //add code cleanup the resources 
     } 
    } 
+0

ありがとう、質問はちょうど知識のためだった。 「リスナー」のキーワードは馬鹿だと思った。 – shepard23

関連する問題