SSM-Projekte werden häufig als War-Pakete bereitgestellt, wobei Tomcat und Maven zur Implementierung der Hot-Deployment-Konfiguration verwendet werden.

SSM-Projekte werden häufig als War-Pakete bereitgestellt, wobei Tomcat und Maven zur Implementierung der Hot-Deployment-Konfiguration verwendet werden.

Hintergrund

Wie wir alle wissen, müssen wir nach der Entwicklung eines JavaEE-Projekts das Projekt auf dem Tomcat des Servers bereitstellen. Die übliche Bereitstellungsmethode besteht darin, das Projekt in ein War-Paket zu packen und es unter die Webanwendungen von Tomcat zu legen, dann Tomcat neu zu starten und dann über die IP-Adresse + Portnummer darauf zuzugreifen. Mit dieser Bereitstellung selbst gibt es kein Problem. Das Problem besteht jedoch darin, dass Sie, wenn Sie sich noch in einer Produktionsumgebung befinden und das Projekt häufig ändern und optimieren müssen, das Projekt häufig in ein War-Paket packen und das War-Paket unter Webapps ersetzen müssen, was mühsam ist.

Als Nächstes beschreiben wir, wie die lokale Programmierung implementiert und das Projekt anschließend auf dem Tomcat des Remote-Servers bereitgestellt wird, um eine Hot-Deployment-Funktion zu erreichen.

Verwendete Technologien und Tools

  • Maven (Projekterstellung und Abhängigkeitsverwaltung)
  • tomcat7-Plugin (auf Tomcat bereitgestelltes Plugin)
  • Tomcat-Server (Webserver)
  • Der empfohlene Compiler ist IDEA

1. Stellen Sie sicher, dass der lokale Computer die Berechtigung hat, Remote-Tomcat zu verwenden

Ändern Sie die Konfigurationsdatei {TOMCAT_HOME}conf/tomcat-users.xml unter Tomcat und fügen Sie den Benutzernamen, das Kennwort und die Berechtigungen hinzu.

<Rolle Rollenname="manager-gui" />
<Rolle Rollenname="Manager-Skript" />
<Rolle Rollenname="admin-gui" />
<Rolle Rollenname="Admin-Skript" />
<Benutzer Benutzername="Tomcat" Passwort="Tomcat" Rollen="manager-gui,manager-script,admin-gui,admin-script"/>

2. Konfigurieren Sie Tomcat für den Fernzugriff

Erstellen Sie eine Datei manager.xml im Verzeichnis {TOMCAT_HOME}conf/Catalina/localhost/ des Remote-Servers und konfigurieren Sie Folgendes:

<?xml version="1.0" encoding="UTF-8"?>
<Context privilegiert="true" antiResourceLocking="false" docBase="${catalina.home}/webapps/manager">
     <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="^.*$" />
</Kontext>

Hinweis: Wenn Sie nur möchten, dass einige Benutzer es verwenden, können Sie die IP beispielsweise in allow konfigurieren .

erlauben="192.168.0.102"

3. Starten Sie den Remote-Tomcat neu

Ausführen im Bin-Verzeichnis von Tomcat

//Tomcat herunterfahren
./shutdown.sh
//Tomcat starten
./startup.sh

4. Testen Sie, ob Sie die Berechtigung zur Nutzung haben

Greifen Sie auf Tomcat zu, zum Beispiel http://192.168.0.102:8080 (verwenden Sie die IP-Adresse Ihres eigenen Servers oder Ihrer virtuellen Maschine)
Klicken Sie auf Manager-App


Bildbeschreibung hier einfügen

Geben Sie das soeben konfigurierte Tomcat-Konto und Passwort ein

Bildbeschreibung hier einfügen

Wenn Sie zu dieser Seite springen, ist die Konfiguration abgeschlossen.

Bildbeschreibung hier einfügen

Natürlich können Sie War auch auf der aktuellen Seite bereitstellen und ersetzen. Dies ist eine weitere Bereitstellungsmethode, aber immer noch nicht so bequem wie die Hot-Bereitstellung.

Frage: Wenn ein 403-Fehler auftritt,

403 Zugriff verweigert

Sie sind nicht berechtigt, diese Seite anzuzeigen.
 
Standardmäßig ist der Manager nur über einen Browser zugänglich, der auf demselben Computer wie Tomcat ausgeführt wird. Wenn Sie diese Einschränkung ändern möchten, müssen Sie die Datei context.xml des Managers bearbeiten.
 
Wenn Sie die Manager-Anwendung bereits so konfiguriert haben, dass der Zugriff erlaubt ist, und Sie die Zurück-Schaltfläche Ihres Browsers verwendet, ein gespeichertes Lesezeichen verwendet oder Ähnliches getan haben, haben Sie möglicherweise den Cross-Site Request Forgery (CSRF)-Schutz ausgelöst, der für die HTML-Schnittstelle der Manager-Anwendung aktiviert wurde. Sie müssen diesen Schutz zurücksetzen, indem Sie zur Hauptseite des Managers zurückkehren. Sobald Sie zu dieser Seite zurückkehren, können Sie die HTML-Schnittstelle der Manager-Anwendung normal weiter verwenden. Wenn diese Meldung „Zugriff verweigert“ weiterhin angezeigt wird, überprüfen Sie, ob Sie über die erforderlichen Berechtigungen für den Zugriff auf diese Anwendung verfügen.
 
