Introduction de fond
Apache Tomcat est une implémentation open source de Java Servlet, JavaServer Pages (JSP), Java Expression Language et de la technologie Java WebSocket. Nous appelons généralement Tomcat un conteneur Web ou un conteneur Servlet.
La relation de mappage entre les versions de tomcat et les spécifications correspondantes:
lien de téléchargement
https://tomcat.apache.org/download-90.cgi
Téléchargez en local et décompressez:
Entrez dans le répertoire principal:
Présentation du catalogue Tomcat
poubelle
Démarrage, arrêt et autres scripts. Ces fichiers .sh (pour les systèmes Unix) sont des copies fonctionnelles de ces fichiers .bat (pour les systèmes Windows). Étant donné que la ligne de commande Win32 ne dispose pas de certaines fonctions, d'autres fichiers sont inclus ici.
Par exemple: startup.bat est utilisé pour démarrer tomcat sous Windows, et startup.sh est utilisé dans l'environnement Linux. En conséquence, il existe un script d'arrêt correspondant.
conf
Fichier de configuration Tomcat et DTD associé. Le fichier le plus important ici est server.xml. C'est le fichier de configuration principal du conteneur.
catalina.policy
: Tomcat: fichier de politique de sécurité, qui contrôle les autorisations liées à la JVM. Pour plus de détails, reportez-vous à java.security.Permission.
catalina.properties
: Fichier de configuration de contrôle de comportement Tomcat Catalina, tel que Common ClassLoader.
logging.properties
: Fichier de configuration du journal Tomcat. Le journal à l'intérieur utilise la journalisation JDK.
server.xml
: Fichier de configuration du serveur Tomcat (pour mes développeurs, c'est très important).
context.xml
: Fichier de configuration de contexte global, surveillez et chargez les fichiers de ressources, et chargez automatiquement lorsque le fichier surveillé change.
tomcat-user.xml
: Fichier de configuration du rôle Tomcat.
web.xml
: Fichier de déploiement web.xml standard du servlet, Tomcat implémente une configuration partielle par défaut:
org.apache.catalina.servlets.DefaultServlet。
org.apache.jasper.servlet.JspServlet
journaux
Le fichier journal se trouve ici par défaut.
localhost
Utile, lorsque votre tomcat ne démarre pas, lisez davantage ce fichier. tel que:
NoClassDefFoundError
ClassNotFoundException
access
Le plus inutile.
catalina.{date}
Principalement la sortie de la console, tous les journaux y sont.
applications Web
C'est là que se trouve votre application Web. En fait, ce sont tous un projet.
Simplifiez le mode de déploiement Web. Nos applications ne seront pas placées ici dans l'environnement en ligne. Le meilleur moyen est externe.
lib
Tomcat stocke les bibliothèques partagées. tel que:
ecj-4.17.jar: compilateur Java eclipse
jasper.jar: compilateur JSP.
travail
Stockez les fichiers compilés lors de l'exécution de tomcat, tels que les fichiers compilés par JSP.
temp
Stockez les fichiers temporaires générés pendant l'exécution.
Démarrez Tomcat
Démarrez Tomcat
Nous démarrons directement startup.bat dans le répertoire bin sous windows, ce qui correspond à startup.sh dans l'environnement Linux.
Double-cliquez pour commencer. La console entrera le port 8080, puis nous visiterons:
http: // localhost: 8080 /
Affichage de la page:
Cela signifie que notre tomcat a démarré avec succès.
A ce moment, le répertoire ROOT est demandé.http://localhost:8080/
Par exemple: nous pouvonshttp://localhost:8080/manager
Projet de servlet déployé sur tomcat
Créer un projet Web
Utilisez maven pour créer un projet Web. Comme tomcat est un conteneur Servlet, créez une classe Servlet dans le projet, puis marquez-la comme package war et copiez-la dans tomcat pour le déploiement.
La structure du projet est la suivante:
Ajouter une dépendance
<project xmlns = "http://maven.apache.org/POM/4.0.0" xmlns: xsi = "http://www.w3.org/2001/XMLSchema-instance"
xsi: schemaLocation = "http: / /maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd ">
<modelVersion> 4.0.0 </modelVersion>
<groupId> com.tian.maven </ groupId >
<artifactId> my-web-maven </artifactId>
<packaging> war </packaging>
<version> 1.0-SNAPSHOT </version>
<name> my-web-maven Maven Webapp </name>
<url> http: //maven.apache.org </url>
<dependencies>
<dependency>
<groupId> junit </groupId>
<artifactId> junit </artifactId>
<version> 3.8.1 </version>
<scope> test </scope>
</dependency>
<dependency>
<groupId> javax.servlet </groupId>
<artifactId> javax.servlet-api </artifactId>
<version> 3.1.0 </version>
</dependency>
</dependencies>
<build>
<finalName> mon-web-maven </finalName>
</build>
</project>
Créer DemoServlet
package com.tian.maven;
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;
@WebServlet (urlPatterns = "/ demo")
classe publique DemoServlet étend HttpServlet {
@Override
protected void doGet (HttpServletRequest req, HttpServletResponse resp) lance ServletException, IOException {
String msg = req.getParameter ("String msg = req.getParameter");
String contextPath = req.getServletContext (). GetContextPath ();
System.out.println ("contextPath =" + contextPath);
resp.getWriter (). println (msg);
}
}
web.xml n'a rien, juste pour l'empaquetage.
<! DOCTYPE web-app PUBLIC
"- // Sun Microsystems, Inc.//DTD Web Application 2.3 // EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<display-name> Application Web créée par l'archétype </display-name>
</web-app>
Il n'y a rien dans index.jsp pour trouver cela:
<html>
<body>
<h2> Bonjour tout le monde! </h2>
</body>
</html>
Utilisez la commande mvn pour créer un package war.
Copiez le package war marqué (en fait, copiez le dossier my-web-maven est le même) dans le répertoire webapps de tomcat:
Ensuite, allez dans le répertoire bin et double-cliquez
Une fois le projet en cours d'exécution, visitez http: // localhost: 8080 /
Prouvez que notre projet a été lancé avec succès.
Ensuite, nous visitons le Servlet que nous avons écrit:
http: // localhost: 8080 / demo? message = bonjour
Erreur, état HTTP 404-introuvable;
Remarque : lors de la visite ici, nous devons utiliser le nom du projet comme contextPath, c'est-à-dire que la méthode d'accès doit être:
http: // localhost: 8080 / my-web-maven / demo? message = bonjour
Sortie sur la page
Bonjour
C'est facile à faire, afin que notre projet puisse être déployé avec succès sur tomcat.
Déployer le projet dans IDEA sur tomcat
Créez un projet de servlet avec le nom de projet my-servlet.
Créer une nouvelle classe MyServlet
Entrez le répertoire tomcat que nous venons d'installer, entrez dans le répertoire lib et sélectionnez servlet-api.jar.
Cliquez sur OK.
Cliquez sur Appliquer, puis sur OK.
Modifiez le contenu de MyServlet:
package com.tian.servlet;
import javax.servlet. *;
import java.io.IOException;
import java.io.PrintWriter;
// Pour implémenter l'interface Servlet, les méthodes suivantes doivent être réécrites
Public class MyServlet implements Servlet {
ServletConfig transitoire privé servletConfig;
@Override
public void init (ServletConfig servletConfig) lance ServletException {
this.servletConfig = servletConfig;
}
@Override
public ServletConfig getServletConfig () {
return servletConfig;
}
@Override
public void service (requête ServletRequest, réponse ServletResponse) lève ServletException, IOException {
String servletName = servletConfig.getServletName ();
// 网页 响应 类型 , 浏览 器 将 其 渲染 为 HTML 格式
response.setContentType ("text / html");
PrintWriter writer = response.getWriter ();
writer.println ("<html> <head> </head>" + "<body> Bonjour c'est" + servletName + "</body> </html>");
}
@Override
public String getServletInfo () {
return "mon premier servlet";
}
@Override
public void destroy () {
}
}
Modifiez le contenu du fichier web.xml:
<? xml version = "1.0" encoding = "UTF-8"?> <web-app xmlns = "http://xmlns.jcp.org/xml/ns/javaee" xmlns: xsi = "http: // www .w3.org / 2001 / XMLSchema-instance "xsi: schemaLocation =" http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1 .xsd "version =" 3.1 "> <servlet> <servlet-name> myServlet </servlet-name> <servlet-class> com.tian.servlet.MyServlet </servlet-class> </servlet> <servlet-mapping > <servlet-name> myServlet </servlet-name> <url-pattern> / demo </url-pattern> </servlet-mapping> </web-app>
De plus, nous modifions le contenu de index.jsp, principalement pour une meilleure démonstration:
<% @ page contentType = "text / html; charset = UTF-8" language = "java"%> <html> <body> <h1> bonjour le monde </h1> </body> </html>
Tomcat intégré IDEA
Ajoutez le tomcat que nous avons installé dans notre IDEA:
Accédez à l'interface de configuration de tomcat:
Configurez Tomcat:
Entrez le répertoire d'installation:
Cliquez sur OK,
Entrez ensuite la colonne de déploiement:
Ajoutez le projet de servlet que nous avons créé:
Notre projet est automatiquement ajouté:
Cliquez ensuite sur Appliquer, puis sur OK.
IDEA intègre tomcat et associe nos projets. Exécutons-le ci-dessous:
Démarrez Tomcat
Cliquez sur le triangle vert:
Prouvez que notre projet a été lancé avec succès dans tomcat.
Visitez notre servlet
À ce stade, nous pouvons venir visiter notre servlet.
Visitez: http: // localhost: 8080 / L' affichage de la page est le contenu de index.jsp que nous avons modifié précédemment.
Alors visitez notre propre Servlet:
http: // localhost: 8080 / démo
Nous sortons avec succès notre contenu. Eh bien, c'est tout dans cet article, une simple entrée de chat.
Pour résumer
Qu'est-ce que tomcat, comment installer tomcat, comment démarrer tomcat, comment déployer notre propre projet Servlet, comment intégrer tomcat dans IDEA et comment démarrer tomcat.
「」人只要不失去方向,就不会失去自己