Exportation de projets et de fichiers war lors de la création de Java côté serveur dans Eclipse

Dès la conclusion, il semble bon de le faire avec "Dynamic Web Project".

L'autre jour, j'ai nommé un simple projet Servlet + JSP "Projet Tomcat" sous le titre de Créer une application mémo avec Tomcat + JSP + Servlet + MySQL en utilisant Eclipse. Je l'ai créé avec Maven, mais même si je sélectionne [Projet Tomcat] -> [Créer un fichier WAR selon les paramètres du projet] dans le menu contextuel du projet, un fichier qui est un fichier solidifié dans le projet peut être créé C'était un peu subtil, alors j'ai fait des recherches.

Aussi, [Convertir en projet Maven](https://qiita.com/zaki-lknr/items/32690b071abf202281d6#tomcat%E3%83%97%E3%83%AD%E3%82%B8%E3%82% A7% E3% 82% AF% E3% 83% 88% E3% 82% 92maven% E3% 81% AB% E5% A4% 89% E6% 8F% 9B% E3% 81% 99% E3% 82% 8B) En ce qui concerne, le projet Maven a une structure de répertoires recommandée, et la fonction de conversion d'Eclipse ne sera pas effectuée avant cette conversion de structure, donc si vous prévoyez d'utiliser Maven, il semble préférable de le créer en tant que projet Maven depuis le début. ..

Créer un projet

Créé avec un projet Web dynamique

En plus de créer un projet Tomcat, il existe un "Projet Web dynamique" et sélectionnez-le.

image.png

Créé avec l'application maven-archetype-webapp de Maven

Si vous souhaitez utiliser Maven pour gérer les bibliothèques et les builds, sélectionnez "Maven Project" au lieu de "Dynamic Web Project" et sélectionnez "maven-archetype-webapp" sans cocher "Skip Archetype Selection". Créez un projet en spécifiant

image.png

image.png

Ce projet sera un projet Web dynamique pouvant utiliser Maven

Créer un fichier de guerre

Pour les projets Tomcat

Vous pouvez créer un fichier war à partir de [Projet Tomcat] -> [Créer un fichier WAR selon les paramètres du projet] dans le menu contextuel du projet (* Entrez au préalable "Paramètres d'exportation WAR" dans les paramètres Tomcat des propriétés du projet.

image.png

image.png

Cependant, lors de la création de ce fichier war, les fichiers jar externes (JDBC, etc.) n'étaient pas inclus même si les paramètres d'exportation du chemin de construction étaient définis et, comme je l'ai écrit au début, le répertoire .settings et d'autres choses inutiles n'étaient pas inclus. Inclus et très subtil. (Si vous déployez sur Tomcat, cela fonctionne) Si le fichier jar externe est inclus dans la configuration du projet (/ WEB-INF / lib / ***. Jar, etc.), il sera inclus dans le fichier war (mais dans ce cas, il sera géré en double comme un projet maven). je me sens comme

[Exporter] du menu normal n'est pas possible. (Non inclus dans le projet cible)

Pour les projets Web dynamiques

Puisqu'il ne s'agit pas d'un projet Tomcat dans Eclipse, il ne peut pas être créé à partir du menu Tomcat (il n'y a pas de menu). Cependant, vous pouvez exporter au format war depuis [Fichier (F)] -> [Exporter (O)] dans le menu normal.

image.png

image.png

Ici, définissez correctement la destination (destination de sauvegarde du fichier war) en cliquant sur le bouton [Parcourir], puis cliquez sur [Terminer] pour créer le fichier war. Dans le cas du projet spécifié par maven-archetype-webapp de Maven, il exporte vers un fichier war comprenant la bibliothèque externe telle que JDBC introduite par Maven. Dans le cas d'un projet web dynamique, il ne s'agit que d'un fichier dans la configuration du projet comme le fichier war du projet Tomcat (s'il fait référence à un fichier extérieur au projet, il n'est pas inclus dans le fichier war)

Créer une nouvelle classe Servlet

Pour les projets Tomcat

[Parce que vous ne pouvez pas utiliser la création de "Servlet" dans le nouveau menu de création, créez-le à partir de la création de "Class"](https://qiita.com/zaki-lknr/items/32690b071abf202281d6#%E3%82%B5%E3%83% BC% E3% 83% 96% E3% 83% AC% E3% 83% 83% E3% 83% 88% E3% 81% AE% E4% BD% 9C% E6% 88% 90)

Pour les projets Web dynamiques

Créer à partir de "Servlet" dans le nouveau menu

image.png

image.png

Spécification du mappage d'URL (correspondant à l'annotation source @ WebServlet)

image.png

Vous pouvez également sélectionner la méthode à remplacer lors de la création du fichier source.

image.png

Source de sortie

ExampleServlet.java


package jp.example.www;

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

/**
 * Servlet implementation class MainServlet
 */
@WebServlet(description = "Écran principal", urlPatterns = { "/" })
public class MainServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public MainServlet() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		response.getWriter().append("Served at: ").append(request.getContextPath());
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		doGet(request, response);
	}

}

Pour maven-archetype-webapp

Idem pour les fichiers .java et pour les projets Web dynamiques. Dans ce projet, le mappage d'URL et les méta-informations de description sont décrits dans src / main / webapp / WEB-INF / web.xml, et s'il provient du menu" Servlet "nouvellement créé, il sera mis à jour automatiquement. Le fera.

Recommended Posts

Exportation de projets et de fichiers war lors de la création de Java côté serveur dans Eclipse
Dans Java 10, lorsque l'éclipse gradle est terminée et que JavaSE-1.10 sort, ...
Lire et écrire des fichiers gzip en Java
Ajouter .gitignore lors de la création d'un projet dans Xcode
Lorsque le projet n'est pas affiché dans eclipse
[Java] Raccourcis Eclipse qui peuvent être améliorés en sachant lors des allers-retours entre le code source d'un projet
Eclipse ~ Création de projet Java ~
Lire des fichiers binaires en Java 1
Programme Null-safe en Java (Eclipse)
Lire des fichiers binaires dans Java 2
Premier développement Java dans Eclipse
Lorsque tomcat est démarré dans eclipse, "ClassNotFoundException" s'affiche et ne peut pas être démarré.
Lisez facilement les fichiers texte en Java (Java 11 et Java 7)
Exemple d'encodage et de décodage en Java
Essayez d'exécuter Selenuim 3.141.59 avec eclipse (java)
Créer un projet Java à l'aide d'Eclipse
Bonjour le monde de Java dans Eclipse maintenant
Classe StringBuffer et StringBuilder en Java
Comprendre equals et hashCode en Java
Faire une analyse de phrase en Java 8 (partie 2)
JPA (API de persistance Java) dans Eclipse
Création d'une analyse de phrase dans Java 8 (partie 1)
Bonjour tout le monde en Java et Gradle
Spécifiez l'ordre dans lequel les fichiers de configuration et les classes sont chargés dans Java
Comment définir les tabulations et les espaces pour qu'ils soient visibles à l'aide de la touche de tabulation pour insérer des espaces dans des fichiers Java dans Eclipse