Wenn Sie keine Konfigurationsdateien geändert haben, überprüfen Sie bitte die Datei conf/tomcat-users.xml in Ihrer Installation. Diese Datei muss die Anmeldeinformationen enthalten, die Ihnen die Nutzung dieser Webanwendung ermöglichen.

lösen

Ändern Sie die Datei /webapps/manager/META_INF/context.xml und kommentieren Sie die eingeschränkten Quelleinstellungen in der Datei aus.

<Kontext antiResourceLocking="falsch" privilegiert="wahr" >
 <!--Kommentieren Sie hier, um die Einstellung der Zugriffsrechte zu entfernen <Valve className="org.apache.catalina.valves.RemoteAddrValve"
     erlauben="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:0:1" />
     -->
</Kontext>

Aktualisieren Sie dann einfach die Seite, ohne Tomcat neu zu starten

5. Konfigurieren Sie das Remote-Tomcat-Administratorkonto in Maven

Fügen Sie dem Knoten in der lokalen Maven-Datei {MAVEN_HOME}/conf/settings.xml den folgenden Inhalt hinzu:

<!-- Konfigurieren Sie den Benutzernamen und das Passwort, mit denen Tomcat betrieben werden kann-->
<Server>
  <id>Krokutax</id>
  <!-- Server-Anmeldename -->
  <Benutzername>Tomcat</Benutzername>
  <!-- Server-Anmeldekennwort -->
  <Passwort>Tomcat</Passwort>
</server>

6. Konfigurieren Sie das Tomcat7-Plugin von Maven im Projekt

<!-- Tomcat-Plugin konfigurieren-->
<Plugin>
	<groupId>org.apache.tomcat.maven</groupId>
	<artifactId>tomcat7-maven-plugin</artifactId>
	<version>2.2</version>

	<Konfiguration>
		<!-- Der Name hier muss mit der ID des in {MAVEN_HOME}/conf/settings.xml konfigurierten Serverknotens übereinstimmen-->
		<server>krocutax</server>
		<!--Server-Portnummer-->
		<Port>8080</Port>
		<!-- Der Pfad zur Projektveröffentlichung ist standardmäßig das Verzeichnis tomcat/webapps. Sie können ein tieferes Verzeichnis angeben.
		Wenn Sie "/" belassen, wird das ROOT.war-Paket standardmäßig im Webapps-Verzeichnis bereitgestellt.
		<Pfad></Pfad>
		<!-- Beachten Sie, dass die URL von tomcat7 nicht beliebig geändert werden kann und das Suffix Text und nicht HTML sein muss.
		 Wenn es sich um eine lokale Tomcat-Bereitstellung handelt, können Sie localhost oder ip verwenden.
		<url>http://localhost:8080/manager/text</url>
		<!--<url>http://117.62.110.110:8080/manager/text</url>-->
		<!--Lösen Sie das Problem der verstümmelten chinesischen Parameter-->
		<uriEncoding>UTF-8</uriEncoding>
		<update>wahr</update>
		<!--Konfigurieren Sie den in tomcat\conf\tomcat-users.xml definierten Benutzernamen -->
		<Benutzername>Tomcat</Benutzername>
		<Passwort>Tomcat</Passwort>
	</Konfiguration>
</plugin>
  • Server : Der Name muss mit der ID des in {MAVEN_HOME}/conf/settings.xml konfigurierten Serverknotens übereinstimmen.
  • Port : Server-Portnummer
  • Pfad : Der Pfad, in dem das Projekt veröffentlicht wird. Das Standardverzeichnis ist tomcat/webapps. Sie können ein tieferes Verzeichnis angeben. Wenn Sie "/" stehen lassen, wird das ROOT.war-Paket standardmäßig im Verzeichnis webapps bereitgestellt.
  • url : Beachten Sie, dass die URL hier in Tomcat7 nicht beliebig geändert werden kann und das Suffix Text sein muss, nicht HTML. Wenn es sich um eine lokale Tomcat-Bereitstellung handelt, können Sie localhost und ip verwenden. uriEncoding : Lösen Sie das Problem verstümmelter chinesischer Parameter
  • Update : Hot Deployment, sonst wird später ein Fehler gemeldet
  • Benutzername : Konfigurieren Sie den Benutzernamen, der in {TOMCAT_HOME}\conf\tomcat-users.xml definiert ist.
  • Passwort : Das in {TOMCAT_HOME}\conf\tomcat-users.xml definierte Passwort

7. Starten Sie den Tomcat-Bereitstellungsbefehl von Maven im Projekt

