忍者ブログ
バイオインフォマティックス技術者試験、情報処理試験など、IT系の試験を基礎から勉強します。また、Javaなどプログラミングを勉強します。

【Java】Apache Tomcat 10を導入:Java Webアプリを動かす「舞台」を整える

前回の記事でIntelliJ IDEAを導入し、Javaプログラムを動かせるようになりました。今回はさらに一歩進んで、作成したプログラムをWeb上に公開するための「Webアプリケーションサーバ」である「Apache Tomcat」の導入に挑戦します。

1. 導入:Webアプリケーションの裏側を知る

JavaでWebアプリを動かすには、ブラウザからのリクエストを受け取り、Javaプログラムを実行して結果を返す「サーブレットコンテナ」が必要です。そのデファクトスタンダードが、このApache Tomcatです。

2. Tomcat 10の準備とJavaのバージョン確認

最新のTomcat 10系は、従来のJava EEから「Jakarta EE」へと進化したモダンな仕様に対応しています。まずは、手元の環境が対応しているか確認しましょう。

[ 今回の検証環境 ]
・OS:macOS
・Java:17.0.16 (LTS)
・入手元:Apache Tomcat 公式サイト

[ ダウンロードのポイント ]
・公式サイトの「Binary Distributions」から、Mac(UNIX系)で扱いやすい zip版 または tar.gz版 を選択します。

3. 展開と「パーミッション(権限)」の壁

ダウンロードしたファイルを展開した後、Mac特有の「実行権限」の設定が必要になります。これを忘れると、スクリプトを実行しようとしても「Permission denied」と怒られてしまいます。

# binディレクトリへ移動
cd apache-tomcat-10.1.x/bin

# 起動・停止スクリプトに実行権限を付与
chmod 775 startup.sh
chmod 775 catalina.sh
chmod 775 shutdown.sh

H2 Databaseの導入時と同様に chmod を使います。起動用の startup.sh だけでなく、停止用の shutdown.sh にもあらかじめ権限を与えておくのが、スムーズな開発のコツです。

4. 起動確認:localhost:8080 への接続

いよいよサーバーを起動させます。ターミナルで以下のコマンドを叩きましょう。

./startup.sh

ブラウザで http://localhost:8080 を開き、おなじみの猫のアイコンと共に "Congratulations!" の文字が表示されれば成功です。自分のMacが「Webサーバー」として産声を上げた瞬間です。

5. 安全な停止と今後の展望

確認が終わったら、リソースを解放するためにサーバーを停止させます。

./shutdown.sh

6. まとめ

これで「データベース(H2)」「開発環境(IntelliJ)」「Webサーバー(Tomcat)」の三種の神器がすべて揃いました。次はいよいよ、これらを「連結」させて、実際に動くWebシステムを作り上げるフェーズへと探求を進めていきたいと思います!



PR

【Java Mac環境構築】IntelliJ IDEAでJava開発をスタート:JDKの選択で躓いた経験と解決策

1. 導入:なぜIntelliJ IDEAを選んだのか

プロのJavaエンジニアの間で圧倒的なシェアを誇るIDE(統合開発環境)、それが「IntelliJ IDEA」です。Eclipseなど他の選択肢もありますが、今回はその強力な補完機能とモダンな操作性を探求するため、MacにCommunity Editionを導入してみました。

2. インストールはシンプル:ドラッグ&ドロップの世界

1.公式サイトからMac用の**.dmg**ファイルをダウンロード。

2.Applicationsフォルダへドラッグ&ドロップ。 Macらしい直感的なインストールで、ここまでは順調でした。

3. プロジェクト作成と「JDK」の罠

新規プロジェクト作成時、一つの壁にぶつかりました。

発生したトラブル: すでにMacにインストールされていたJDKを指定したところ、なぜかプロジェクトのビルドがうまくいきませんでした。

解決策: 悩んだ末、IntelliJの機能にある**「Download JDK...」**から「Oracle OpenJDK」を直接ダウンロードして設定し直したところ、嘘のようにスムーズに解決しました。

プロの現場でも「環境変数」や「パス」の不一致でハマることは多いと聞きます。IDEが推奨するクリーンな設定をそのまま受け入れる柔軟さも、時には必要だと学びました。

4. Java 21以降のモダンな「Hello World」に挑戦

今回は、最新のJavaで導入された「簡易メインメソッド(Unnamed Classes and Instance Main Methods)」のスタイルを意識してコードを書きました。


【検証したコード】

Java
void main() {

    IO.println(String.format("Hello World!!"));

}

従来の public static void main(String[] args) というおまじないを省略できるこの書き方は、初心者にもプロの素早い検証にも非常に有用だと感じます。

5. 実行結果と今後の展望

実行ボタン(▶)一つでコンソールに Hello World!! と出力された瞬間、自分だけの開発環境が整った実感が湧きました。

今後は、先に導入した「H2 Database」とこの「IntelliJ」を連携させ、実際のアプリケーション開発へ一歩踏み出してみたいと思います。