[Probablement le plus simple] Développement d'applications WEB avec Apache Tomcat + Java Servlet

Aperçu

Lorsque j'ai essayé de développer une application WEB avec Java, je l'ai recherchée de différentes manières. Je pense qu'il y aura beaucoup d'articles sur le développement d'applications WEB utilisant JavaEE et Spring Boot. (* C'est probablement une évidence, même dans la tendance actuelle.)

Déploiement automatique en combinant les technologies ci-dessus et Maven (ou Gradle) Je pense qu'il y a beaucoup de gens qui veulent l'essayer.

Cependant, lorsque j'ai essayé de créer un environnement de développement en combinant les éléments ci-dessus, De nombreuses erreurs se produisent dans des endroits inattendus, Même si le serveur est en cours d'exécution, l'état de réponse «404 Not Found» est renvoyé. Au contraire, je pense qu'il y aura de nombreux points addictifs.

Donc, tout d'abord, en utilisant de purs "Apache Tomcat" et "Java Servlet" J'ai pensé développer une application WEB et afficher l'écran.

Vous pouvez utiliser JavaEE ou Spring Boot, essayer d'utiliser Maven, puis l'étendre.

Environnement de développement

-Eclipse IDE pour les développeurs Java d'entreprise -Apache Tomcat v8.0

Créer un projet WEB dynamique

(1) Créez un projet WEB dynamique à partir d'Eclipse en suivant les étapes ci-dessous. "Fichier" -> "Nouveau" -> "Projet WEB dynamique"

(2) Vous pouvez nommer le projet comme vous le souhaitez, comme vous le voyez dans cet article. Ici, appelons ça "bonjour le monde".

(3) Concernant le runtime cible, je pense que c'est "Apache Tomcat v7.0" par défaut. Étant donné que «Apache Tomcat v7.0» ne prend pas en charge Java EE 7. Ici, nous allons télécharger et installer "Apache Tomcat v8.0" à partir du nouveau runtime.  01.png   ④ Si vous avancez l'écran, vous verrez l'écran suivant. Ici, sélectionnez "Télécharger et installer".

※Mise en garde※ Après cela, j'ai spécifié le répertoire et le téléchargement et l'installation ont commencé. Créez à l'avance un nouveau dossier (apache-tomcat-8.0) dans le répertoire eclipse. Assurez-vous de télécharger et d'installer là-bas. Si vous ne le faites pas, la structure des dossiers sera perturbée.  02.png

⑤ Lorsque l'installation d'Apache Tomcat est terminée, le bouton «Terminer» sera activé. Cliquez sur le bouton "Terminer" pour terminer la création du projet.

Création de code source

① Ouvrez le package "hellow old", faites un clic droit sur le répertoire "Java resource-> src" et cliquez sur Cliquez sur "Nouveau-> Classe". À ce moment, veuillez changer le nom en "Hello World".   05.png

③ Cliquez sur le bouton Terminer et vous pouvez confirmer que "HelloWorld.java" est créé.

HelloWorld.java


package helloworld;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

/**
 *Classe qui affiche "Hello World" à l'écran
 */
@WebServlet("/helloworld01")
public class HelloWorld extends HttpServlet {
	private static final long serialVersionUID = 1L;

	protected void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		response.getWriter().write("Hello World!");
	}
}

