Eine kurze Diskussion über die Lösung des Problems mit verstümmeltem Code und der Portbelegung bei Tomcat

Eine kurze Diskussion über die Lösung des Problems mit verstümmeltem Code und der Portbelegung bei Tomcat

Der Tomcat-Server ist ein kostenloser und quelloffener Webanwendungsserver. Es handelt sich um einen leichtgewichtigen Anwendungsserver, der häufig in kleinen und mittelgroßen Systemen und in Situationen eingesetzt wird, in denen es nicht viele gleichzeitige Benutzer gibt. Er ist die erste Wahl für die Entwicklung und das Debuggen von JSP-Programmen. Einige Freunde werden jedoch beim Starten von Tomcat auf verschiedene Probleme stoßen, wie zum Beispiel verstümmelte Zeichen, Portbelegung und Flashback nach dem Starten von Tomcat startup.bat. Hier werden wir sie nacheinander lösen.

Problem 1: Nach dem Start von Tomcats startup.bat werden verstümmelte Zeichen angezeigt

Bildbeschreibung hier einfügen

Suchen Sie das conf-Verzeichnis unter der Tomcat-Datei und ändern Sie den Wert von java.util.logging.ConsoleHandler.encoding in der Datei logging.properties in GBK.

Bildbeschreibung hier einfügen

Starten Sie Tomcat neu. Wenn die angezeigte Startseite so aussieht, bedeutet dies, dass das Problem mit der unleserlichen Information behoben wurde.

Bildbeschreibung hier einfügen

Problem 2: Plötzlich verschwindende Hafenbesetzung

Wenn Sie Tomcat starten, blinkt es möglicherweise und wird beendet. Tatsächlich können Sie die Protokollausgabe vom Tomcat-Terminal immer noch sehen. Zu diesem Zeitpunkt müssen Sie schnell einen Screenshot machen, um die Ausnahme zu erfassen, was zu schwierig ist.

Bildbeschreibung hier einfügen

Am besten überprüfen Sie die Protokolle und suchen das Catalina-Protokoll dieses Tages im Protokollverzeichnis unter dem Tomcat-Verzeichnis . Ich habe C:\develop\Tomcat\apache-tomcat-8.5.47\logs\catalina.2019-10-17.log hier gefunden. Im Protokoll sehen Sie eine Ausgabe wie diese: Address already in use: bind zeigt an, dass der Port belegt ist.

17.10.2019 11:14:30.521 SEVERE [main] org.apache.catalina.core.StandardService.initInternal Connector konnte nicht initialisiert werden [Connector[HTTP/1.1-8080]]
	org.apache.catalina.LifecycleException: Initialisierung des Protokollhandlers fehlgeschlagen
		bei org.apache.catalina.connector.Connector.initInternal(Connector.java:995)
		bei org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:136)
		bei org.apache.catalina.core.StandardService.initInternal(StandardService.java:552)
		bei org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:136)
		bei org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:848)
		bei org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:136)
		bei org.apache.catalina.startup.Catalina.load(Catalina.java:639)
		bei org.apache.catalina.startup.Catalina.load(Catalina.java:662)
		bei sun.reflect.NativeMethodAccessorImpl.invoke0 (native Methode)
		bei sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
		bei sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
		bei java.lang.reflect.Method.invoke(Method.java:498)
		bei org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:309)
		bei org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:492)
	Ursache: java.net.BindException: Adresse wird bereits verwendet: bind
		bei sun.nio.ch.Net.bind0 (native Methode)
		bei sun.nio.ch.Net.bind(Net.java:433)
		bei sun.nio.ch.Net.bind(Net.java:425)
		bei sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223)
		bei sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)
		bei org.apache.tomcat.util.net.NioEndpoint.bind(NioEndpoint.java:219)
		bei org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:1118)
		bei org.apache.tomcat.util.net.AbstractJsseEndpoint.init(AbstractJsseEndpoint.java:224)
		bei org.apache.coyote.AbstractProtocol.init(AbstractProtocol.java:581)
		bei org.apache.coyote.http11.AbstractHttp11Protocol.init(AbstractHttp11Protocol.java:68)
		bei org.apache.catalina.connector.Connector.initInternal(Connector.java:993)
		... 13 mehr

Suchen Sie die Konfigurationsdatei server.xml im Verzeichnis conf im Tomcat-Verzeichnis und ändern Sie den Tomcat-Startport im Connector-Tag.

Bildbeschreibung hier einfügen

<Anschlussport="9080" Protokoll="HTTP/1.1"
        VerbindungsTimeout="20000"
        UmleitungsPort="8443" />

Problem 3: Ein Blitz ohne Portproblem

Wenn Sie Tomcat starten, stürzt es sofort ab. In den Protokollen im Protokollverzeichnis werden keine Fehlerinformationen gefunden. Dies liegt wahrscheinlich daran, dass die Tomcat- und JDK-Versionen nicht übereinstimmen. Es ist möglich, dass Ihr Tomcat Tomcat 9 und Ihr JDK 1.7 ist. Informationen zur Übereinstimmung zwischen Tomcat- und JDK-Versionen finden Sie in diesem Artikel: Übereinstimmung zwischen Tomcat- und JDK-Versionen, Funktionen von Tomcat-Versionen

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • So konfigurieren Sie den Zeichensatz des Tomcat-Servers auf UTF-8, um das Problem der verstümmelten chinesischen Zeichen vollständig zu lösen
  • So lösen Sie das Problem einer großen Anzahl verstümmelter Zeichen beim Starten von Tomcat
  • In diesem Artikel erfahren Sie, wie Sie das Tomcat-Garbled-Problem lösen (sehr ausführlich!).

<<:  Einführung in die Verwendung von MySQL-Befehlen zum Erstellen, Löschen und Abfragen von Indizes

>>:  JavaScript zum Erzielen eines dynamischen Tabelleneffekts

Artikel empfehlen

MySQL 5.7.21 Installations- und Konfigurations-Tutorial

Die einfache Installationskonfiguration von mysql...

Teilen Sie 9 Linux Shell Scripting Tipps für die Praxis und Interviews

Vorsichtsmaßnahmen 1) Interpreter am Anfang hinzu...

Implementierung von Docker zum Erstellen eines Zookeeper- und Kafka-Clusters

Ich habe vor Kurzem Kafka gelernt. Als ich mich d...

Erläuterung zum Lastenausgleich und Reverseproxy von Nginx

Inhaltsverzeichnis Lastenausgleich Klassifizierun...

Verwendung des offiziellen MySQL-Exporttools mysqlpump

Inhaltsverzeichnis Einführung Anweisungen Tatsäch...

Einige Vorschläge zur Lesbarkeit des Vue-Codes

Inhaltsverzeichnis 1. Nutzen Sie Komponenten sinn...

Mit CSS3 implementierte Schaltfläche zum Hovern von Bildern

Ergebnis:Implementierungscode html <ul Klasse=...

Beispiel zum Erstellen und Ausführen mehrerer MySQL-Container in Docker

1. Verwenden Sie das Image mysql/mysql-server:lat...

So verwenden Sie das Vue-Router-Routing

Inhaltsverzeichnis 1. Beschreibung 2. Installatio...