[Java] Comment obtenir une requête par communication HTTP

introduction

Pour les débutants, nous vous montrerons comment obtenir une demande de la réception via une communication HTTP en utilisant Java.

Cette fois, nous utiliserons un programme Java appelé Servlet pour obtenir la requête par communication HTTP avec Java.

Un servlet est un programme Java qui s'exécute sur un serveur WEB tel que Tomcat. Il joue un rôle dans la réponse aux demandes des navigateurs WEB et le traitement des données envoyées.

Dans cet exemple de programme, une demande est effectuée à partir du navigateur WEB, Nous allons créer un programme qui renvoie une simple réponse HTML au navigateur.

1. Environnement de développement

Après cela, il sera expliqué dans les versions et environnements suivants.

IDE:eclipse Version Java: 8 Tomcat:8

2. Structure du répertoire

La structure de dossiers de cet exemple de programme est la suivante. 20190418-000121.png

3. Créez un projet

Tout d'abord, sélectionnez «Projet Web dynamique» dans Créer un nouveau projet et passez au suivant.

スクリーンショット 2019-04-16 23.59.56.png

Ensuite, nommez le projet "SampleHttpServer". Assurez-vous également que le runtime cible est "Tomcat 8". S'il n'y a pas de problème, cliquez sur le bouton Terminer.

スクリーンショット 2019-04-17 0.00.44.png

4. Créez un servlet

Faites d'abord un clic droit sur le répertoire src et sélectionnez Nouveau> Autre.

スクリーンショット 2019-04-17 0.04.09.png

Ensuite, le navigateur suivant apparaîtra. Sélectionnez "Servlet" et passez au suivant.

スクリーンショット 2019-04-17 0.04.21.png

Ensuite, nommez la classe "HttpServletTest". Les packages Java peuvent être répertoriés ou non. Si ce n'est pas indiqué, le servlet sera créé dans le package par défaut.

Après avoir entré le nom de la classe, passez à la suivante.

スクリーンショット 2019-04-17 0.07.51.png

Décochez les constructeurs de superclasse et les méthodes abstraites héritées.

スクリーンショット 2019-04-17 0.10.38.png

Appuyez sur Terminer pour terminer la création de la classe de servlet.

5. Exemple de PGM

Cette fois, nous allons créer une PGM simple qui renvoie "Succès!" Au navigateur lorsque l'URL http: // localhost: 8080 / SampleHttpServer / HttpServletTest est exécutée dans le navigateur.

Tout d'abord, réécrivez la partie d'annotation comme suit.

name fait référence au nom de la servlet et fonctionne sans le mentionner, mais il est souvent écrit par convention. urlPatterns est l'URL (chemin relatif) pour accéder à ce servlet.

Il est normal de comprendre que "private static final long serialVersionUID = 1L" est comme un tour de magie lors de la lecture et de l'écriture de données.

java


@WebServlet(name = "HttpServletTest", urlPatterns = { "/HttpServletTest" })
public class HttpServletTest extends HttpServlet {
	private static final long serialVersionUID = 1L;
}

Ensuite, écrivez le code source qui reçoit la demande du navigateur et renvoie la réponse HTML.

java


@WebServlet(name = "HttpServletTest", urlPatterns = { "/HttpServletTest" })
public class HttpServletTest extends HttpServlet {
	private static final long serialVersionUID = 1L;

        //La pièce à ajouter cette fois
	@Override
	protected void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		System.out.println("Demander un reçu");
		//Type de contenu d'en-tête de réponse HTTP
		response.setContentType("text/html");

		//Partie du corps HTTP
		PrintWriter out = response.getWriter();
		out.println("<!DOCTYPE html>");
		out.println("<html>");
		out.println("<head>");
		out.println("<meta charset=\"UTF-8\">");
		out.println("<title>Test</title>");
		out.println("</head>");
		out.println("<body>");
		out.println("<h1>Success!</h1>");
		out.println("</body>");
		out.println("</html>");
		System.out.println("Réponse de retour");
	}

Tout d'abord, la méthode doget () est décrite comme ci-dessus à chaque fois que vous faites une requête GET.

Lors du renvoi d'une réponse, setContentType spécifie la forme dans laquelle la réponse est renvoyée. Cette fois, la réponse est renvoyée en HTML, donc "text / html" est spécifié.

Ensuite, utilisez la méthode response.getWriter () pour obtenir un objet de la classe "PrintWriter" pour la sortie de caractères vers le client et pour la sortie de texte HTML.

