[JAVA] Créer un projet Jetty à l'aide d'Eclipse

introduction

Aperçu

Environnement de développement

Construction de l'environnement de développement ①: Installation d'OpenJDK 11

JRE (Java Runtime Environment) est requis pour exécuter Java Servlet, Eclipse et Jetty. Ici, téléchargez OpenJDK pour obtenir le JRE. 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.

  1. 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 l'OpenJDK est mis à jour.) https://openjdk.java.net/

  2. 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/

  3. Cliquez sur Kit de développement Java Windows / x64. https://jdk.java.net/java-se-ri/11

  4. "openjdk-11 + 28_windows-x64_bin.zip" sera téléchargé.

  5. 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.)

  6. 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)
    

Construction de l'environnement de développement (2): installation Eclipse

Une fois l'installation d'OpneJDK terminée, installez Eclipse.

  1. 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/

  2. Lorsque vous êtes sur la page de téléchargement, cliquez sur le bouton Télécharger.

  3. eclipse-java-2020-06-R-win32-x86_64.zip sera téléchargé.

  4. Une fois le téléchargement terminé, décompressez-le dans n'importe quel dossier et double-cliquez sur "eclipse.exe". (Vous devrez entrer le chemin du dossier de l'espace de travail au démarrage, mais laissez les paramètres par défaut.)

Construction de l'environnement de développement ③: acquisition de jetée

Obtenez Jetty sur le site suivant.

  1. Sur le site suivant, cliquez sur ".zip" de "Eclipse Jetty Downloads". ⇒ jetty-distribution-9.4.31.v20200723.zip sera téléchargé. https://www.eclipse.org/jetty/download.html

  2. Une fois le téléchargement terminé, décompressez-le dans n'importe quel dossier.

Paramètres initiaux d'Eclipse

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.

  1. Exécutez le menu principal "Fenêtre"> "Préférences" pour ouvrir la boîte de dialogue "Préférences".

  2. Sélectionnez Java> JRE installés dans l'arborescence de gauche et assurez-vous que le chemin OpenJDK 11 est défini.

  3. Définissez le code de caractère. Ici, nous allons le changer pour Linux en supposant qu'il fonctionnera également sous Linux. Sélectionnez "Général"> "Espace de travail" dans l'arborescence de gauche, cochez "Autre" dans "Encodage de fichier texte" et sélectionnez "UTF-8". Vérifiez également «Autre» dans «Nouveau séparateur de ligne de fichier texte», sélectionnez «Unix» et appuyez sur le bouton «Appliquer».

  4. Modifiez la police pour éviter les caractères déformés. 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 "Modifier" pour lancer la boîte de dialogue "Polices". Changez la police dans la boîte de dialogue "Police" et appuyez sur le bouton "Appliquer". (Ici, j'ai changé pour MS Gothic. Selon la police que vous sélectionnez, les caractères peuvent être déformés, alors sélectionnez une police qui ne le déforme pas.)

  5. Appuyez sur le bouton Appliquer et fermer.

Création de projet

Commencez par créer un projet.

  1. Cliquez sur Fichier> Nouveau> Projet Java dans le menu principal pour lancer la boîte de dialogue Nouveau projet Java.

  2. Saisissez le nom du projet dans le champ "Nom du projet" et appuyez sur le bouton "Terminer". (Ici, le nom du projet est "sample" et les autres paramètres sont conservés par défaut.)

  3. Lorsque la boîte de dialogue "Nouveau module-info.java" démarre, cliquez sur le bouton "Ne pas créer".

  4. Confirmez que l'exemple d'arborescence de projet a été généré sur "Package Explorer".

Ajouter une bibliothèque Jetty

Jetty peut soit configurer le serveur en XML et utiliser "start.jar" pour démarrer le serveur, soit importer la bibliothèque et implémenter la configuration du serveur en Java. Dans ce cas, nous allons l'implémenter de la dernière manière, donc ajoutez la bibliothèque au projet.

  1. 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 le menu contextuel Propriétés pour ouvrir la boîte de dialogue Propriétés.

  2. Sélectionnez "Java Build Path" dans l'arborescence de gauche, ouvrez l'onglet "Libraries", sélectionnez le nœud "Class path", appuyez sur le bouton "Add External JARs", sélectionnez la bibliothèque Jetty ci-dessous et sélectionnez " Appuyez sur le bouton "Terminer".

[Bibliothèque supplémentaire] ・ Jetty-http-9.4.31.v20200723.jar ・ Jetty-io-9.4.31.v20200723.jar ・ Jetty-security-9.4.31.v20200723.jar ・ Jetty-server-9.4.31.v20200723.jar ・ Jetty-servlet-9.4.31.v20200723.jar ・ Jetty-util-9.4.31.v20200723.jar ・ Jetty-webapp-9.4.31.v20200723.jar ・ Servelet-api-3.1.jar ~~~

Créer une classe principale

Ensuite, créez la classe principale (la classe qui contient la méthode principale). Implémentez les paramètres du serveur WEB dans la classe principale.

  1. 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 "Nouveau"> "Classe" pour lancer la boîte de dialogue "Nouvelle classe Java".

  2. Entrez le nom de la classe dans le champ "Nom", cochez "public static void main (String [] args)" et cliquez sur le bouton "Terminer". (Ici, entrez "SampleMain" dans le champ "Nom".)

  3. Un nœud "sample"> "src"> "sample"> "SampleMain.java" est ajouté à l'arborescence de "Package Explorer".

  4. Le code source de SampleMain.java est généré comme suit.

    package sample;
    
    public class SampleMain {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    	}
    
    }
    
  5. Ajoutez le processus d'importation suivant à SampleMain.java.

    package sample;
    
    

