自宅のOS X(10.9)でStruts2をいじってみようとしたところ、入門サイト通りの手順で作成しても、ブラウザで表示した際に404 Not Found表示が出てしまいました。
当たり前なんですが、パッケージしたファイルを配備しないと作成したページにアクセス出来ません。
EclipseでTomcatプロジェクト作成すると、以下のローカルファイルとアドレスがリンクされます。
- ローカル:{PROJECT_HOME}/WEB-INF/*
- アドレス:http://localhost:8080/{PROJECT_NAME}/*
ただし、ブラウザからのアクセスで実際に閲覧しているファイルの実体は、
- ローカル:{TOMCAT_HOME}/{VERSIOIN_NO}/webapps/{PROJECT_NAME}.war/*
になります。
プロジェクトの新規作成時に「Tomcatプロジェクト」を選ぶと、配備(デプロイ)設定が自動的にされますので、プロジェクトファイルをコンパイルした際に必要ファイルをwarにパッケージして、webapps/以下に配備してくれます。
しかし、「動的Webプロジェクト」を選ぶと、この配備設定が空欄になっており、コンパイルしても配備されませんでした。
当然、存在しないファイルを見に行くので、404 Not Foundになります。
「動的Webプロジェクト」を作成した場合、プロジェクトのプロパティを開いて、
[Tomcat] > [全般]タブ > [Tomcatプロジェクト]へチェックを入れ、コンテキスト名に"/{PROJECT_NAME}"を設定します。
次いで、[WARエクスポート設定]タブ > [エクスポートするWARファイル]にwarファイルのパスを設定します。
上記画像のパスは私の環境でのパスなので、適宜置き換える必要があります。
この設定をすると、プロジェクトのコンテキストメニューに[Tomcarプロジェクト]というメニューが追加されます。
[Tomcatプロジェクト] > [プロジェクトの設定に従いWARファイルを作成]を選択すると、設定したパスに*.warファイルが出力されます。
この状態で、Tomcatを起動してからブラウザでhttp://localhost〜にアクセスするか、プロジェクトのコンテキストメニューから、[実行] > [サーバで実行]を選ぶとEclipse内にプレビュータブが表示されると思います。