読者です 読者をやめる 読者になる 読者になる

Code Log

プログラミングの勉強メモを残していきます。

Tomcatの開発で迷ったら振り返りたい、Java EEの標準ディレクトリ構成


<スポンサーリンク>

JavaでWebアプリケーションを開発するには、何よりもまず、「Java EE標準ディレクトリ構成」を学ばなければいけない。 Java EEの仕様で、WebコンテナにWebアプリケーションを配置する際は、決められたディレクトリ体系がある。

それが何もわかっていなかった頃、「Javaの道」みたいなサイトを見ながら、結局404エラーが出て「hello world」も表示できないような状況に陥っていた。 まず、ディレクトリ体系。

それがわからないと、簡単なHTMLを表示することすらできない。

tomcatで開発するときには、「webapps」というディレクトリに下に、開発する物件を格納していく。

このwebapps直下のディレクトリのことを、「コンテキストルート」という。

webapps/コンテキストルート/・・・ のように、まず、webappsの下にコンテキストルートを置く。

さらにややこしいことに、eclipseに内包されたtomcatで開発するときは、このwebapps以下のコンテキストルートの位置が、ワークスペースを見るように設定されている。

こんな風に。

<Context path="/sampleweb" reloadable="true" docBase="C:\eclipse\pleiades\eclipse\workspace_mine\sampleweb" workDir="C:\eclipse\pleiades\eclipse\workspace_mine\sampleweb\work" />

ここで、コンテキストルートの実態は「C:\eclipse\pleiades\eclipse\workspace_mine\sampleweb」にあるよ、と定義しているわけだ。

そいで、そのコンテキストルートの直下に置かなければいけないのが「WEB-INF」というディレクトリだ。 必ず、半角小文字で「WEB-INF」としなければならない。

コンテキストルート\WEB-INF以下に置くのがweb.xmlファイルで、ここにはサーブレットとURLの関連付けなどの定義を行う。

web.xmlファイルは名前も置き場所も厳密に決まっているので、注意が必要だ。 初心者はだいたいここでつまづくものだと思っている。

コンテキストルートがあって、その直下にWEB-INFがある。 WEB-INFの直下にweb.xmlを置いて、そのweb.xmlにサーブレットとURLの関連付けなどを定義する。

まずは、これだけ覚えておこう。

次は、実際にサーブレットを作ってみる。

基礎からのサーブレット/JSP 第3版 (基礎からのシリーズ)

基礎からのサーブレット/JSP 第3版 (基礎からのシリーズ)