質問: Intellij IDE で Gradle を使用して開発をしたいと思っています。 Java Servlet で RESTful な WebAPI として実装し、最終的にはAWS等で動作する WebAPI を目指しています。 再生マークをクリックすると自動生成された JSP ファイル(index.jsp)と作成した Java Servlet がしっかりと動作しました。 ですが、Tomcatの準備 の Deployment タブの Artifact で「.war (exploded)」では上記のように動作するのですが、「.war」を選択し実行すると Tomcat のデフォルトページが表示され(index.jsp が出ない)、サーブレットのURLでは 404 となってしまいます。 参考にしているサイトでは「.war」を選択し、実行できているようですが... ![イメージ説明](https://teratail.storage.googleapis.com/uploads/contributed_images/2d3c426349dbe11f54e52ce6ad7c3999.png) Tomcat 9.0/webapps に * docs * manager * ROOT しか存在せず、Intellij で作成した.warやその展開されたディレクトリが存在しない(けどexplodedで動いてる)ことも不思議です。 ### 知りたいこと * .war(exploded) で動作し、.war で動かない理由 * 完成品は war ファイルという認識で合っているのかどうか。 参考にしているサイト: ※記事内の SDK バージョンを 10 にする作業が Gradle などでエラーが発生していたので、省いて初期の1.8を使用してます。
回答: 下段の「エラー: Duplicate Context Path /」が出ないように「アプリケーション・コンテキスト」を別にするか、explodedの方を削除して下さい。 また、webappsはTomcatの起動時に適当な作業ディレクトリに作成されます。