1. Configuration du port de serveur Tomcat
Toutes les configurations de Tomcat sont placées dans le dossier Conf, et le fichier server.xml à l'intérieur est le fichier de configuration de base.
Si vous souhaitez modifier le port de démarrage du serveur Tomcat, vous pouvez modifier le port dans le nœud de connecteur dans le fichier de configuration server.xml
Par exemple: modifiez le port de démarrage du serveur Tomcat du port 8080 à 8081 par défaut
Configuration par défaut du port de démarrage du serveur de serveur Tomcat
<Connecteur Port = "8080" ProtoCol = "HTTP / 1.1" ConnectionTimeout = "20000" redirectport = "8443" />
Modifiez le port de démarrage du serveur Tomcat au port 8081
<Connecteur Port = "8081" ProtoCol = "Http / 1.1" ConnectionTimeout = "20000" redirectport = "8443" />
Cela modifiera le port par défaut Tomcat par défaut d'origine 8080 au port 8081. Il convient de noter qu'une fois que le fichier * .xml du serveur est modifié, le serveur Tomcat doit être redémarré et que les nouvelles informations de configuration seront relues après le redémarrage. Étant donné que le port de démarrage TomCat a été modifié en 8081 dans le fichier server.xml, le serveur Tomcat est démarré avec le port 8081, comme indiqué dans la figure ci-dessous:
Pour accéder au serveur Tomcat, vous devez également y accéder avec le nouveau port d'accès: http: // localhost: 8081 /, comme indiqué dans la figure ci-dessous:
2. Méthode de cartographie du répertoire virtuel du serveur Tomcat
Une fois l'application Web développée, si vous souhaitez accéder au monde extérieur, vous devez remettre le répertoire où l'application Web est située sur le serveur Web pour la gestion. Ce processus est appelé cartographie des répertoires virtuels. Donc, dans le serveur Tomcat, comment cartographier les répertoires virtuels? Il y a plusieurs façons au total:
2.1. La méthode de mappage des répertoires virtuels 1: Configurez dans l'élément hôte du fichier server.xml
Recherchez l'élément hôte du fichier server.xml, comme indiqué dans la figure suivante:
Ajout <host> </ host> aux balises <context path = "/ javawebapp" docbase = "f: / javawebdemoproject" /> pour mapper l'application javawebdemoproject javawebapp sur le disque f au répertoire virtuel de javawebapp. Le répertoire virtuel de Javawebapp est géré par le serveur Tomcat. Javawebapp est un répertoire qui n'existe pas sur le disque dur. Il s'agit d'un répertoire que nous écrivons avec désinvolture, qui est un répertoire virtuel, il est donc appelé un "répertoire virtuel". Le code est le suivant:
<Host name = "localhost" Appbase = "webApps" DebackWars = "true" AutodePloy = "true" xmlValidation = "false" xmlNamespaceaware = "false"> <
Parmi eux, le contexte représente un contexte, qui représente une application Javaweb. L'élément de contexte a deux attributs.
Ⅰ.Path: utilisé pour configurer les répertoires virtuels et doit commencer par "/".
Ⅱ.Docbase: Configurez ce répertoire virtuel pour correspondre au répertoire où l'application Web est située sur le disque dur.
Utilisez le navigateur pour accéder à la ressource Web 1.JSP dans le répertoire virtuel de "/ javawebapp". Le résultat d'accès est le suivant:
1.JSP est accessible normalement, ce qui signifie que nous avons réussi à mappé le javawebdemoproject javawebapp au répertoire virtuel de Javawebapp. Accéder à "/javawebapp/1.jsp" équivaut à accéder à "f: /javawebdemoproject/1.jsp"
Remarque: Après Tomcat 6, il n'est plus recommandé d'utiliser l'élément de contexte de configuration dans le fichier server.xml pour ajouter le mappage de répertoire virtuel, car chaque fois que le fichier server.xml est modifié, le serveur Tomcat doit être redémarré avant que le fichier server.xml puisse être reloade. Il y a une description comme celle-ci dans la documentation du serveur Tomcat http: // localhost: 8080 / docs / config / context.html:
Il n'est pas recommandé de placer des éléments <context> directement dans le fichier server.xml. En effet, il rend la modification de la configuration de contexte plus invasive car le fichier conf / server.xml principal ne peut pas être rechargé sans redémarrer Tomcat.
Les éléments de contexte individuels peuvent être explicitement définis:
Dans un fichier individuel à /meta-inf/context.xml dans les fichiers d'application. Éventuellement (en fonction de l'attribut CopyXML de l'hôte), cela peut être copié sur $ cataina_base / conf / [EngineName] / [hostname] / et renommé le nom de fichier de base de l'application plus une extension ".xml".
Dans les fichiers individuels (avec une extension ".xml") dans le $ cataina_base / conf / [EngineName] / [hostname] / répertoire. Le chemin de contexte et la version seront dérivés du nom de base du fichier (le nom de fichier moins l'extension .xml). Ce fichier aura toujours la priorité sur n'importe quel fichier context.xml emballé dans le répertoire Meta-Inf de l'application Web.
À l'intérieur d'un élément hôte dans le principal conf / server.xml.
2.2. La méthode de mappage des répertoires virtuelles est 2: Laissez le serveur Tomcat cartographier automatiquement
Le serveur Tomcat gérera automatiquement toutes les applications Web dans le répertoire WebApps et la mappera dans des répertoires virtuels. En d'autres termes, les applications Web dans le répertoire WebApps du serveur Tomcat sont accessibles directement par le monde extérieur.
Par exemple: Copiez le javawebdemoproject javaweb sous un disque F directement dans le répertoire Tomcat Server Webapps, comme indiqué dans la figure ci-dessous:
À l'heure actuelle, le serveur Tomcat mappera automatiquement un répertoire virtuel "/ javawebdemoproject" avec le même nom pour l'application javawebdemoproject javaweb, puis vous pouvez utiliser le navigateur pour accéder aux ressources de l'application Javaweb, comme indiqué dans la figure ci-dessous:
2.3. La méthode de cartographie des répertoires virtuels trois
Reportez-vous à la documentation du serveur Tomcat:
Dans les fichiers individuels (avec une extension ".xml") dans le $ cataina_base / conf / [EngineName] / [hostname] / répertoire. Le chemin de contexte et la version seront dérivés du nom de base du fichier (le nom de fichier moins l'extension .xml). Ce fichier aura toujours la priorité sur n'importe quel fichier context.xml emballé dans le répertoire Meta-Inf de l'application Web.
Cela signifie: Ajoutez un fichier avec XML comme extension dans le répertoire / conf / Catalina / LocalHost du serveur Tomcat. Le nom du fichier XML peut être arbitrairement, comme l'AA.xml ci-dessous. Notez que la phrase "Le chemin de contexte et la version seront dérivés du nom de base du fichier". La signification de cette phrase est traduite par "l'attribut Path de l'élément de contexte provient du nom du fichier XML". Comme mentionné ci-dessus, l'attribut Path de l'élément de contexte est utilisé pour configurer le nom du répertoire virtuel, de sorte que le nom du répertoire virtuel est le nom du fichier XML.
$ Catalina_Base fait référence au répertoire racine du serveur Tomcat. [EngineName] fait référence au nom du moteur utilisé par le serveur Tomcat. Le moteur utilisé par Tomcat est Catalina.
Ajoutez une application Javaweb à mappage de contexte dans le fichier aa.xml, le code est le suivant:
<Contexte docbase = "f: / javawebdemoproject" />
Remarque: L'attribut Path n'est pas spécifié dans l'élément de contexte pour définir le nom du répertoire virtuel. Ensuite, le nom du répertoire virtuel mappé par "f: / javawebdemoproject" est Shenma, qui est le nom du fichier XML actuellement modifié.
Le plus grand avantage de l'utilisation de cette méthode pour cartographier les répertoires virtuels est que vous n'avez pas besoin de redémarrer le serveur Tomcat après avoir modifié le fichier de configuration. Par exemple, modifiez aa.xml à bb.xml. Le serveur Tomcat sera automatiquement indéfectiblement contextuel [/ aa], puis des informations automatiquement: déploiement du descripteur de configuration d: /apache-tomcat-7.0.53/conf/catalina/localhost/bb.xml
3. Hôte virtuel de configuration du serveur Tomcat
3.1. Configurer l'hôte virtuel
La configuration d'un hôte virtuel consiste à configurer un site Web.
Pour configurer un hôte virtuel (site Web) sur le serveur Tomcat, vous devez modifier le fichier de configuration server.xml sous le dossier Conf, utiliser l'élément hôte pour le configurer, ouvrir le serveur.xml, et vous pouvez voir un hôte virtuel (site Web) nommé localhost sur le serveur Tomcat, comme indiqué dans la figure ci-dessous:
Habituellement, nous mettons l'application Javaweb développée dans le dossier WebApps, puis nous pouvons y accéder à l'aide du "http: // localhost: numéro de port / javawebappname". En fait, nous accédons à l'hôte virtuel (hôte) dont le nom est "localhost". Cet hôte virtuel gère toutes les applications Web dans le dossier WebApps.
Par exemple: http: // localhost: 8080 / javawebdemoproject / 1.jsp. Cette adresse URL accède à la ressource Web 1.JSP dans l'application javawebdemoproject sous l'hôte virtuel nommé localhost.
Nous pouvons configurer un hôte virtuel de la manière suivante, par exemple:
<Host name = "www.gacl.cn" appbase = "f: / javawebapps"> </host>
Ici, nous avons une nouvelle configuration d'un hôte virtuel. Le nom de l'hôte virtuel est "www.gacl.cn". L'hôte virtuel "www.gacl.cn" gère désormais toutes les applications Web dans le dossier javawebapps. Habituellement, lorsque nous utilisons le nom de domaine "www.baidu.com" sur Internet pour visiter le site Web de Baidu, nous visitons en fait un hôte virtuel avec le nom "www.baidu.com". Ainsi, lorsque nous voulons accéder à l'hôte virtuel avec le nom "www.gacl.cn", nous pouvons utiliser le "nom de domaine (www.gacl.cn)" pour y accéder. Notez que appbase = "f: / javawebapps". Le dossier Javawebapps ici ne représente pas le répertoire racine d'un projet, mais un dossier qui stocke une ou plusieurs applications Javaweb, comme indiqué sur la figure ci-dessous:
C'est comme le dossier WebApps du serveur Tomcat, qui stocke de nombreuses applications Javaweb.
3.2. Enregistrez le nom de domaine dans le système Windows
Si l'hôte configuré (site Web) souhaite être accessible en externe via le nom de domaine, vous devez enregistrer le nom de domaine utilisé lors de l'accès au site Web dans le serveur DNS ou Windows System et trouver le fichier hôte dans le répertoire "C: / Windows / System32 / Drivers / etc", comme indiqué dans la figure:
Modifiez ce fichier et liez le nom de domaine et l'adresse IP du site Web nouvellement ajouté, afin que nous puissions utiliser le nom de domaine www.gacl.cn dans le navigateur pour accéder aux applications Web gérées dans le nom d'hôte virtuel www.gacl.cn.
Utilisez le navigateur pour accéder à la ressource Web 1.JSP sous l'application Web Javawebdemo1 sous le nom de domaine "www.gacl.cn" via le nom de domaine "www.gacl.cn". L'hôte virtuel "www.gacl.cn" ouvre un port 8080. Les utilisateurs ne peuvent accéder qu'à la ressource Web 1.JSP sous l'application Web Javawebdemo1 via ce port 8080 pour accéder à la ressource Web 1.JSP sous l'application Web Javawebdemo1 via cette application 8080
4. Le processus d'interaction entre le navigateur et le serveur
4.1. Schéma d'interaction du navigateur et du serveur
Schéma d'interaction du navigateur et du serveur
Lorsque nous ouvrons le navigateur et entrons sur l'adresse URL "http://www.gacl.cn:8080/javawebdemo1/1.jsp" dans la barre d'adresse du navigateur pour accéder à la ressource Web 1.JSP sur le serveur, le navigateur et le serveur ont fait une opération magique. Comment voyons-nous le contenu de la ressource Web 1.JSP dans le navigateur?
Le navigateur et le serveur font ce qui suit:
1. Le navigateur recherche le nom d'hôte correspondant au nom d'hôte dans le fichier hôte du système d'exploitation en fonction du nom d'hôte "www.gacl.cn".
2. Si le navigateur ne trouve pas l'adresse IP correspondante dans le fichier hosts du système d'exploitation, accédez au serveur DNS sur Internet pour trouver l'adresse IP correspondante de l'hôte "www.gacl.cn".
3. Une fois que le navigateur a trouvé l'adresse IP correspondante de l'hôte "www.gacl.cn", il utilise l'adresse IP pour se connecter au serveur Web.
4. Une fois que le navigateur s'est connecté au serveur Web, il utilise le protocole HTTP pour envoyer une demande au serveur. Pendant le processus d'envoi de la demande, le navigateur transmettra des données au serveur Web sous la forme d'un flux, indiquant au serveur Web quelle ressource Web d'application Web à l'accès, comme indiqué sur la figure ci-dessous:
Il s'agit des données transmises au serveur lorsque le navigateur envoie une demande au serveur Web. Expliquons le contenu de "get /javawebdemo1/1.jsp http / 1.1".
Get: Dites au serveur Web que le navigateur envoie des demandes au serveur dans GET.
/Javawebdemo1/1.jsp: Dites au serveur Web que le navigateur souhaite accéder à la ressource Web 1.JSP dans l'application Javawebdemo1.
HTTP / 1.1: indique au serveur Web que le navigateur le demande à l'aide du protocole HTTP et utilise la version 1.1.
5. Une fois le navigateur terminé les 4 étapes ci-dessus, il commence à attendre, en attendant que le serveur Web transfère la ressource Web 1.JSP à laquelle il souhaite accéder.
6. Une fois que le serveur a reçu les données transmises par le navigateur, elle commence à analyser les données reçues. Lorsque le serveur analyse le contenu dans "get /javawebdemo1/1.jsp http / 1.1", il sait que le navigateur client souhaite accéder à la ressource Web 1.JSP dans l'application Javawebdemo1. Ensuite, le serveur lit le contenu dans la ressource Web 1.JSP et transmet le contenu de lecture au navigateur sous la forme d'un flux, comme indiqué sur la figure ci-dessous:
Il s'agit des données transmises au navigateur par le serveur Web.
7. Une fois que le navigateur a obtenu les données qui lui sont transmis par le serveur, il peut afficher les données à l'utilisateur, comme indiqué dans la figure ci-dessous:
Le "javawebdemo1" que j'ai vu est l'effet du navigateur analysant les données renvoyées par le serveur.
Données renvoyées par le serveur:
HTTP / 1.1 200 OKSERVER: Apache-Coyote / 1.1Content-Type: Text / Html; Charset = ISO-8859-1Content-Length: 102Date: Lun, 19 mai 2014 14:25:14 GMT <HTML> <Eadred> <Titre> Javawebdemo1 </ititle> </ada> </ body> </html>
Il s'agit du processus d'interaction entre le navigateur et le serveur.
5. La structure de composition des applications Javaweb
Lors du développement d'applications Javaweb, différents types de fichiers ont des règles de stockage strictes. Sinon, cela peut non seulement rendre l'application Web inaccessible, mais également faire démarrer le serveur Web une erreur.
Webroot → Le répertoire où se trouve l'application Web. Généralement, le répertoire virtuel doit être configuré dans ce dossier.
┝Web-inf: Ce dossier doit être situé dans le dossier webroot et doit être nommé sous ce formulaire, avec des lettres à capitaliser.
┝web.xml: fichier de configuration, avec les exigences du format, ce fichier doit être nommé dans ce formulaire et doit être placé dans le dossier Web-Inf.
Le format de web.xml peut être directement référencé à partir de Tomcat: recherchez le fichier web.xml dans le répertoire WebApps / Root / Web-Inf dans le répertoire Tomcat, copiez le fichier dans notre dossier Web nouvellement créé et modifiez le fichier web.xml, supprimez les commentaires à l'intérieur, ne laissant que le code ci-dessous:
web.xml:
<? xml version = "1.0" Encoding = "iso-8859-1"?> <web-app xmlns = "http://java.sun.com/xml/ns/javaee" xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" XSI: ScheMalocation = "http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version = "2.5"> <display-name> </ welcome pour tomcat </ display-name>
Il s'agit du format du fichier web.xml.
Ce qui précède concerne cet article, j'espère qu'il sera utile à l'apprentissage de tout le monde.