JSPの基礎知識 |
|
多くのJSPコンテナは、JSPファイルの更新を検知し、次回実行時にJSPファイルを再コンパイルして実行するリロード機能を備えています。
リロード機能は、開発時にいちいちコンテナを再起動する手間が省けるため、非常に便利で欠かすことのできない機能ですが、まれにJSPのリロードが行われなくなったり、コンテナを再起動しても変更が反映されなかったりする場合があります。
そもそも、JSPの動作原理は、JSPコンテナがJSPファイルをサーブレットのソースに変換し、サーブレットのソースをコンパイルしたものが実行されるというものです(参照:JSPの動作原理を教えてください)。
リロードの際には、変換されたサーブレットと元のJSPファイルを比較して、更新されていれば、「再度変換」→「コンパイル」を行い変更を反映させています。
もしリロード機能がうまく動作しなかった場合には、変換後のサーブレットとの比較がなんらかの原因でうまくできていないことが考えられます。その場合、変換後のサーブレットのファイルを削除してからコンテナを再起動することで、そのJSPを初めて実行すると見なされ、必ずサーブレットへの変換が行われます。
例えば、Tomcatの場合(C:\tomcatにインストールしたと仮定します)、C:\tomcat\work下にWebアプリケーションごとのディレクトリができており、さらに各ディレクトリ内にJSPを変換してできたサーブレットのソースファイルとクラスファイルが格納されています(ほかのミドルウェアでは、格納場所は異なります)。
「Java Solution FAQ」 |
Java Agile フォーラム 新着記事
- 実運用の障害対応時間比較に見る、ログ管理基盤の効果 (2017/5/9)
ログ基盤の構築方法や利用方法、実際の案件で使ったときの事例などを紹介する連載。今回は、実案件を事例とし、ログ管理基盤の有用性を、障害対応時間比較も交えて紹介 - Chatwork、LINE、Netflixが進めるリアクティブシステムとは何か (2017/4/27)
「リアクティブ」に関連する幾つかの用語について解説し、リアクティブシステムを実現するためのライブラリを紹介します - Fluentd+Elasticsearch+Kibanaで作るログ基盤の概要と構築方法 (2017/4/6)
ログ基盤を実現するFluentd+Elasticsearch+Kibanaについて、構築方法や利用方法、実際の案件で使ったときの事例などを紹介する連載。初回は、ログ基盤の構築、利用方法について - プログラミングとビルド、Androidアプリ開発、Javaの基礎知識 (2017/4/3)
初心者が、Java言語を使ったAndroidのスマホアプリ開発を通じてプログラミングとは何かを学ぶ連載。初回は、プログラミングとビルド、Androidアプリ開発、Javaに関する基礎知識を解説する。
|
|