Aussi, afin de vérifier qu'elle a bien été reçue côté serveur, Sytem.out.println permet de connaître la réception de la demande et le retour de la réponse.

6. Exécutez un exemple de PGM

Cliquez avec le bouton droit sur le projet et appuyez sur Exécuter sur le serveur.

スクリーンショット 2019-04-17 0.17.54.png スクリーンショット 2019-04-17 0.18.14.png

Lorsque le serveur démarre, exécutez l'URL suivante dans votre navigateur, et lorsque «Success!» S'affiche comme illustré ci-dessous, c'est OK. Vérifiez également que le journal "Demande de réception / Retour de réponse" est sorti sur la console.

http://localhost:8080/SampleHttpServer/HttpServletTest

スクリーンショット 2019-04-17 0.19.29.png

à la fin

J'ai commencé mon blog personnel en 2020!

Sur la base des connaissances et de l'expérience acquises en tant qu'ingénieur indépendant, nous prévoyons de diffuser des informations sur les ingénieurs indépendants, des informations techniques informatiques, des informations sur l'industrie, des hacks de vie d'ingénieur et d'autres contenus.

Le nombre d'articles est encore faible, mais nous le mettons à jour chaque semaine, donc si vous êtes intéressé, veuillez jeter un coup d'œil.

https://yacchi-engineer.com/

Recommended Posts

[Java] Comment obtenir une requête par communication HTTP
[Java] Comment découper une chaîne de caractères caractère par caractère
Comment créer un conteneur Java
Comment créer un tableau Java
Comment créer un résumé de calendrier Java
[Introduction à Java] Comment écrire un programme Java
Comment créer un robot Discord (Java)
[Java] Comment obtenir le répertoire actuel
Comment obtenir la date avec Java
[Java] Comment accéder au début d'une chaîne spécifique à l'aide de la classe String
Comment une personne complètement inexpérimentée a étudié pour acquérir de l'argent Java par elle-même
Comment obtenir le chemin absolu d'un répertoire s'exécutant en Java
Comment suivre quand un bucket géré par scoop change (principalement Java)
Comment obtenir un heapdump à partir d'un conteneur Docker
Comment afficher une page Web en Java
Comment obtenir une classe depuis Element en Java
Comment convertir un contrat de solidité en une classe de contrat Java
[Java] Comment obtenir des nombres aléatoires en excluant des nombres spécifiques
Comment obtenir et étudier Java SE8 Gold
[Java] Comment obtenir l'URL redirigée finale
[Java] Comment obtenir des éléments HashMap par contrôle de boucle à l'aide de l'instruction Extended for
[Java] Comment obtenir l'URL de la source de transition
Comment créer un environnement Java en seulement 3 secondes
Comment passer d'Eclipse Java à un fichier SQL
java: Comment écrire une liste de types génériques [Note]
[Java] Comment sortir de Janken (équivalent à paiza rang A)
[Java] Comment obtenir la valeur maximale de HashMap
À partir d'avril 2018 Comment installer Java 8 sur Mac
[Java] Comment exécuter des tâches régulièrement
Résumé de l'API de communication Java (1) Comment utiliser Socket
[Java] Comment effacer un caractère spécifique d'une chaîne de caractères
Résumé de l'API de communication Java (3) Comment utiliser SocketChannel
Comment convertir A en A et A en A en utilisant le produit logique et la somme en Java
Comment convertir un fichier en tableau d'octets en Java
Résumé de l'API de communication Java (2) Comment utiliser HttpUrlConnection
[Java] Comment rompre une ligne avec StringBuilder
(Java) Comment implémenter equals () pour une classe avec des éléments de valeur ajoutés par héritage
[Java] Comment obtenir la clé et la valeur stockées dans Map par traitement itératif
Comment demander en passant un tableau à une requête avec le client HTTP de Ruby
Comment abaisser la version java
[Java] Comment utiliser Map
Java - Comment créer JTable
Comment utiliser java Facultatif
Comment réduire les images Java
Comment rédiger un commentaire java
Comment laisser un commentaire
Comment utiliser la classe Java
[Java] Comment afficher les Wingdings
Comment utiliser Java Map
Comment définir des constantes Java
Comment utiliser les variables Java
Comment convertir la base Java
[Java] Comment implémenter le multithreading
Comment initialiser un tableau Java