// ↓ Ajouter d'ici import org.eclipse.jetty.server.Server; import org.eclipse.jetty.server.Handler; import org.eclipse.jetty.server.handler.HandlerList; import org.eclipse.jetty.servlet.ServletContextHandler; import org.eclipse.jetty.servlet.ServletHolder; // ↑ Ajouter ici

public class SampleMain {
~~~
  1. Ajoutez l'implémentation suivante à main () dans SampleMain.java. Ici, ajoutez "/" à l'URI afin que le chemin du fichier HTML placé sur le projet soit l'URI. Configurez également le serveur WEB pour qu'il commence à utiliser le port 8080.

public static void main (String [] args) lève une exception {// Ajout lance une exception // TODO Stub de méthode généré automatiquement // Commenter // ↓ Ajouter d'ici // Ajouter "/" à l'URI (ajouter au gestionnaire) ServletHolder holder = new ServletHolder(new SampleServlet()); ServletContextHandler handler = new ServletContextHandler(); handler.addServlet(holder, "/");

// Définit le gestionnaire dans la liste des gestionnaires HandlerList handlerList = new HandlerList(); handlerList.setHandlers(new Handler[] {handler});

// Créer un serveur Serveur serveur = nouveau serveur (8080); // Instanciation du serveur utilisant le port 8080 server.setHandler (handlerList); // Définir la liste des gestionnaires sur l'instance de serveur server.start (); // Démarre le serveur // ↑ Ajouter ici } ~~~

Création de servlet

Créez un servlet. Après avoir créé la classe, utilisez les méthodes de génération automatique d'Eclipse pour ajouter doGet () et doPost (). doGet () fonctionne lorsqu'il reçoit une méthode GET. La méthode GET fonctionne lorsque le serveur WEB est accessible à partir du navigateur WEB du client. De plus, doPost () fonctionne lorsqu'il reçoit une méthode POST. La méthode POST fonctionne lorsque les données sont envoyées depuis le formulaire du navigateur Web du client vers le serveur Web.

  1. 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.

  2. Entrez le nom de la classe dans le champ "Nom" et "javax.servlet.http.HttpServlet" dans le champ "Superclasse" et appuyez sur le bouton "Terminer". (Ici, entrez "SampleServlet" dans le champ "Nom".)

  3. Un nœud "sample"> "src"> "sample"> "SampleServlet.java" est ajouté à l'arborescence sur "Package Explorer".

  4. Sélectionnez le nœud d'arborescence "SampleServlet.java" dans "Package Explorer" et cliquez sur le menu principal "Source"> "Override / Inplement Methods" pour ouvrir la boîte de dialogue "Override / Inplement Methods".

  5. Cochez "HttpServlet", "doGet" et "doPost" et cliquez sur le bouton "OK" pour générer la méthode doGet et la méthode doPost.

    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);
    	}
    
    }
    
  6. Ajoutez le processus d'importation suivant à SampleServlet.java.

    package sample;
    
    import java.io.IOException;
    