④ Faites un clic droit sur le package "hello world" et sélectionnez "Export-> WAR File". Veuillez créer "helloworld.war". (* La destination de sortie peut être n'importe où.)

Créer un serveur (Apache Tomcat v8.0) et démarrer

(1) À partir de là, créons un nouveau serveur pour "Apache Tomcat v8.0" en utilisant Eclipse. Je pense qu'il y a une balise "serveur" dans Eclipse. Cliquez ici s'il vous plait. 06.png

② Cliquez sur Créer un nouveau serveur, définissez le type de serveur sur "Apache Tomcat v8.0" et ** * * Veuillez ne pas modifier les paramètres et simplement "quitter". * *** (Ne vous inquiétez pas de la sélection des ressources configurées après avoir cliqué sur "Suivant" ici. Je pense que son réglage interférera avec la compréhension de ce manuel. )

③ Je voudrais démarrer le serveur créé, mais veuillez vous familiariser un peu plus avec les paramètres. Faites un clic droit sur le serveur créé et sélectionnez "Propriétés" pour passer à l'écran ci-dessous.  image.png

④ Ici, je pense que l'emplacement est la valeur initiale ** "Works Space Metadata" **, donc Veuillez changer l'emplacement et changer l'emplacement sur "/ *** / hôte local Tomcat" comme décrit ci-dessus. (Puis appliquez et fermez)

⑤ Ensuite, double-cliquez sur le serveur et reportez-vous à l'image ci-dessous pour effectuer les réglages. 07.png

⑥ Après cela, le serveur est enfin lancé! Faites un clic droit sur le serveur et appuyez sur "Démarrer". (* Veuillez postuler lorsqu'un message vous invitant à enregistrer les modifications du serveur apparaît)

⑦ Une fois le démarrage du serveur terminé, essayez de taper l'URL suivante sur votre navigateur. C'est OK si l'écran de gestion d'Apache Tomcat est affiché.  http://localhost:8080/  09.png

Déployer le fichier WAR

① Ensuite, il s'agit d'un flux pour déployer le fichier WAR créé sur Apache Tomcat. Pour déployer, cliquez sur le bouton ** «Manager App» ** sur le côté droit de l'écran ci-dessus. L'écran d'authentification de l'utilisateur s'affiche et je ne pense pas pouvoir continuer. Ces paramètres sont définis comme suit à partir du répertoire dans lequel "Apache Tomcat v8.0" est installé. ・ Tomcat-users.xml (* dans le répertoire conf)

Commençons par ouvrir le fichier ci-dessus.

(2) Je pense qu'il y a la description suivante sur les 33e à 39e lignes.

[Avant le réglage]

<!--
  <role rolename="tomcat"/>
  <role rolename="role1"/>
  <user username="tomcat" password="<must-be-changed>" roles="tomcat"/>
  <user username="both" password="<must-be-changed>" roles="tomcat,role1"/>
  <user username="role1" password="<must-be-changed>" roles="role1"/>
-->

③ <-et-> sont commentés, supprimez-les. Remplacez toutes les parties restantes par ce qui suit [Après réglage]. (Parce qu'il y a diverses restrictions ...)

[Après le réglage]

  <role rolename="tomcat"/>
  <role rolename="role1"/>
  <role rolename="manager-gui"/>
  <role rolename="manager-status"/>
  <role rolename="manager-script"/>
  <role rolename="manager-jmx"/>
  <role rolename="admin-gui"/>
  <role rolename="admin-script"/>
  <user username="tomcat" password="s3cret" roles="tomcat"/>
  <user username="both" password="s3cret" roles="tomcat,role1"/>
  <user username="role1" password="s3cret" roles="role1"/>
  <user username="manager" password="s3cret" roles="manager-gui,manager-status,manager-script,manager-jmx"/>
  <user username="admin" password="s3cret" roles="admin-gui,admin-script"/>

(4) Après la réécriture après le réglage, enregistrez "tomcat-users.xml".

(5) Une fois les paramètres utilisateur terminés, cliquez avec le bouton droit sur le serveur et cliquez sur «Reprendre» (* redémarrer le serveur).

(4) Lorsque l'écran de gestion d'Apache Tomcat s'ouvre, cliquez sur ** "Manager App" ** et authentifiez-vous comme suit. Utilisateur: manager Mot de passe: s3cret

⑤ Je pense que la transition de page se fera correctement. [Supplément] Avec ce paramètre, les boutons suivants peuvent être authentifiés par les utilisateurs suivants. Veuillez jeter un œil aux autres pages à un autre moment. (* Le mot de passe est fixé à s3cret)

⑥ Lorsque l'écran "Manager App" s'ouvre, à partir de ce qui suit au milieu Veuillez sélectionner "helloworld.war". 10.png

⑦ Cliquez sur le bouton «Déployer» pour terminer le déploiement! Maintenant, si vous regardez l'URL suivante sur votre navigateur ...  http://localhost:8080/helloworld/helloworld01 11.png

Vous pouvez afficher en toute sécurité "Hello World!"!

À la fin

Cette fois, j'ai essayé de créer une application serveur en grattant. Cela n'a pas fonctionné car une erreur de serveur s'est produite ou l'écran affiche "404 Not Found".

Bien sûr, si vous le recherchez, vous trouverez des solutions pour chacun. En ce qui concerne les points auxquels j'étais accro cette fois, je ne pouvais pas trouver un site qui était tout dans un site, donc Cet article a été créé.

J'espère que cela sera utile pour ceux qui sont dépendants de la cause d'erreurs similaires.

Recommended Posts

[Probablement le plus simple] Développement d'applications WEB avec Apache Tomcat + Java Servlet
Mémo de développement d'applications Web avec MVN, Tomcat, JSP / Servlet avec VScode
Comparaison du développement d'applications WEB avec Rails et Java Servlet + JSP
À peu près le flux de développement d'applications Web avec Rails.
Construction d'environnement de développement d'applications Web Java avec VS Code (struts2)
Démarrez le développement d'applications Web avec Spring Boot
Création d'un environnement de développement pour les applications Web Java avec Docker pour Mac Part1
L'histoire selon laquelle le servlet n'a pas pu être chargé dans l'application Web Java
Créer un environnement de développement d'applications Web Java avec Docker pour Mac Part2
[Java / PostgreSQL] Connectez l'application WEB à la base de données
Créez un environnement Apache et Tomcat avec Docker. À propos, coopération Maven & Java
[Tutoriel] Télécharger Eclipse → Lancer l'application avec Java (Pléiades)
Bureau Java avec le même frontal que le WEB.
Construction d'environnement de développement d'applications Web en Java (pour les personnes inexpérimentées)
La première application WEB avec Spring Boot-Making a Pomodoro timer-
Jusqu'à ce que vous créiez une application Web avec Servlet / JSP (Partie 1)
[Développement personnel] 8 choses que j'ai faites après la publication de l'application Web
Résumé de l'article sur le développement d'applications Web
Application Web construite avec docker (1)
Parmi les trois serveurs Web embarqués Java, Tomcat, Jetty et Undertow, lequel fonctionnait sur GraalVM?
AWS Elastic Beanstalk # 1 avec Java à partir de zéro - Création d'un environnement d'application Web Java à l'aide de l'interface de ligne de commande EB-
Développement d'applications Web Spring5 MVC avec construction de l'environnement de code Visual Studio (installation de JDK11 / Maven / Tomcat / Visual Studio Code)
Créez un serveur Web simple avec la bibliothèque standard Java com.sun.net.httpserver
Créez un environnement de développement d'applications Web qui utilise Java, MySQL et Redis avec Docker CE pour Windows
Construction d'environnement pour le développement d'applications Servlet
Installez Java et Tomcat avec Ansible
Préparer l'environnement de développement Java avec Atom
À propos de l'environnement de développement actuel (Java 8)
Créer une application Web avec Javalin
Suivez le lien avec Selenium (Java)
Développement HTML5 par Java avec TeaVM
Exécuter des applications écrites en Java8 en Java6
Développement d'applications Web Spring 5 MVC avec Visual Studio Code Utilisation de Spring Security 1/3 [Préparation]
Développement d'applications Web Spring Boot2 avec connexion Visual Studio Code SQL Server
Développement d'applications Web Spring Boot2 avec création de Visual Studio Code Hello World
WAR l'application WEB par Spring Boot et la déployer sur le serveur Tomcat
Développement d'applications Web Spring5 MVC avec création de modèles Visual Studio Code Maven
[Java] Déployer une application Web créée avec Eclipse + Maven + Ontology avec Heroku
À quoi me suis-je préparé lorsque je suis entré dans un projet de développement d'application Android tout en développant le Web avec Java?