Tomcat 10 : Install2023/07/14 |
Install Tomcat 10 to configure Java Application Server.
|
|
[1] | |
[2] | Install Tomcat 10. Make sure the latest version and source URL on download site. ⇒ https://tomcat.apache.org/download-90.cgi |
root@dlp:~# curl -O https://dlcdn.apache.org/tomcat/tomcat-10/v10.1.11/bin/apache-tomcat-10.1.11.tar.gz root@dlp:~# tar zxvf apache-tomcat-10.1.11.tar.gz root@dlp:~# mv apache-tomcat-10.1.11 /usr/libexec/tomcat10 root@dlp:~# useradd -M -d /usr/libexec/tomcat10 tomcat root@dlp:~# chown -R tomcat:tomcat /usr/libexec/tomcat10
|
[3] | Create a Systemd Setting file. |
root@dlp:~#
vi /usr/lib/systemd/system/tomcat10.service # create new [Unit] Description=Apache Tomcat 10 After=network.target [Service] Type=oneshot ExecStart=/usr/libexec/tomcat10/bin/startup.sh ExecStop=/usr/libexec/tomcat10/bin/shutdown.sh RemainAfterExit=yes User=tomcat Group=tomcat [Install] WantedBy=multi-user.target systemctl enable --now tomcat10 |
[4] | Start a Web browser on localhost or clients on the network and access to [http://(server's hostname or IP address):8080/], then Tomcat default site is displayed like follows. |
[5] | Create a test servlet which shows current date and make sure it works normally. |
root@dlp:~# mkdir /usr/libexec/tomcat10/webapps/ROOT/WEB-INF/classes root@dlp:~# chown tomcat:tomcat /usr/libexec/tomcat10/webapps/ROOT/WEB-INF/classes root@dlp:~# cd /usr/libexec/tomcat10/webapps/ROOT/WEB-INF/classes
root@dlp:/usr/libexec/tomcat10/webapps/ROOT/WEB-INF/classes#
vi daytime.java # from Tomcat 10, migrated to Jakarta EE # so it needs to replace [javax.*] to [jakarta.*] import java.io.*; import jakarta.servlet.*; import jakarta.servlet.http.*; import java.util.Calendar; public class daytime extends HttpServlet { public void doGet(HttpServletRequest request ,HttpServletResponse response) throws IOException, ServletException{ response.setContentType("text/html"); PrintWriter out = response.getWriter(); Calendar cal = Calendar.getInstance(); out.println("<html>\n<head>\n<title>DayTime</title>\n</head>\n<body>"); out.println("<div style=\"font-size: 40px; text-align: center; font-weight: bold\">"); out.println(cal.get(Calendar.YEAR) + "/" + (cal.get(Calendar.MONTH) + 1) + "/" + cal.get(Calendar.DATE) + " " + cal.get(Calendar.HOUR_OF_DAY) + ":" + cal.get(Calendar.MINUTE)); out.println("</div>\n</body>\n</html>"); } } javac -classpath /usr/libexec/tomcat10/lib/servlet-api.jar daytime.java
root@dlp:/usr/libexec/tomcat10/webapps/ROOT/WEB-INF/classes#
vi /usr/libexec/tomcat10/webapps/ROOT/WEB-INF/web.xml # add follows between <web-app> - </web-app> <servlet> <servlet-name>daytime</servlet-name> <servlet-class>daytime</servlet-class> </servlet> <servlet-mapping> <servlet-name>daytime</servlet-name> <url-pattern>/daytime</url-pattern> </servlet-mapping> |
[6] | Access to [http://(server's hostname or IP address):8080/daytime] to make sure it works normally. |
Sponsored Link |