Verständnisproblem; Kommunikation im Internet und zwischen Programmen

  • Hallo liebe leute,

    ich habe schon einige Threads zu dem Thema eröffnet. Ich bin mittlerweile der Meinung, dass es schlauer ist, meine großen Baustellen in kleinere aufzuteilen.

    Eine der ersten ist das Verständnis der Kommunikation im Internet.

    Ich kenne die zugehörigen Protokolle wie IP, TCP, UDP etc..

    Auch über den allgemeinen Aufbau und das Server-Socket, Client-Socket Prinzip. Zumindest meine ich das.

    Ich programmiere seit 2 Jahren Java und weiss daher um Streams, Sockets u.ä. bescheid.




    Jetzt kommt der Teil, den ich nicht kenne.

    Ich möchte über eine Webseite mit einem JavaProgramm kommunizieren.

    Um etwas präziser zu sein: Ich will via JavaScript Eingaben auf einer Webseite auswerten, ein JSON an mein Java Programm senden und wenn es gehen sollte, auch eine Bestätigung an die Webseite zurück senden.

    (Client)JavaScript und AJAX |erstellen einen JSON POST Request->Daten annehmen/speichern|Apache(Server)| Daten zugreifbar machen-> Daten von Server holen | Java | POSTEN->Post request annehmen(Port)|Apache(Server) | weiterleiten ->GET REQUEST | JavaScript(Client).

    Hier solls erstmal nicht um Code gehen, sondern um den allgemeinen Ablauf und was ich dafür brauche.


    https://hc.apache.org/httpcomp…al/html/fundamentals.html

    Ich habe bereits in vielen Foren gesucht und relativ viel Freizeit reingesteckt. Bisher kam nichts dabei rum. Ich schlussfolgere daraus, dass ich etwas nicht verstehe.


    Hier ist ein grober Einblick in meinen Ablauf:

    Aufbau eines Java HTTP Servers über Apache

    Apache Server installieren

    Java Programm mit dem Webserver verbinden.

    Webseite auch über Apache laufen lassen

    Wenn meine Seite Postet, postet sie als Client an den (Apache Webserver)

    Ich speichere meinen JSON auf dem Webserver und kann ihn über einen Input Stream in Java erhalten.
    Alternativ würde ich das Ganze auch über XAMP machen. Je nachdem was mir die Kenner hier raten ;)
    Aber eins nach dem anderen.

    Das wäre meine Herangehensweise.

    Insbesondere der Schritt, wenn ich Daten von JS an den Server schicken will. (AJAX).

    Gibts da irgendein Tutorial?

    Aber ist denn mein Java Programm schon ein Server? Kann ich das wie beschrieben machen?

    Ne Anleitung mit Apache in Verbindung mit Java wäre extrem nice!

    Bin gespannt und dankbar für jede Antwort. Gerne auch Kritik oder Verbesserungen.

    LG Tric

  • Hallo Sempervivum,

    danke für die Links!

    auf den Seiten war ich und habe mich auch eingelesen.

    Aber irgendwie fällt der Groschen nicht so ganz.

    Wenn ich den Code nehme und bei mir in Eclipse reinpacke, wird trotz importierter JAR'S/Bibliotheken vieles Rot angestrichen.

    Das erschwert mir das "importierte" zu verstehen, weil ich nicht damit spielen/arbeiten kann.

    Dadurch dass ich den Code nicht selbst geschrieben habe, verstehe ich ihn teilweise nicht.

    Es tut mir echt leid wenn ich hier und da blöd frage, doch Kommunikation im Internet anzuwenden ist für mich Neuland.

    Wir sind da immer bei der Theorie geblieben. Leider.



    Code
    1. Endpoint.create(HTTPBinding.HTTP_BINDING, new Server()).publish(address);

    Scheinbar wird einfach eine ansteuerbare Adresse erzeugt. Das sagt mir schon was.....


    Wie nehme ich die Daten an?

    Reicht ein einfacher Stream?

    Wie steuere ich den Webserver über JavaScript an!

    Code
    1. public Source invoke(Source request) { return new StreamSource(new StringReader("<p>Hello There!</p>")); }

    Das wird scheinbar ausgegeben/angezeigt, wenn man die Seite ansteuert


    Code
    1. @WebServiceProvider
    2. @ServiceMode(value = Service.Mode.PAYLOAD)

    das sagt mir leider garnix.

    Was wird denn mit dem "@". Das habe ich beim Programmieren so bisher nie geshen.


    Payload schon eher. Das kenn ich von VPN und IPSec.


    LG Tri