2011-09-15 15 views
0

JSPがすでにコンパイルされているかどうかを確認することはできますか?のは、私が何かやっているとしましょう:既にコンパイルされたJSPのデータ準備を避ける

read database 
read an xml file 
call a webservice 
show data from all of above in JSP 

をしかし、私は最初の3を毎回行うにはしたくない、私がしたい:

if (not already compiled JSP or data is out of date) 
{ 
    read database 
    read an xml file 
    call a webservice 
} 
show data in JSP 

これは、ライブラリ等を行うことは簡単だろうFreemarkerでは、どのようにJSPでキャッシュが動作するのかわからないのですか?

EDIT:JSPにキャッシュが組み込まれているので、「10時間後にJSPを再生成する」というように、参照できるようにしています。一部のデータがモデルで変更されるとキャッシュエントリを削除して、JSPが再生成されるようにします。 JSPがコンパイルされているかどうか

答えて

1

それは、データベースを読み込むxmlファイルを読んだり、Webサービスを呼び出すために、適切なのかどうかとは関係ありません。

コンパイルは実行とは完全に別です。これらの決定は実行時に適切です。

Webアプリケーションを実行しているWebコンテナは、JSPがコンパイルされているかどうかを検出し、ソースがコンパイルされたバージョンよりも現在のであれば、それを再コンパイルすることができます。しかし、それがどのように行われているかはコンテナによって異なり、コード自体では簡単には行えません。

JSP自体が変更され、コンテナがこの必要性を検出しない限り、JSPを再コンパイルする必要はありません。私は予定された再生の仕組みを持っているものは知らない。

あなたの編集では、自動的には提供されないが、ehcacheなどを含めることで有効にできるデータキャッシングが実際の問題と思われるようです。

+0

こんにちは、答えをありがとう。私は質問をひどく言いました。コンパイルを明示的に使用したいのではなく、JSPにキャッシュメカニズムが組み込まれているかどうかを本当に尋ねていました。私は私の質問を修正しました。 –

関連する問題