シンプルサーブレット
Jakarta EE 10 には Jakarta Servlets 6.0 が含まれている。この記事ではこのJakarta Servlet API のクラスを利用した簡単なアプリを作成し、アプリケーションサーバーにデプロイする。
といってもどう始めて良いか分からないので、教材となる資料を準備。
"Java EE to Jakarta EE 10 Recipes" という本の github リポジトリ:
github.com/Apress/javaEE-to-jakartaEE10-recipes
にあるコードを参考にする。
Web モジュールの作成
下記画像のSimpleServlet ディレトリがここで作成する Web モジュールの完成形。
これをアプリケーションサーバーであるGlassFish にデプロイすることになる。
以下で作成方法について説明していく。ここではIDE もビルドマネージャーも使わず、最低限のツールのみで手動で行う。
まずは画像の通りディレクトリツリーを作成しておく。そして中に配置するソースファイルの準備に進む。
Java ソースファイルのコンパイル
SimpleServlet.java をコンパイルして SimpleServlet.class を生成する。
$ javac -cp <GlassFishのインストールパス>/glassfish/modules/jakarta.servlet-api.jar SimpleServlet.java
ソースファイルで Servlet API のクラスを使用しているので、-cp オプションでクラスパスにこのAPI のJAR ファイルを指定する必要がある。
Servlet API の JAR ファイルはインストールしたGlassFish の glassfish/modules/ ディレクトリに置かれている。ここでは GlassFish バージョン 7.0.6を使用しており、7.0.6には Jakarta EE バージョン10 のAPI が含まれる。
参考: glassfish.org/download_gf7.html
そして、Jakarta EE 10 に含まれる Servlet API はバージョン6.0 である。つまり、ここでは Jakarta Servlet API のバージョン 6.0 を使用するということ。
生成された .class ファイルをディレクトリツリーにコピーして配置する。
・SimpleServlet.java の内容(package と import 宣言)
・SimpleServlet.java の内容(SimpleServlet クラスの定義)
コードの説明は後の記事で行うつもり。(doPost メソッドの実装を省いているなど、元のコードからの改変を含む)
Web モジュールのデプロイ設定ファイル
デプロイの設定を与えるXMLファイル web.xml
基本的には資料にあるweb.xml をそのまま使用するが、スキーマの定義ファイルとバージョンを5.0 から6.0 に変更している。Jakarta EE 10 に含まれるのは Jakarta Servlet 6.0 なので、これが正しい設定ではないかと思う。
参考: jakarta.ee/xml/ns/jakartaee/#10
このファイルはモジュールディレクトリの WEB-INF/ のルートに配置する。
GlassFish サーバーにデプロイ
以前の記事で紹介したように、asadmin start-domain domain1 コマンドでドメインをスタートする。ブラウザで localhost:4848/ にアクセスし、管理画面にログイン。"Deploy an Application" ボタンをクリックする。
"Browse Folders" をクリックして、デプロイするディレクトリを選択する。Type は "Web Application" を選択、デフォルト設定のまま "OK"ボタンクリックでデプロイする。
デプロイに成功した場合はアプリケーションの名前がリストに表示される。
"Launch" をクリックするとアプリのURLリンク が表示されるので、リンクをクリック。
下記のようなアプリケーションのページが表示された。
後の記事に続く
コメント: 記事内の情報は著者が個人的に調べた範囲で理解しているものです。必要に応じて訂正する場合があります。
著者・投稿者: ENARTS05
編集履歴:
2023/9/27 作成