0
1

More than 1 year has passed since last update.

サーブレットの作成

Posted at

はじめに

こんばんわ、きりです。
本記事はNablarchを使ってみようのサブ記事として作成しております。

前回はMavenのアーキタイプより基本的なWebアプリケーションを作成しました。

今回は、簡単なサーブレットを作成してみたいと思います。

本記事は、前回で作成したプロジェクトを使用しますので、プロジェクトをまだ作成していない場合は、まずは前回の記事を御覧ください。

本記事以外のコンテンツはこちらから閲覧可能です。

なるべく、初心者目線で作成するつもりですが、分かりづらい部分ありましたら、コメント頂きたいです。

動作環境

種類 バージョン
OS Windows Professional 20H2
Eclipse 2022 Full Edition

※Eclipseのダウンロードについては、こちらの記事をご確認ください。

サーブレットとは

サーブレットはJavaで作成されたウェブコンポーネントでサーブレット・コンテナによって実行されます。

サーブレット・コンテナはウェブ・サーバまたはアプリケーション・サーバの一部で、クライアントからHTTP/HTTPSのリクエストに対して、サーブレットの設定に基づいてどのサーブレットを呼び出しを行ういます。また、サーブレットが生成した応答データをクライアントに応答します。

サーブレット・コンテナの例ととしてtomcatが存在します。

まとめると、サーブレットを動作させるには以下の3つが必要となります。

  • サーブレットを実行するサーブレット・コンテナ(tomcatなど)
  • サーブレット・コンテナが対象のサーブレットを決定するためのサーブレット設定
  • Javaによって作成されたサーブレットというなのJavaプログラム

プロジェクト設定の変更

サーブレットの話を進める前にMavenで作成したプロジェクトの設定をEclipseで作業しやすいように変更します

Eclipseプロジェクトへ変更

以下の実行構成を追加して、Eclipseプロジェクトに変換します
※変換してもMavenコマンドは利用できます

キー
種類 Mavenビルド
名前 任意の値 mvn-2-eclipse
基底ディレクトリー ${project_loc:web-app-sample}
ゴール eclipse:eclipse

ファセットの設定

ファセットとはなんぞや?と思ったりもしますが、Eclipseに「私はWebアプリケーションのプロジェクトですよ」と認識してもらうための設定であり、その特性や要件を定義するための設定。ぐらいに思っておけばよいかなと思います。

プロジェクトのプロパティーを表示し、プロジェクト・ファセットを選択し、「ファセット・フォームへ変換」をクリックします

image.png

動的Webモジュールをチェックし、「より詳しい構成が使用可能」をクリックします

image.png

「web.xmlデプロイメント記述子の生成」を選択し、OKボタンをクリックします

image.png

元のダイアログで適用して閉じます

この作業により、プロジェクト内のeclipseの設定ファイルが自動生成されたり変更されたりして、動的Webモジュールの設定が追加されたようです。

tomcatで実行

これまでの設定によりEclipseからtomcatにてプロジェクトを実行することができます

プロジェクト名を右クリック > 実行 > サーバで実行をクリックします

コンパイラのJavaバージョンに合わせて対象のtomcatを選択し、完了ボタンをクリックします

image.png

サーバービューが表示され、下図のように、「起動済み、同期済み」となれば成功です
image.png

ブラウザが立ち上がり画面が表示されるます
image.png

tomcatの停止や実行、デバッグ

サーバの停止や実行、デバッグ起動はサーバービューより行えます

image.png

Javaソースフォルダの作成

MavenのWebアプリのアーキタイプですとソースフォルダが用意されていないため、ソースフォルダを以下の手順で作成する必要があるようです。

プロジェクト名を右クリック > 新規 > その他を クリック
ウィザードにて、Java > ソースフォルダー の順番で選択し、次へボタンをクリックします

image.png

フォルダー名欄に「./src/main/java」と入力して、完了ボタンをクリックします
image.png

プロジェクトにソースフォルダが追加されました

image.png

同じ要領で「./src/test/java」も追加しておきます

サーブレット設定

さて、やっとはサーブレット設定について話を進めます。

さっそくですが、サーブレットという名のJavaクラスを作成します

image.png

パッケージとクラス名を指定して、完了ボタンをクリックします

image.png

ファイルは期待通り作成されましたが、エラーがいっぱい出てそうです
image.png

必要なライブラリがプロジェクトに追加されていないようです。
pom.xml側で追加も可能ですが、今回はeclipseの設定から追加します。

プロパティー設定 > Javaのビルド・パス > クラスパス > ライブラリーの追加ボタンをクリックします
image.png

サーバー・ランタイムを選択し、次へボタンをクリックします

image.png

実行環境に合わせて、選択し完了ボタンをクリックします

image.png

適用して閉じます

エラーが消えビルドが成功します。
マーカービューからもエラーが消えました。

image.png

サーブレットの動作確認

作成したサーブレットはソース(./serc/main/java/com/example/HelloServlet.java)内のWebServletアノテーション名(@WebServletがアノテーションです)でアクセス可能です。
image.png
具体的にはtomcatの実行を行ったあと、URLに/HelloServletを追加してEnterを押すだけです。
image.png

上記のような画面が表示されれば成功です。

サーブレットのソースの内容について

作成したサーブレットはソース(./serc/main/java/com/example/HelloServlet.java)にはdoGetとdoPostという2つのメソッドが用意されており、その名の通り、クライアントからGETアクセスとPOSTアクセスが行われた場合にそれぞれの関数が呼び出されます。

image.png

最後に

今回はサーブレットの作成と動作確認を行いました。
tomcatとサーブレットを利用することで、Httpリクエストに対してJavaで実装したプログラムを行うことができました。

次回はサーブレットとJSPファイルを組み合わせたページの表示を行ってみたいと思います。

他の記事についてはこちらから御覧ください。

参考リンク

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1