@WebServlet

@WebServletのアノテーションで、このクラスをサーブレットとして登録し、特定のURLパターンで動くようにする。

WebServlet (Servlet 3.0 API Documentation - Apache Tomcat 7.0.109)
【Java & Tomcat】Webアプリケーションの設定(アノテーション)※サンプルプログラム付き

今回はFedora41でシェルとVimだけでやる。
dnfでtomcatをインストール。

bg1@vbox:~/project/cloud/github.com/Sample/servlet/annotationWebServlet/annotationWebServlet/src$ sudo dnf install tomcat
リポジトリの更新を読み込み中:
リポジトリを読み込みました。
Package                                              Arch         Version                                              Repository                        Size
Installing:
 tomcat                                              noarch       1:9.0.107-1.fc41                                     updates                      323.7 KiB
Installing dependencies:
 ecj                                                 noarch       1:4.23-11.fc41                                       fedora                         2.6 MiB
 javapackages-tools                                  noarch       6.2.0-14.fc41                                        fedora                        68.1 KiB
 tomcat-el-3.0-api                                   noarch       1:9.0.107-1.fc41                                     updates                      228.9 KiB
 tomcat-jsp-2.3-api                                  noarch       1:9.0.107-1.fc41                                     updates                      145.4 KiB
 tomcat-lib                                          noarch       1:9.0.107-1.fc41                                     updates                        7.0 MiB
 tomcat-servlet-4.0-api                              noarch       1:9.0.107-1.fc41                                     updates                      611.7 KiB
Installing weak dependencies:
 tomcat-native                                       x86_64       1:1.3.0-8.fc41                                       updates                      212.6 KiB

Transaction Summary:
 Installing:         8 packages

パッケージサイズ 9 MiB 、ダウンロードサイズ 9 MiB 。
完了後、11 MiB のサイズが利用されます(インストール 11 MiB、削除 0 B)。
Is this ok [y/N]: y
[1/8] javapackages-tools-0:6.2.0-14.fc41.noarch                                                                      100% | 166.9 KiB/s |  36.6 KiB |  00m00s
[2/8] tomcat-1:9.0.107-1.fc41.noarch                                                                                 100% |  40.2 KiB/s |  96.3 KiB |  00m02s
[3/8] tomcat-el-3.0-api-1:9.0.107-1.fc41.noarch                                                                      100% |  47.4 KiB/s | 105.4 KiB |  00m02s
[4/8] tomcat-lib-1:9.0.107-1.fc41.noarch                                                                             100% |   1.7 MiB/s |   6.1 MiB |  00m04s
[5/8] tomcat-jsp-2.3-api-1:9.0.107-1.fc41.noarch                                                                     100% |  42.3 KiB/s |  73.2 KiB |  00m02s
[6/8] ecj-1:4.23-11.fc41.noarch                                                                                      100% |   2.9 MiB/s |   2.4 MiB |  00m01s
[7/8] tomcat-servlet-4.0-api-1:9.0.107-1.fc41.noarch                                                                 100% | 145.0 KiB/s | 285.1 KiB |  00m02s
[8/8] tomcat-native-1:1.3.0-8.fc41.x86_64                                                                            100% |  24.7 KiB/s |  75.0 KiB |  00m03s
-------------------------------------------------------------------------------------------------------------------------------------------------------------
[8/8] Total                                                                                                          100% |   1.1 MiB/s |   9.2 MiB |  00m09s
トランザクションを実行中
[ 1/10] パッケージ ファイルを検証                                                                        100% | 102.0   B/s |   8.0   B |  00m00s
[ 2/10] トランザクションの準備                                                                            100% |  19.0   B/s |   8.0   B |  00m00s
[ 3/10] インストール中 tomcat-servlet-4.0-api-1:9.0.107-1.fc41.noarch                                         100% |   6.3 MiB/s | 613.3 KiB |  00m00s
[ 4/10] インストール中 tomcat-el-3.0-api-1:9.0.107-1.fc41.noarch                                              100% |   3.8 MiB/s | 230.5 KiB |  00m00s
[ 5/10] インストール中 javapackages-tools-0:6.2.0-14.fc41.noarch                                              100% |   1.3 MiB/s |  71.9 KiB |  00m00s
[ 6/10] インストール中 ecj-1:4.23-11.fc41.noarch                                                              100% |  65.5 MiB/s |   2.6 MiB |  00m00s
[ 7/10] インストール中 tomcat-jsp-2.3-api-1:9.0.107-1.fc41.noarch                                             100% |   3.3 MiB/s | 146.7 KiB |  00m00s
[ 8/10] インストール中 tomcat-lib-1:9.0.107-1.fc41.noarch                                                     100% |  16.9 MiB/s |   7.0 MiB |  00m00s
[ 9/10] インストール中 tomcat-1:9.0.107-1.fc41.noarch                                                         100% |   3.1 MiB/s | 330.4 KiB |  00m00s
[10/10] インストール中 tomcat-native-1:1.3.0-8.fc41.x86_64                                                    100% |  69.8 KiB/s | 214.5 KiB |  00m03s
完了しました!
bg1@vbox:~/project/cloud/github.com/Sample/servlet/annotationWebServlet/annotationWebServlet/src$

次に、

bg1@vbox:~/project/cloud/github.com/Sample/servlet/annotationWebServlet/annotationWebServlet/src$ cd /var/lib/tomcat/webapps/
bg1@vbox:/var/lib/tomcat/webapps$ sudo mkdir -p annotationWebServlet/WEB-INF/classes

webappsの下に移動し、classessまでディレクトリ作成。
ServletMain.javaは、

こう書く。

sudo javac -cp /usr/share/java/tomcat-servlet-api.jar:. ServletMain.java 

コンパイル

sudo systemctl enable --now tomcat

tomcat起動。

こうなる。
こうなる。

こうなる。

Sample/servlet/annotationWebServlet/annotationWebServlet/src/annotationWebServlet at master · bg1bgst333/Sample · GitHub