Für die erste Bereitstellung können Sie den Befehl „tomcat7:deploy“ verwenden (wird verwendet, wenn sich unter den Webanwendungen von Tomcat kein Stammordner befindet).

Wenn Sie bereits bereitgestellt haben, verwenden Sie den Befehl „tomcat7:redeploy“.
Wenn Sie auf Projektkonflikte stoßen, können Sie den Befehl
-DskipTests bedeutet, den Test zu überspringen

Tomcat7 bereinigen: erneut bereitstellen -DskipTests

Bei der Verwendung tritt ein Fehler auf, dass die Datei nicht gefunden werden kann. Kompilieren oder packen Sie sie neu.

Verwenden Sie IDEA wie unten gezeigt


Bildbeschreibung hier einfügen

Natürlich können Sie auch den Schnellstart konfigurieren


Bildbeschreibung hier einfügen

Sie können auch IDE->Terminal oder das Stammverzeichnis des Projekts verwenden, um ein DOS-Fenster zu öffnen und den Maven-Befehl einzugeben

An diesem Punkt wurde die Hot-Bereitstellung von Tomcat + Maven konfiguriert, und Sie müssen sich nicht mehr um die umständliche Verpackung und Bereitstellung kümmern.

Zusammenfassen

Oben ist das SSM-Projekt, das ich Ihnen vorgestellt habe. Es wird häufig in War-Paketen bereitgestellt und die Hot-Deployment-Konfiguration wird mit Tomcat und Maven erreicht. Ich hoffe, es wird Ihnen helfen. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und ich werde Ihnen rechtzeitig antworten. Ich möchte auch allen für ihre Unterstützung der Website 123WORDPRESS.COM danken!
Wenn Sie diesen Artikel hilfreich finden, können Sie ihn gerne abdrucken und dabei bitte die Quelle angeben. Vielen Dank!

Das könnte Sie auch interessieren:
  • idea2020.3 ausführliches Tutorial zum Konfigurieren der Maven-Umgebung und zum Konfigurieren von Tomcat
  • Detailliertes Tutorial zur Konfiguration der Java-Laufzeitumgebung (JDK/Tomcat/Maven) und zur Installation von Tools (Idea/Eclipse)
  • IDEA konfiguriert die Java-Entwicklungsumgebung (Maven, Gradle, Tomcat)
  • Remote-Bereitstellung von Maven-Projekten && So konfigurieren Sie eine Datenbankverbindung mit Tomcat
  • Idea konfiguriert Maven-Tomcat-Plugin zur Implementierung der Projektbereitstellung
  • Importieren Sie das Maven-Webprojekt in Eclipse und konfigurieren Sie es für die Ausführung in Tomcat.
  • Zwei Möglichkeiten zum Konfigurieren von Tomcat in Maven-Projekten

<<:  Das WeChat-Applet implementiert feste Header- und Listentabellenkomponenten

>>:  Beispiele für einfache Hinzufügungs-, Lösch-, Änderungs- und Abfragevorgänge mit MySQL-Anweisungen

Artikel empfehlen

Detaillierte Beispiele für die Ausführung von Zabbix-Remotebefehlen

Inhaltsverzeichnis eins. Umfeld zwei. Vorsichtsma...

Vier Methoden zur Verwendung von JS zur Bestimmung von Datentypen

Inhaltsverzeichnis Vorwort 1. Art von 2. Instanz ...

Tutorial zum Erstellen eines FTP-Servers in Ubuntu 16.04

Ubuntu 16.04 baut FTP-Server FTP installieren FTP...

Implementierung des Tomcat-Bereitstellungsprojekts und Integration mit IDEA

Inhaltsverzeichnis 3 Möglichkeiten zum Bereitstel...

So legen Sie den Standardwert für den Datums-/Uhrzeittyp in MySQL fest

Beim Ändern des Standarddatums-/Uhrzeitwerts über...

So erreichen Sie die maximale Anzahl von Verbindungen in MySQL

Inhaltsverzeichnis Was ist der Grund für den plöt...

Analyse der Nutzungsszenarien und Konfigurationsmethoden von Nginx Rewrite

Nginx Rewrite-Nutzungsszenarien 1. Sprung der URL...

Wissen Sie, wie Sie mit Vue Screenshots von Webseiten erstellen?

Inhaltsverzeichnis 1. Installieren Sie html2Canva...

Sprechen Sie über wichtige Unterverzeichnisprobleme im Linux-System

/etc/fstab Partitionen/Festplatten automatisch mo...

Konvertieren von XHTML-CSS-Seiten in Druckerseiten

<br />In der Vergangenheit musste zum Erstel...

Hinzufügen und Löschen von Tabelleninformationen mit Javascript

Erste Schritte mit JavaScript JavaScript ist eine...

Erläuterung zu JavaScript-Anti-Shake und -Throttling

Inhaltsverzeichnis Stabilisierung Drosselung Zusa...

Ein Artikel, der Ihnen ein tiefes Verständnis von Mysql-Triggern vermittelt

Inhaltsverzeichnis 1. Wenn beim Einfügen oder Änd...