HttpServlet (Jakarta EE 8 仕様 API) - Javadoc
CentOS7 java tomcat サーブレット JSP インストール | itcore 2019年
【Java & Tomcat】アプリケーションのフォルダ構成と出力確認
Java Servletのエントリポイントというか、GETされた時の処理などは、HttpServletクラスを継承したクラスで行う模様。
$ pwd /home/bg1/project/cloud/github.com/Sample/servlet/HttpServlet/HttpServlet/src/HttpServlet $ mkdir main $ cd main/ $ pwd /home/bg1/project/cloud/github.com/Sample/servlet/HttpServlet/HttpServlet/src/HttpServlet/main $ mkdir WEB-INF $ cd WEB-INF/ $ mkdir classes $ mkdir lib $ ls classes lib $
プロジェクトのディレクトリをmainとすると、その下にWEB-INFディレクトリを作り、さらにその下にclassesとlibディレクトリを作る。
(今回というかしばらくlibは使わないけど。)
$ ls classes lib $ cd classes/ $ ls $ vi ServletMain.java
で、classesの下で、ServletMain.javaを開いて、
HttpServletを継承したServletMainを定義し、doGetで"ABCDE"を含むHTMLを返す。
$ sudo cp -r /home/bg1/project/cloud/github.com/Sample/servlet/HttpServlet/HttpServlet/src/HttpServlet/main /var/lib/tomcat/webapps/
main一式を/var/lib/tomcat/webapps/の下に持ってくる。
$ ls -al 合計 32 drwxrwxr-x. 8 root tomcat 4096 x月 xx xx:xx . drwxr-xr-x. 3 root tomcat 4096 x月 xx xx:xx .. drwxr-xr-x. 3 tomcat tomcat 4096 x月 xx xx:xx ROOT drwxr-xr-x. 7 tomcat tomcat 4096 x月 xx xx:xx examples drwxr-xr-x. 5 root tomcat 4096 x月 xx xx:xx host-manager drwxr-xr-x. 3 root root 4096 x月 xx xx:xx main drwxr-xr-x. 6 root tomcat 4096 x月 xx xx:xx manager drwxr-xr-x. 5 tomcat tomcat 4096 x月 xx xx:xx sample $
mainがrootになってるので、
$ sudo chown tomcat main $ sudo chgrp tomcat main
オーナーとグループをtomcatに。
$ ls ROOT examples host-manager main manager sample $ cd main/ $ cd WEB-INF/ $ cd classes/ $ ls ServletMain.java $ sudo vi ServletMain.java $ sudo javac ServletMain.java -classpath /usr/share/tomcat/lib/tomcat-servlet-4.0-api.jar $ ls ServletMain.class ServletMain.java $
ServletMain.javaをjavacでコンパイル。
(CATALINA_HOMEとかパスが全然通ってないので仕方なくclasspathを直接指定・・・。後で直すつもり・・・。)
$ cd .. $ ls classes lib $ sudo vi web.xml
上がって、WEB-INFの下で、web.xmlを開いて、
こう書く。
servlet-nameとしてはmainだが、実際にはServletMain.classが実行される。
URLのパターンとしては"/main"、ただし、webappsの下のmainの下に置いてるので、"http://ホスト名:8080/main/main"でアクセスする。
$ sudo systemctl restart tomcat
tomcatを再起動して、
こうなる。
Sample/servlet/HttpServlet/HttpServlet/src/HttpServlet at master · bg1bgst333/Sample · GitHub