[JAVA] Construction du système Web (super basique) ②: construction du serveur AP et fonctionnement de base

Objectif

Confirmez la construction et le fonctionnement d'un serveur AP super basique dans le but de créer un système Web. (Tomcat est utilisé comme serveur AP.)

Condition environnementale

Les paramètres du groupe de sécurité sont agréables.

Procédure de construction

ec2-Connectez-vous en tant qu'utilisateur

Passer à l'utilisateur root
$ sudo su - 

Confirmation de l'existence du package openjdk
# yum info java-*-openjdk

Installez le package openjdk
# yum install -y java-1.8.0-openjdk
Complete!Vérifiez la sortie de.

Confirmation de l'installation Java
# java -version
openjdk version "1.8.0_232"
OpenJDK Runtime Environment (build 1.8.0_232-b09)
OpenJDK 64-Bit Server VM (build 25.232-b09, mixed mode)

Créer un utilisateur dédié (tomcat)
# useradd -s /sbin/nologin tomcat

Télécharger le fichier binaire Tomcat
# curl -O http://ftp.riken.jp/net/apache/tomcat/tomcat-9/v9.0.30/bin/apache-tomcat-9.0.30.tar.gz

Déplacez le fichier binaire Tomcat dans le répertoire d'installation
# mv apache-tomcat-9.0.30.tar.gz /opt/

Décompressez le fichier binaire Tomcat
# cd /opt
# tar zxvf apache-tomcat-9.0.30.tar.gz

Changer le propriétaire des fichiers Tomcat
# chown -R tomcat:tomcat apache-tomcat-9.0.30

Créer un fichier d'enregistrement pour l'enregistrement du service Tomcat
# vi /etc/systemd/system/tomcat.service

========================================
[Unit]
Description=Apache Tomcat 9
After=network.target

[Service]
User=tomcat
Group=tomcat
Type=oneshot
PIDFile=/opt/apache-tomcat-9.0.30/tomcat.pid
RemainAfterExit=yes

ExecStart=/opt/apache-tomcat-9.0.30/bin/startup.sh
ExecStop=/opt/apache-tomcat-9.0.30/bin/shutdown.sh
ExecReStart=/opt/apache-tomcat-9.0.30/bin/shutdown.sh;/opt/apache-tomcat-9.0.30/bin/startup.sh

[Install]
WantedBy=multi-user.target
========================================

Modifier les autorisations du fichier créé
# chmod 755 /etc/systemd/system/tomcat.service

Inscription au service Tomcat
# systemctl enable tomcat

Confirmez que le service Tomcat est arrêté
# service tomcat status
   Active: inactive (dead)Vérifiez la sortie de.

Démarrez le service Tomcat
# service tomcat start
Redirecting to /bin/systemctl start tomcat.service

Vérifiez à nouveau l'état du service Tomcat
# service tomcat status
   Active: active (exited)Vérifiez la sortie de.

Du navigateur au serveur Web "DNS public:Connectez-vous à 8080 "
Apache Tomcat/9.0.Confirmez que 30 pages d'accueil sont affichées.

Fonctionnement de base du serveur AP

Créez une application Web simple à l'aide des programmes JSP et Java et exécutez-la sur le serveur AP. Il s'agit d'une application simple qui saisit deux nombres sur l'écran Web et traite et renvoie le résultat de l'addition.

test.jsp


<!DOCTYPE html>
<html>
    <head>
        <title>requestForm</title>
    </head>
    <body>
        <p>veuillez remplir la valeur</p>

        <%--Envoyer du texte avec la méthode GET--%>
        <form action="./TestServlet">
            <p>
Veuillez saisir un nombre.
            </p>
            <p>
                <input type="text" name="text1"> + <input type="text" name="text2"> =
            </p>
            <input type="submit" value="Confirmer">
        </form>
    </body>
</html>

TestServlet.java