import java.io.BufferedReader; // Ajouter import java.io.OutputStream; // Ajouter import java.io.FileReader; // 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 { ~~~

  1. Remplacez doGet () dans SampleServlet.java par l'implémentation suivante. Lorsque le serveur WEB est accédé à partir du 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 // Codage des caractères (mesure contre les caractères japonais déformés) req.setCharacterEncoding("UTF-8"); resp.setContentType("text/html; charset=UTF-8");

	String page = "";
	String line;

// Lire le fichier HTML @SuppressWarnings("resource") BufferedReader buf = new BufferedReader(new FileReader("." + req.getRequestURI().toString())); while((line = buf.readLine()) != null){ page += line; }

// Créer le corps de la réponse OutputStream msgbody = resp.getOutputStream(); msgbody.write(page.getBytes()); msgbody.close(); // ↑ Ajouter ici } ~~~

  1. 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 // Codage des caractères (mesure contre les caractères japonais déformés) req.setCharacterEncoding("UTF-8"); resp.setContentType("text/html; charset=UTF-8");

String result = "Le message suivant a été écrit

\ n";

// Récupère les paramètres de la requête if(req.getParameter("send").equalsIgnoreCase("write")){ result += req.getParameter("name"); }

// Créer le corps de la réponse OutputStream msgbody = resp.getOutputStream(); msgbody.write(result.getBytes()); msgbody.close(); // ↑ Ajouter ici } ~~~

Création de page WEB

Créez une page WEB à afficher sur le navigateur WEB du client. Vous pouvez incorporer des instructions HTML dans le code source du servlet, mais si vous créez un fichier, vous pouvez créer une autre page WEB simplement en remplaçant le fichier.

  1. 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 "Nouveau"> "Dossier" pour lancer la boîte de dialogue "Nouveau dossier".

  2. Saisissez le nom du dossier (ici «contenu») dans le champ «Nom du folier» et appuyez sur le bouton «Terminer» pour ajouter le nœud d'arborescence «contenu».

  3. Sélectionnez le nœud de l'arborescence "contenu", cliquez avec le bouton droit de la souris et cliquez sur le menu contextuel "Nouveau"> "Fichier" pour lancer la boîte de dialogue "Créer un nouveau fichier".

  4. Entrez le nom du fichier (ici "index.html") dans le champ "Nom du Foler" et appuyez sur le bouton "Terminer" pour ajouter le nœud d'arborescence "index.html". La configuration de "Package Explorer" est la suivante.

  5. Ouvrez le nœud d'arborescence "index.html" et ajoutez le code HTML suivant.

    <html>
    	<head>
    		<title>sample</title>
    	</head>
    	<body>
    

Saisissez le texte ici

~~~

Construire

