Java Servlet est un programme qui génère des pages WEB dynamiques dans des applications WEB implémentées en Java. L'application WEB est un système serveur / client, et comme le montre la figure ci-dessous, le client envoie une demande au serveur et le serveur renvoie une réponse au client pour qu'il fonctionne.
Java Servlet ne fonctionne pas seul, mais avec un logiciel appelé conteneur de servlet. Tomcat correspond à ce conteneur de servlet. Lorsque vous envoyez une demande de votre navigateur Web à votre serveur Web, Tomcat reçoit cette demande. Le servlet génère une page WEB dynamique en fonction du type de requête, et Tomcat envoie cette page WEB dynamique au navigateur WEB en réponse. Le navigateur WEB affiche cette page WEB dynamique.
JRE (Java Runtime Environment) est requis pour exécuter Java Servlet, Eclipse et Tomcat, donc installez OpenJDK. Si vous n'avez pas installé JRE, vous obtiendrez une erreur lors du démarrage d'Eclipse, vous devez donc le faire avant d'installer Eclipse.
Allez sur le site Web officiel d'OpenJDK ci-dessous et cliquez sur le lien jdk.java.net / 14
dans la section Télécharger. (Le lien pour jdk.java.net / 14
change chaque fois que OpenJDK est mis à jour.)
https://openjdk.java.net/
Cliquez sur Java SE 11 dans la liste des liens sur la gauche. (Si vous souhaitez télécharger la dernière version d'OpenJDK, vous pouvez télécharger OpenJDK à partir de ce site.) https://jdk.java.net/14/
Cliquez sur Kit de développement Java Windows / x64. https://jdk.java.net/java-se-ri/11
"openjdk-11 + 28_windows-x64_bin.zip" sera téléchargé.
Une fois le téléchargement terminé, décompressez-le dans n'importe quel dossier et ajoutez le chemin absolu de «jdk-11 \ bin» aux variables d'environnement système. (Ici, je l'ai décompressé dans C: \ openjdk et ajouté "C: \ openjdk \ jdk-11 \ bin" aux variables d'environnement système.)
Démarrez l'invite de commande et vérifiez la version Java. (Si c'est openjdk 11, c'est OK.)
>java --version
openjdk 11 2018-09-25
OpenJDK Runtime Environment 18.9 (build 11+28)
OpenJDK 64-Bit Server VM 18.9 (build 11+28, mixed mode)
Une fois l'installation d'OpneJDK terminée, téléchargez et lancez Eclipse et installez Tomcaat Plagin.
Accédez au site de téléchargement du programme d'installation du package Eclipse et cliquez sur "Windows 64 bits" dans "Eclipse IDE for Java Developers". https://www.eclipse.org/downloads/packages/
Lorsque vous êtes sur la page de téléchargement, cliquez sur le bouton Télécharger.
eclipse-java-2020-06-R-win32-x86_64.zip sera téléchargé.
Une fois le téléchargement terminé, décompressez-le dans n'importe quel dossier et double-cliquez sur "eclipse.exe" pour démarrer Eclipse. (Vous devrez entrer le chemin du dossier de l'espace de travail au démarrage, mais laissez les paramètres par défaut.)
Exécutez le menu principal d'Eclipse "Aide"> "Eclipse Marketplace" pour lancer la boîte de dialogue "Eclipse Marketplace".
Dans le champ de recherche, entrez "Tomcat" et appuyez sur le bouton "Aller".
Sélectionnez "Eclipse Tomcat Plugin 9.1.4" et appuyez sur le bouton "Installer".
Sélectionnez "J'accepte les termes du contrat de licence" et appuyez sur le bouton "Terminer".
Après avoir redémarré Eclipse, l'icône Tomcat apparaîtra dans le menu ainsi que l'icône du menu principal Eclipse.
Installez TOMCAT.
Accédez au site suivant et cliquez sur "Tomcat 9" dans l'élément "Télécharger" sur la gauche. http://tomcat.apache.org/download-80.cgi
Cliquez sur "zip" sous "Core" dans "Distributions binaires". https://tomcat.apache.org/download-90.cgi
"apache-tomcat-9.0.37.zip" sera téléchargé.
Une fois le téléchargement terminé, décompressez-le dans n'importe quel dossier. Ici, décompressez-le dans le dossier suivant. C:\apache\apache-tomcat-9.0.37
Ajoutez les variables d'environnement système suivantes.
-CATALINA_HOME: chemin du dossier d'installation de TOMCAT ([Exemple] C: \ apache \ apache-tomcat-9.0.37) -JAVA_HOME: chemin du dossier d'installation Java ([Exemple] C: \ openjdk \ jdk-11) ~~~
Initialisez Eclipse avant de créer un projet. Si vous le définissez une fois au début, vous n'avez pas besoin de le définir la prochaine fois.
Exécutez le menu principal "Fenêtre"> "Préférences" pour ouvrir la boîte de dialogue "Préférences".
Sélectionnez Général> Apparence> Couleurs et polices dans l'arborescence de gauche.
Sélectionnez "Java Editor Text-Font" et appuyez sur le bouton "Edit" pour lancer la boîte de dialogue "Font".
Pour éviter les caractères déformés sur Eclipse (si vous écrivez le japonais immédiatement après le commentaire "//", les caractères seront déformés), changez la police en MS Gothic et appuyez sur le bouton "Appliquer".
Sélectionnez Général> Espace de travail dans l'arborescence de gauche.
Sous «Encodage de fichier texte», cochez «Autre» et sélectionnez «UTF-8». (En supposant que l'environnement à déployer est Linux, définissez-le sur UTF-8 pour qu'il s'exécute sous Linux.)
Cochez "Autre" dans "Nouveau séparateur de ligne de fichier texte", sélectionnez "Unix" et appuyez sur le bouton "Appliquer".
Sélectionnez "Tomcat" dans l'arborescence de gauche et cochez "9" pour "Version Tomcat".
Définissez le dossier Tomcat dans "Tomcat Home". ([Exemple] C: \ apache \ apache-tomcat-9.0.37)
Cochez "Server.xml" dans "Mode de déclaration de contexte" et définissez le chemin de Server.xml dans le champ "Fichier de paramètres".
Appuyez sur le bouton Appliquer.
Appuyez sur le bouton Appliquer et fermer.
Lors de la création d'un nouveau projet et de la définition de Server.xml.
Exécutez le menu principal "Fichier"> "Nouveau"> "Projet" pour lancer la boîte de dialogue "Nouveau projet".
Cliquez sur le nœud Java> Projets Tomcat dans l'arborescence.
Entrez le "Nom du projet" et appuyez sur le bouton "Suivant".
Vérifiez le chemin dans le champ "Nom du contexte" et cliquez sur le bouton "Terminer". (Le chemin dans le champ "Nom du contexte" est la partie racine du chemin de l'URL lors de l'accès au serveur WEB.)
http: // localhost: 8080 / {chemin dans le champ" nom du contexte "}
Confirmez que la ligne suivante est ajoutée à "conf \ server.xml" sous le dossier d'installation de Tomcat. Si cette ligne n'est pas enregistrée dans Server.xml, l'écran WEB ne s'affichera pas même si vous accédez au serveur WEB. ([Exemple] C: \ apache \ apache-tomcat-9.0.37 \ conf \ server.xml)
Par défaut, il est configuré pour utiliser le port 8080. Si vous souhaitez définir un autre que le port 8080, modifiez la partie suivante.
<Connector port = "8080" protocol = "HTTP / 1.1" ★ Remplacez "8080" par le numéro de port que vous souhaitez définir connectionTimeout="20000" redirectPort="8443" useBodyEncodingForURI="true" /> ~~~
Implémente le traitement du servlet.
Sélectionnez le nœud supérieur de l'arborescence dans l'Explorateur de packages, cliquez avec le bouton droit de la souris et cliquez sur Nouveau> Classe dans le menu contextuel.
Entrez le nom de la classe dans le champ "Nmae" et "javax.servlet.http.HttpServlet" dans le champ "Super classe" et appuyez sur le bouton "Terminer". (Ici, entrez "SampleServlet" dans le champ "Nmae" et laissez les paramètres autres que les champs "Nmae" et "Super class" à leurs valeurs par défaut.)
Le nœud "sample"> "WEB-INF / src"> "sample"> "SampleServlet.java" est ajouté à l'arborescence sur "Package Explorer".
package sample;
import javax.servlet.http.HttpServlet;
public class SampleServlet extends HttpServlet {
}
Sélectionnez le nœud d'arborescence "SampleServlet.java" dans "Package Explorer" et cliquez sur "Source"> "Override / Inplement Methods" dans le menu principal pour lancer la boîte de dialogue "Override / Inplement Methods".
Cochez "HttpServlet", "doGet" et "doPost" et cliquez sur le bouton "OK" pour générer la méthode doGet et la méthode doPost. La méthode doGet est exécutée lorsque la demande est envoyée par le client, par exemple lors de l'accès à l'URL. De plus, la méthode doPost est exécutée lorsqu'une requête est envoyée depuis le serveur WEB, par exemple lors de l'utilisation d'un formulaire sur l'écran WEB.
package sample;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class SampleServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// TODO Auto-generated method stub
super.doGet(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// TODO Auto-generated method stub
super.doPost(req, resp);
}
}
Ajoutez le processus d'importation suivant à SampleServlet.java.
package sample;
import java.io.IOException;
import java.io.PrintWriter; // Ajouter
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@SuppressWarnings ("serial") // Ajouté public class SampleServlet extends HttpServlet { ~~~
Ajoutez les champs suivants dans la classe SampleServlet de SampleServlet.java.
public class SampleServlet extends HttpServlet {
// ↓ Ajouter d'ici static final String head = "
static String result = "";
// ↑ Ajouter ici ~~~
Remplacez doGet () dans SampleServlet.java par l'implémentation suivante. Lors de l'accès au serveur WEB depuis le navigateur WEB, le fichier HTML de la page WEB est lu et défini dans le corps de la réponse afin qu'il réponde.
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// TODO Auto-generated method stub
//super.doGet (req, resp); // Commenter
// ↓ Ajouter d'ici // Effectuer le codage des caractères pour éviter les caractères japonais déformés resp.setContentType("text/html; charset=UTF-8");
// Créer un écran WEB à afficher sur le navigateur WEB du client PrintWriter out = resp.getWriter(); out.println(""); out.println(head); out.println("
"); out.println(msg); out.println(form); out.println(""); out.println(""); out.close(); // ↑ Ajouter ici } ~~~Remplacez doPost () dans SampleServlet.java par l'implémentation suivante. Lorsque les données sont envoyées du formulaire du navigateur WEB au serveur WEB, le paramètre de requête (données envoyées par le client) est acquis et défini dans le corps de la réponse pour répondre.
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// TODO Auto-generated method stub
//super.doPost (req, resp); // Commenter
// ↓ Ajouter d'ici req.setCharacterEncoding ("UTF-8"); // Codage des caractères (mesure contre les caractères japonais déformés) resp.setContentType ("text / html; charset = UTF-8"); // Encodage de caractères (mesure contre les caractères japonais déformés)
try{
// Récupère le texte écrit si le bouton "écrire" est enfoncé if(req.getParameter("send").equalsIgnoreCase("write")){ result += "
// Créer un écran WEB à afficher sur le navigateur WEB du client PrintWriter out = resp.getWriter(); out.println(""); out.println(head); out.println("
"); out.println(msg); out.println(form); out.println(result); out.println(""); out.println(""); out.close(); // ↑ Ajouter ici } ~~~Créez web.xml. web.xml est un fichier qui configure le conteneur de servlet.
Sélectionnez le nœud de l'arborescence "WEB-INF" dans "Package Explorer", cliquez avec le bouton droit de la souris et cliquez sur le menu contextuel "Nouveau"> "Autre" pour lancer la boîte de dialogue "Nouveau".
Cliquez sur XML> Fichier XML pour ouvrir la boîte de dialogue Nouveau fichier XML.
Entrez "web.xml" dans le champ "Nom de fichier" et appuyez sur le bouton "Terminer" pour ajouter le nœud d'arborescence "web.xml" dans "l'Explorateur de packages".
Sélectionnez le nœud d'arborescence "web.xml" dans "Package Explorer", cliquez avec le bouton droit de la souris et cliquez sur le menu contextuel "Ouvrir avec"> "Editeur de texte générique".
<?xml version="1.0" encoding="UTF-8"?>
Ajoutez le code suivant à web.xml.
<?xml version="1.0" encoding="UTF-8"?>
<! - ↓ Ajouter à partir d'ici->
<servlet-mapping>
<servlet-name>sample</servlet-name> <!-- Servlet name -->
<url-pattern>/servlet</url-pattern> <!-- URL pattern -->
</servlet-mapping>
</web-app>
<! - ↑ Ajouter ici-> ~~~
Pour les builds, activez les builds automatiques afin qu'ils se construisent automatiquement.
Sélectionnez le nœud supérieur de l'arborescence sur "Package Explorer", cliquez avec le bouton droit de la souris et cliquez sur le menu contextuel "Reflesh" pour mettre à jour automatiquement la structure de fichiers de l'arborescence sur "Package Explorer" à l'état actuel. ..
Cochez Projet> Construire automatiquement dans le menu principal pour activer les builds automatiques. (Si la construction n'est pas exécutée, cliquez sur "Projet"> "Nettoyer" dans le menu principal.)
Exécutez-le lorsque vous pouvez le créer. Tout d'abord, utilisez Eclipse pour démarrer un serveur WEB sous Windows et y accéder à partir d'un navigateur WEB.
Cliquez sur l'icône "Redémarrer Tomcat" dans le menu principal.
Lorsque vous démarrez le navigateur WEB et accédez à l'URL suivante, la méthode GET est envoyée du client au serveur et la page WEB suivante s'affiche.
http://localhost:8080/sample/servlet
Saisissez le texte et appuyez sur le bouton "écrire" La méthode POST sera envoyée du client au serveur et la page WEB suivante sera affichée.
Faites une sauvegarde de votre projet avant de le supprimer.
Arrêtez Tomcat.
Sélectionnez le nœud supérieur de l'arborescence dans "Package Explorer", cliquez avec le bouton droit de la souris et cliquez sur le menu contextuel "Exporter" pour lancer la boîte de dialogue "Exporter".
Sélectionnez Général> Système de fichiers et appuyez sur le bouton Suivant.
Cochez la case du projet.
Entrez le chemin de destination de l'exportation dans le champ "Vers le répertoire" et appuyez sur le bouton "Terminer".
Si vous souhaitez redémarrer le projet, importez le projet sauvegardé.
Créez un projet en fonction de l'élément "Créer un projet".
Sélectionnez le nœud supérieur de l'arborescence dans «Explorateur de packages», cliquez avec le bouton droit de la souris et cliquez sur le menu contextuel «Importer» pour lancer la boîte de dialogue «Importer».
Sélectionnez Général> Système de fichiers et appuyez sur le bouton Suivant.
Cochez la case du projet.
Entrez le chemin de destination de l'importation dans le champ "Dans le dossier" et appuyez sur le bouton "Terminer".
Lorsqu'on vous demande "Remplacer'.classpath 'dans le dossier {nom du projet}?", Sélectionnez "Pas pour tous".
Créez un fichier WAR (une collection de fichiers nécessaires au fonctionnement de l'application WEB) à déployer (le rendre disponible)
Cliquez sur Projet> Propriétés dans le menu principal pour ouvrir la boîte de dialogue Propriétés.
Sélectionnez le nœud de l'arborescence "Tomcat", ouvrez l'onglet "Paramètres d'exportation WAR" et appuyez sur le bouton "Parcourir" pour lancer la boîte de dialogue "Ouvrir".
Entrez le nom du fichier WAR à enregistrer dans le champ "Nom du fichier" et cliquez sur le bouton "Ouvrir".
Lorsque le chemin du fichier WAR à enregistrer apparaît dans le champ "Exporter le fichier WAR", cliquez sur le bouton "Appliquer et fermer".
Sélectionnez le nœud supérieur de l'arborescence dans "Package Explorer", cliquez avec le bouton droit de la souris et exécutez "Tomcat Project"> "Créer un fichier WAR selon les paramètres du projet".
Un fichier WAR sera généré dans le chemin défini dans le champ "Fichier WAR à exporter".
À partir de là, préparez-vous au déploiement. Ici, nous allons déployer sur Ubuntu.
Tout d'abord, installez Java.
Installez OpenJDK 11.
$ sudo apt-get install openjdk-11-jdk
Vérifiez la version de Java que vous avez installée.
$ java --version openjdk 11.0.8 2020-07-14 OpenJDK Runtime Environment (build 11.0.8+10-post-Ubuntu-0ubuntu120.04) OpenJDK 64-Bit Server VM (build 11.0.8+10-post-Ubuntu-0ubuntu120.04, mixed mode, sharing) ~~~
Ensuite, installez TOMCAT.
Accédez au site suivant et cliquez sur "Tomcat 9" dans l'élément "Télécharger" sur la gauche. http://tomcat.apache.org/download-80.cgi
Cliquez sur "tar.gz" sous "Core" dans "Distributions binaires". ⇒ "apache-tomcat-9.0.37.zip" sera téléchargé. https://tomcat.apache.org/download-90.cgi
Une fois le téléchargement terminé, décompressez-le dans n'importe quel répertoire. Ici, décompressez dans / opt.
$ sudo tar zxvf apache-tomcat-9.0.37.tar.gz -C /opt
Assurez-vous qu'il est décompressé dans / opt.
$ ls /opt/apache-tomcat-9.0.37/
BUILDING.txt CONTRIBUTING.md LICENSE NOTICE README.md RELEASE-NOTES RUNNING.txt bin conf lib logs temp webapps work
Lorsque l'environnement de déploiement est prêt, déployez-le.
Le paramètre par défaut de tomcat est l'utilisateur root car aucun utilisateur autre que l'utilisateur root n'a l'autorisation d'exécution.
$ sudo su
Copiez le fichier WAR créé dans un dossier sous les applications Web de TOMCAT.
# mv sample.war /opt/apache-tomcat-9.0.37/webapps
Démarrez TOMCAT.
# cd /opt/apache-tomcat-9.0.37/bin
# sh startup.sh
Lorsque vous démarrez le navigateur WEB et accédez à l'URL suivante, la méthode GET est envoyée du client au serveur et la page WEB suivante s'affiche.
http: // {adresse IP du PC déployé}: 8080 / sample / servlet
Entrez le texte et appuyez sur le bouton "écrire", la méthode POST sera envoyée du client vers le serveur et la page WEB suivante sera affichée.
Quittez TOMCAT.
# sh shutdown.sh
Recommended Posts