import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet("/TestServlet")
public class TestServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
	
    /**
     *constructeur.
     */
    public TestServlet() {
        super();
    }
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    	String inputText1 = "";	//Texte 1 variable de stockage
    	String inputText2 = "";	//Variable de stockage du texte 2
    	int num1 = 0; //Variables de numérisation de texte 1
    	int num2 = 0; //Variables de numérisation de texte 2
    	
    	inputText1 = request.getParameter("text1");
    	inputText2 = request.getParameter("text2");
    	
    	num1 = Integer.parseInt(inputText1);
    	num2 = Integer.parseInt(inputText2);
    	
    	int res = num1 + num2;
    	
		//Réglage du contenu à afficher à l'écran
        //Définir que le contenu de sortie est HTML
        response.setContentType("text/html");
        //UTF le code de caractère de l'écran de sortie-Régler sur 8
        response.setCharacterEncoding("UTF-8");

        //Obtenir une instance de classe Writer à afficher à l'écran
        PrintWriter pw = response.getWriter();
        
        //HTML de sortie
        pw.println("<html>");
        pw.println("<head>");
        pw.println("<title>Résultat du calcul</title>");
        pw.println("</head>");
        pw.println("<body>");
        pw.println("<h1>Résultat du calcul</h1>");
        pw.println("<p>" + inputText1 + " + " + inputText2 + " = " + res + "</p>");
        pw.println("</body>");
        pw.println("</html>"); 
    }
}

Pour TestServlet.java, préparez-le en tant que fichier Jar comprenant la bibliothèque. (TestServlet.jar)

Préparation de l'environnement pour l'exécution de l'application

Créez les répertoires requis
# cd /opt/apache-tomcat-9.0.30/webapps
# mkdir -p test/WEB-INF/lib

web.Créer un fichier xml
# vi test/WEB-INF/web.xml

========================================
<?xml version="1.0" encoding="UTF-8"?>
<!--
  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
                      http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
  version="3.1">

	<servlet>
		<servlet-name>TestServlet</servlet-name>
    	    <servlet-class>TestServlet.TestServlet</servlet-class>
	</servlet>
 
	<servlet-mapping>
		<servlet-name>TestServlet</servlet-name>
		<url-pattern>/*</url-pattern>
	</servlet-mapping>
 
</web-app>
========================================

Déployer l'application

En dessous, placez TestServlet.jar et test.jsp afin qu'ils correspondent à la structure de répertoires.

/opt/apache-tomcat-9.0.30/webapps/test
test/
├── test.jsp
└── WEB-INF
    ├── lib
    │   └── TestServlet.jar
    └── web.xml

Contrôle de fonctionnement

Redémarrez le service Tomcat
# service tomcat restart
Redirecting to /bin/systemctl start tomcat.service

Du navigateur au serveur Web "DNS public:8080/test/test.Connectez-vous à "jsp"
Vérifiez que la page Web créée est affichée et que le traitement est effectué correctement.

la prochaine fois, Construction du système Web (super basique) ③: construction du serveur DB et fonctionnement de base est.

Recommended Posts

Construction du système Web (super basique) ②: construction du serveur AP et fonctionnement de base
Commentaire sur la construction du serveur Web
Serveur Web One Liner
Construction du serveur Web Ubuntu (18.04.3)
Construction du système Web (super basique) ③: Construction du serveur DB et fonctionnement de base
Serveur web joyeux Noël
Construction du système Web (super basique) ②: construction du serveur AP et fonctionnement de base
Commentaire sur la construction du serveur Web
Construction de serveur Web Linux (Ubuntu et Apache)
Architecture de serveur Web la plus rapide et la plus solide
Construire un serveur Web avec Apache 2.4 (httpd 2.4.43) + PHP 7.4 sous Linux --4 Security (chown et firewalld)
Mesures de sécurité du serveur Web efficaces et simples «Linux»
Lancer un serveur Web avec Python et Flask
Construction du serveur CentOS8 (ouverture du réseau et mise à jour du package)
Fonctionnement de base de Python Pandas Series et Dataframe (1)