So fügen Sie dem Tomcat-Dienst einen Java-Startbefehl hinzu

So fügen Sie dem Tomcat-Dienst einen Java-Startbefehl hinzu

Mein erstes Serverprogramm

Ich lerne gerade, Online-Spiele zu schreiben, also muss ich serverseitige Programme schreiben. Ich habe mich nach PHP, JAVA und C umgesehen. Schließlich habe ich mich aufgrund der Kompatibilität mit Alibaba Cloud und Tencent Cloud, der geringen Kosten und des geringen Lernaufwands für Java entschieden.

Dann lernen Sie, wie man Java-Klassen schreibt. Und wie man eine Verbindung zur Datenbank herstellt und wie man den Code alle paar Sekunden ausführt. Schließlich können diese beiden kombiniert den einfachsten Server ergeben.

Mein erstes Programm ist sehr einfach. Nachdem Tomcat gestartet wurde, wird es alle 6 Sekunden ausgeführt, um eine Reihe von Zufallszahlen zu generieren und diese an die MySQL-Datenbank zu senden.
Wichtiger Punkt: Selbststartender Timer zum Schreiben in die Datenbank

Da das Schreiben in die Datenbank und Zeitoperationen in früheren Artikeln vorgestellt wurden.

Daher wird in diesem Artikel hauptsächlich der automatische Start erläutert.

Vorhandener Code:

1. Hauptfunktion: mainGame.java (die Funktion, die das Spiel startet.)

2. Frame-Ausführungsklasse: gameEnterFrame.java (verantwortlich für die Schleifenausführung. Ich habe sie so eingestellt, dass sie alle 2 Sekunden ausgeführt wird und die Nummer in die Datenbank schreibt.)

Beim Selbststart gibt es zwei wichtige Punkte:

1. Sie müssen eine Konfigurationsdatei namens web.xml ändern

In WEB-INF unter webRoot.

Wenn Ihr Pfad nicht mit meinem übereinstimmt, bedeutet das leider, dass Sie den falschen Projekttyp erstellt haben.

Denken Sie daran, ein neues Webserverprojekt zu erstellen.

Fügen Sie dieser Datei einfach drei Codezeilen hinzu, um Tomcat mitzuteilen, dass ich eine selbststartende Klasse ausführen möchte, die ich „autoRun“ genannt habe. Wie in der Abbildung unten gezeigt, ist der blaue Teil der Code, den ich hinzugefügt habe.

Fügen Sie es der Einfachheit halber hier ein.

<Listener> 
<listener-class>Spiel.autoRun</listener-class>
</listener>

Mit dieser Überwachungsanweisung können Sie die AutoRun-Klasse zur Laufzeit unter dem Spielpaket ausführen (das Spielpaket ist ein von mir selbst erstelltes Spielklassenpaket, Sie können den Namen Ihres bevorzugten Pakets erstellen). Diese AutoRun-Klasse ist der selbststartende Code, den ich geschrieben habe.

Wie man es konkret schreibt, erfahren Sie weiter unten:

2. So schreiben Sie den selbststartenden Code:

Wir müssen den selbststartenden Code zur Hauptfunktion führen lassen. Erstellen Sie also unter dem Spielpaket eine neue Datei mit dem Namen autoRun.java

Paketspiel;
import javax.servlet.ServletContextEvent; //Dies ist die Klasse, die für den Selbststart und das Server-Hintergrundereignis verwendet wird. import javax.servlet.ServletContextListener; //Dies ist die Klasse, die für den Selbststart und das Abhören im Server-Hintergrund verwendet wird. import game.mainGame; //Wir importieren die Hauptfunktion für einfaches Ausführen. //Deklarieren Sie eine AutoRun-Klasse und verwenden Sie die Schnittstelle zum Abhören im Server-Hintergrund. Feste Verwendung, Auswendiglernen public class autoRun implements ServletContextListener {
//Wenn das Backend initialisiert wird, d. h. wenn das Tomcat-Startereignis auftritt, feste Verwendung public void contextInitialized(ServletContextEvent arg0){
//Schreiben Sie hier, was Sie tun müssenSystem.out.println("MainFunction is running."); 
mainGame.main(null);
}
//Wenn das Backend zerstört wird, d. h. Tomcat geschlossen wird, wird die Nutzung behoben public void contextDestroyed(ServletContextEvent arg0){
//Schreiben Sie hier den Ausführungsinhalt}
}

Wie Sie sehen, besteht die Überwachung des Start- und Herunterfahrstatus von Tomcat aus zwei Teilen.

  • Erstens: Ich fange an, was ich tun möchte
  • Der andere ist geschlossen. Was soll ich tun?

Natürlich ist es geschlossen und ich muss jetzt nichts unternehmen. Ich muss nach dem Start nur die Hauptfunktion des Spiels ausführen. Daher habe ich die Hauptfunktion in den Startvorgang eingefügt.

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:
  • Tomcat-Startfehler: Lösung für java.util.zip.ZipException
  • Tomcat-Startfehler: java.lang.UnsatisfiedLinkError-Lösung
  • Java Zero-Base-Tutorial: So installieren und starten Sie den Tomcat-Server unter Windows (installationsfreie Version)
  • Fehler beim Starten von Tomcat: Der Proxy hat eine Ausnahme ausgelöst: java.rmi.server.ExportException: Port wird bereits verwendet: 1099 Lösung
  • Erfahren Sie, wie Sie den Tomcat-Hotstart in Javaweb konfigurieren

<<:  Detaillierte Erläuterung der SEO-Optimierungsmethode für Vue-Entwicklungswebsites

>>:  Die Verwendung und der Unterschied zwischen JavaScript-Pseudo-Array und Array

Artikel empfehlen

10 Fähigkeiten, die Frontend-Entwickler millionenschwer machen

Die Fähigkeiten, die Front-End-Entwickler beherrs...

So reduzieren Sie die Speicher- und CPU-Auslastung von Webseiten

<br />Einige Webseiten sehen nicht groß aus,...

Vue implementiert das Hoch- und Herunterladen von Dateien

In diesem Artikelbeispiel wird der spezifische Co...

Uniapps Erfahrung in der Entwicklung kleiner Programme

1. Erstellen Sie ein neues UI-Projekt Zunächst ei...

Natives JS zum Erzielen von Verzeichnis-Scrolleffekten

Hier ist ein Text-Scrolling-Effekt, der mit nativ...

Docker-Pull-Image und Tag-Vorgang Pull | Tag

Ich habe den Quellcode des Fabric-Projekts noch e...

So erhalten Sie die Schnittmenge/Differenz/Vereinigung zweier Mengen in MySQL

Typische MySQL-Szenarien: Schnittmenge und Differ...

JavaScript-Implementierung des klassischen Schlangenspiels

In diesem Artikel wird der spezifische JavaScript...

Docker nginx implementiert einen Host zum Bereitstellen mehrerer Sites

Die virtuelle Maschine, die ich von einer bestimm...

Vereinfachen Sie die komplexe Website-Navigation

<br />Das Navigationsdesign stellt eine der ...

Detailliertes Tutorial zum Bereitstellen von Apollo mit Docker

1. Einleitung Ich werde hier nicht näher auf Apol...

Anweisungen zur verschachtelten Verwendung von MySQL ifnull

Verschachtelte Verwendung von MySQL ifnull Ich ha...