最初に
下でごちゃごちゃ書いてますが、ここで言ってることは2点です。
・TomcatとJavaのバージョンをしっかり合わせる
・ファイル名はURLに反映されるのでコンテキストパスでファイル名を設定
そんなこと知っとるわ!!って人はブラウザバックしてくださいm(_ _"m)
Tomcatのデプロイ
TomcatのTOPページで、
ManagerAPPを押下して作ったwarを配備するだけ。なんて簡単なんだ・・・・。
※ManagerAPPのIDやパスワードの設定、warの作り方やPOMの書き方なんかは他の方の記事があるので割愛します。
ここ押して
ここでwarを選択して配備押すだけ。
特別なことは何もしてません。ホントにこれだけです。
ターミナルでTomcatのwebappディレクトリにアプリ置いて~ってやらなくても視覚的に分かりやすいので便利ですね。
対応しているバージョンか気を付ける
必ず自分のアプリのJavaバージョンとTomcatのバージョンが対応しているか確認してください。
本番環境でデプロイするときはインストールしているJVMのバージョンが対応しているかも確認してください。(私もこれで嵌りました。)
・プロジェクトが適応しているJavaバージョンの確認
プロジェクトの上で右クリックしてプロパティを開く
画像で〇してるところが適応しているJavaバージョンです。
この場合はJava11ということですね。
※1:現在のJVMのバージョンの確認・Tomcatのバージョンの確認は別の記事でたくさん書かれているので調べてください。
※2:どのTomcatとJVMが対応しているかが分からない場合はBingなどのチャットAIに聞くのも手かと思います。下手にサイトで調べるよりは正確で早い回答をくれます。
URLの罠
Tomcatでデプロイした場合WarのファイルネームがURLに含まれます。
URLにファイルネームとMappingを手打ちすれば良いんじゃないの?
とは行きません。何かボタンを押したときやページに遷移する場合は動的に設定したMappingが反映されるからです。
例:ローカルでファイルがcom-0.0.1-SNAPSHOT.warとした場合
Controller側で一つ一つRequestMappingなんかで設定する方法もありますがもっと簡単な方法があります。
application.propertiesファイルにコンテキストパスを設定する
見出し通りですね。以下書き方
application.propertiesに
#Context path
server.servlet.context-path=/【ファイル名】
と追記するだけです。
ファイルがcom-0.0.1-SNAPSHOT.warとした場合
#Context path
server.servlet.context-path=/com-0.0.1-SNAPSHOT
となります。これだけでURLにファイル名が動的に付くようになります。
以上TomcatのManagerAPPでWEBアプリをデプロイする時に気を付けることでした。
もしこれは違う!!って思った方はご意見くださいm(_ _"m)