Pour les builds, activez les builds automatiques afin qu'ils se construisent automatiquement.

  1. 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. ..

  2. Cochez Projet> Construire automatiquement dans le menu principal pour activer les constructions automatiques. (Si la construction n'est pas exécutée, cliquez sur "Projet"> "Nettoyer" dans le menu principal.)

Courir

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.

  1. Cliquez sur Exécuter> Exécuter les configurations dans le menu principal.

  2. Sélectionnez Application Java> Exemple principal dans l'arborescence de la boîte de dialogue Exécuter les configurations.

  3. Ouvrez l'onglet "Principal", entrez le nom du projet dans le champ "Projet" et le nom de la classe avec la méthode principale dans le champ "Classe principale", puis appuyez sur le bouton "Appliquer".

  4. Appuyez sur le bouton Exécuter dans la boîte de dialogue Exécuter les configurations ou sur l'icône d'icône Exécuter.

  5. 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

  6. 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.

Création de fichier JAR

Créez un fichier JAR (une collection de fichiers nécessaires au fonctionnement de l'application WEB) à déployer (le rendre disponible).

  1. 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 le menu contextuel Exporter pour ouvrir la boîte de dialogue Exporter.

  2. Sélectionnez le nœud d'arborescence "Java"> "Fichier JAR exécutable" et cliquez sur le bouton "Suivant".

  3. Sélectionnez le nœud de l'arborescence "Tomcat", définissez la classe principale dans le champ "Lancer la configuration" et appuyez sur le bouton "Navigateur" pour ouvrir la boîte de dialogue "Enregistrer sous".

  4. Entrez le nom du fichier JAR à enregistrer dans le champ "Nom du fichier" et appuyez sur le bouton "Enregistrer".

  5. Lorsque le chemin du fichier JAR à enregistrer apparaît dans le champ "Destination d'exportation", cliquez sur le bouton "Terminer".

  6. Le fichier JAR sera généré dans le chemin défini dans le champ "Exporter la destination".

Environnement de déploiement

À partir de là, préparez-vous au déploiement. Pour l'instant, déployez sur Raspberri Pi.

Construction de l'environnement de déploiement: installation d'OpenJDK 11

Tout d'abord, installez Java.

  1. Installez OpenJDK 11 utilisé pour le développement sur Raspberri Pi.

    $ sudo apt-get install openjdk-11-jdk
    

Déployer

Lorsque l'environnement de déploiement est prêt, déployez-le.

  1. Placez les fichiers JAR et le dossier de contenu n'importe où sur la machine où vous pouvez exécuter Java.

  2. Démarrez le serveur WEB.

    $ java -jar -Dfile.encoding=UTF-8 sample.jar
    
  3. 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 Raspberry Pi}: 8080 / échantillon

  4. Entrez 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.

Recommended Posts

Créer un projet Jetty à l'aide d'Eclipse
Créer un projet Tomcat à l'aide d'Eclipse
Créer un projet Java à l'aide d'Eclipse
Créer un projet Tomcat en utilisant Eclipse Pleiades All in One
Créer une loterie avec Ruby
Créez une base pour votre projet de traitement par lots dans Eclipse.
Créer une fonction de filtrage en utilisant actes-as-taggable-on
Créer un programme Servlet dans Eclipse
Créez une application mémo avec Tomcat + JSP + Servlet + MySQL à l'aide d'Eclipse
Créez rapidement un environnement Web à l'aide de Docker
Créer un service d'API RESTful à l'aide de Grape
Déployer un projet Eclipse basé sur Tomcat sur Heroku
Créez une fonction de connexion à l'aide de l'option Swift
Créer un projet Maven
[Android] Créer un menu coulissant sans utiliser la vue de navigation
Créez instantanément un environnement Privoxy + Tor à l'aide de Docker
Créons une API REST à l'aide de WildFly Swarm.
[Rails] Comment créer un graphique à l'aide de lazy_high_charts
Créez un cadre de traitement par lots simple dans Eclipse.
Créez une application Spring Boot à l'aide d'IntelliJ IDEA
[1st] Comment créer un projet de framework Spring-MVC
Créez un environnement de développement Java à l'aide de jenv sur votre Mac
Eclipse ~ Création de projet Java ~
[Java] Créer un filtre
[CentOS, Eclipse] Charger les fichiers de bibliothèque dans le projet C
Comment créer un projet Spring Boot dans IntelliJ
[Spring Boot] Comment créer un projet (pour les débutants)
Un mémorandum lors de la tentative de création d'une interface graphique à l'aide de JavaFX
Créer un projet Web Maven
Créez un écran d'authentification de connexion à l'aide de la fonction de session
Importez par programme des projets Maven à partir de votre propre plug-in Eclipse
Créez une application Web Hello World avec Spring Framework + Jetty
Création d'un MOB à l'aide du plug-in Minecraft Java Mythicmobs | Préparation 1
[Rails] Lancer un nouveau projet
Créer un calendrier avec Ruby
Créer une méthode java [Memo] [java11]
[Java] Créer un fichier temporaire
Créez un plugin VSCode.
Créez un terrain de jeu avec Xcode 12
Utiliser Amateurs UML avec Eclipse
Faire un diamant en utilisant Java
Comment créer une méthode
Comment créer un fichier jar et un fichier war à l'aide de la commande jar
Comment créer un hinadan pour un projet Spring Boot à l'aide de SPRING INITIALIZR
[Rails 6] Comment créer un écran de saisie de formulaire dynamique à l'aide de cocoon
Créez un fichier statique qui développe les variables à l'aide de la classe ERB
[Procédure d'implémentation] Créer une fonction d'authentification utilisateur à l'aide de sorcellerie dans Rails
[Swift] Créez un projet avec Xcode (ver 12.1) et affichez "Hello, World!"
Comment créer un nouveau projet Gradle + Java + Jar dans Intellij 2016.03
Un moyen simple de créer une classe de mappage lors de l'utilisation de l'API