2017-08-01 1 views
1

Ich habe eine Java-Standalone-Anwendung mit den folgenden Dingen:Muss ich meinen Java-Server neu schreiben, wenn ich ein Servlet schreiben möchte?

  • eine Datenbank.
  • Ein Server, der auf eine Datenbank zugreift und Anfragen von den Clients annimmt.
  • Ein mit MVC-Muster programmierter Client, der die Datenbank über den Server aktualisiert.

Jetzt möchte ich eine Webseite machen, von der Kunden die Datenbank aktualisieren können. Ich weiß, dass ich hier zwei Optionen habe: Java Web Services und Servlets. Ich würde es vorziehen, ein Servlet zu verwenden, da Java-Webdienste die Installation von Software erfordern und einige Geräte daran hindern würden, die Anwendung zu verwenden.

Meine Frage ist: muss ich den größten Teil des Codes meines Servers neu schreiben, um das Servlet zu implementieren, oder es ist nur hinzufügen und ändern einige Dinge meines Server-Codes?

+0

Das hängt ganz davon ab, wie Sie es strukturiert haben, als Sie es zum ersten Mal geschrieben haben. Hoffentlich, wenn Sie schlau waren, dann nein. – Michael

+0

Sie können Springboot statt nur ein Servlet ausprobieren. – StanislavL

Antwort

0

Sie haben bereits eine Serverkomponente, die Anfragen von Clients bearbeitet. Sie müssen dies nur um einen HTTP-Server erweitern, der Anforderungen von HTTP-Clients akzeptiert und verarbeitet.

Sie möchten wahrscheinlich in einem Container wie Tomcat ausgeführt werden. Wenn Sie diese Route verwenden, sollten Sie einen ServletContextListener implementieren, um Ihre vorhandene Anwendung beim Starten/Herunterfahren zu initialisieren/bereinigen.

Sie werden dann den Container (z. B. Tomcat) verwenden, um den gesamten Server (vorhandene und neue Webendpunkte) zu starten. Wahrscheinlich möchten Sie, dass der Web-Inhalt einen Port (z. B. 80 oder 443) und einen anderen Port für Ihre bestehenden Client-Verbindungen erreicht.

Für jeden Ihrer vorhandenen Anforderungshandler, die Sie über HTTP zur Verfügung stellen möchten, sollten Sie Ihren Code so umgestalten, dass die gesamte Datenvalidierung und Geschäftslogik durch eine einzige Methode implementiert werden (Sie haben sie vielleicht geschrieben) auf diese Weise zu beginnen). Dann fügen Sie einen Webdienst hinzu, um die HTTP-Anforderung zu verarbeiten, und rufen dieselbe Methode auf wie die vorhandenen Serverimplementierungsaufrufe.

Möglicherweise möchten Sie eines der vielen Web-Service-Frameworks verwenden, die es gibt (z. B. Jersey).

Verwandte Themen