JavaRush /Java-Blog /Random-DE /Teil 1. Was Sie wissen müssen, bevor Sie Spring und JavaE...

Teil 1. Was Sie wissen müssen, bevor Sie Spring und JavaEE lernen

Veröffentlicht in der Gruppe Random-DE
Wenn Sie Ihr Java SE-Studium bereits abgeschlossen haben oder kurz davor stehen, ist es an der Zeit, über die nächsten Schritte nachzudenken, um den Beruf des Java-Entwicklers zu erobern. Teil 1. Was Sie wissen müssen, bevor Sie Spring und JavaEE lernen – 1Einerseits verfügen Sie bereits über gute Java-Kenntnisse: Sie wissen, wie man mit der IDE arbeitet, Programme schreibt und vieles mehr. Aber was sollen wir als nächstes mit ihnen, den Programmen, machen? Wie kann man sie cooler machen und „in die Welt entlassen“? Es wird deutlich, dass es an der Zeit ist, mit dem Studium von Unternehmenstechnologien zu beginnen. Und hier beginnt der Spaß. Es spielt keine Rolle, für welchen Technologie-Stack Sie sich entscheiden. Ob JavaEE oder Spring, Sie werden wahrscheinlich auf viele Dinge stoßen, die Sie noch nicht verstehen. Zwischen den Grundlagen von Java und fortgeschrittenen Technologien gibt es immer noch einen mittleren Wissensstand, der Ihnen hilft, beim Lesen umfangreicher Dokumentationen nicht die Reste an Selbstbeherrschung und Selbstvertrauen zu verlieren. Daher besteht der Zweck dieser Artikelserie darin, Ihnen das minimal notwendige theoretische Wissen für das weitere Studium von JavaEE oder Spring zu vermitteln. Das gesamte Material ist in 7 Teile unterteilt:
  1. Lassen Sie uns ein wenig über das Netzwerk sprechen.
  2. Betrachten wir die Struktur der Client-Server- und Drei-Ebenen-Architektur.
  3. Schauen wir uns die HTTP/HTTPS-Protokolle an.
  4. Erfahren Sie alles, was Sie über Maven wissen müssen.
  5. Reden wir über Servlets.
  6. Servlet-Container.
  7. Und schließlich – über MVC.

Teil 1. Lassen Sie uns ein wenig über das Netzwerk sprechen

Beginnen wir mit dem Wichtigsten und sprechen über die Grundlage, auf der alle sozialen Netzwerke, Webdienste und -anwendungen, Instant Messenger und einfachen Websites aufgebaut sind – über das Netzwerk ( im Kontext dieser Artikelserie bedeutet der Begriff „Netzwerk“. das globale Internet ). Ein Netzwerk besteht aus einer Vielzahl von Computern: Sie sind miteinander verbunden und kommunikationsfähig. Es ist wichtig zu verstehen, wie sie dies tun, da Webanwendungen für die Übertragung von Informationen von einem Computer auf einen anderen verantwortlich sind.

OSI-Netzwerkmodell

Das OSI-Modell (Open Systems Interconnection) schafft einen mehrschichtigen Ansatz zum Aufbau eines Netzwerks. Es zeigt deutlich, wie und auf welcher Ebene Mitglieder desselben Netzwerks miteinander interagieren können. Insgesamt enthält dieses Modell 7 Ebenen:
7 Angewandt
6 Darstellung
5 Sitzung
4 Transport
3 Netzwerk
2 Leitung
1 Körperlich
Die Aufteilung in Abstraktionsschichten ermöglicht es Spezialisten, die beispielsweise auf der Transportschicht arbeiten, sich keine Gedanken über die Details der Netzwerkimplementierung auf der Netzwerk- und Sitzungsebene zu machen. Dieser Ansatz wird auch in der Programmierung verwendet. Schauen wir uns alle Schichten des OSI-Modells an und finden heraus, welche davon für uns interessant sind:
  1. 1. Physische Ebene – hier wirken die Gesetze der Physik, und die Aufgabe des Menschen besteht darin, diese für seine Zwecke zu nutzen und zu lenken. Beispielsweise das Erstellen von Kabeln und deren Verlegung zu Netzwerkteilnehmern.

    Wir haben kein Interesse.

  2. Datenverbindungsschicht – verantwortlich für die Übertragung von Daten an Netzwerkknoten und die Erstellung von Datenübertragungskanälen auf physischen Objekten.

    Нам не интересен, если только нет желания писать прошивку для каналообразующей аппаратуры.

  3. Сетевой уровень — для определения Adresseов отдельных пользователей сети и маршрутов к ним. На этом уровне стоит остановиться подробнее, а именно — на Adresseе пользователя в сети.

    Он определяется специальным протоколом: самый распространённый — IPv4 (Internet Protocol version 4). Именно его нужно использовать веб-программисту для обращения к другому абоненту сети.

    IPv4 состоит из четырех Byteовых значений, разделенных точкой, например: 192.0.2.235. Стоит помнить, что значения Byteовые, а значит, они лежат в пределах 0..255.

    IP-Adresseа, в свою очередь, делятся на классы, и просто так присвоить себе красивую комбинацию циферок не получится, но так сильно углубляться мы не станем. Достаточно понимать, что IP-Adresse — это уникальный идентификатор абонента в сети, по которому мы сможем к нему обратиться.

  4. Транспортный уровень — занимается доставкой информации Adresseату. Для этого используются разные протоколы, которые нам пока не интересны. Гораздо больше нас интересует понятие, которое появляется на этом уровне, — port.

    Порты отвечают за идентификацию конкретного Anwendungen на компьютере. Например, ты написал чат на Java, установил на 2 компа и хочешь отправить своему собеседнику. Твое сообщение упаковывается, отправляется по конкретному IP-Adresseу, доставляется твоему собеседнику, но его ПК не знает, что делать с полученной информацией, так Wie не понимает, Wieое приложение должно обработать твое сообщение. Для этого и указываются порты при общении абонентов в сети.

    Порт представляет собой число от 0 до 65535. Он добавляется к IP-Adresseу после двоеточия: 192.0.2.235:8080. Но нельзя использовать все порты из указанного диапазона: часть из них зарезервирована под операционную систему, еще часть принято использовать с конкретно оговоренной целью. В преднаBedeutung разных портов углубляться не будем, пока достаточно понимать их роль в процессе общения в сети.

  5. Сеансовый уровень — создает и управляет сеансами связи приложений. На этом уровне становится возможным взаимодействие приложений, отправка Anfrageов служебного уровня. Для нас важно знать, что на этом уровне между двумя абонентами открывается сессия (session), с которой нам часто придется работать.

    Сессия — сущность, которая создается при установке связи между двумя пользователями. В ней можно сохранять нужную нам информацию о юзере, об истории их взаимодействия. Важной деталью является то, что при остановке обмена информацией сессия не пропадает, а сохраняет свое состояние на протяжении установленного промежутка времени, поэтому пользователи могут продолжить обмен информацией после перерыва.

    Wenn eine Anwendung mit mehreren Benutzern gleichzeitig kommuniziert, werden entsprechend viele Verbindungen und damit Sitzungen aufgebaut. Jede Sitzung verfügt über eine eindeutige Kennung (ID) , die es der Anwendung ermöglicht, zwischen den Benutzern zu unterscheiden, mit denen die Kommunikation stattfindet.

  6. Präsentationsschicht – verantwortlich für die Kodierung/Dekodierung von Daten. Wenn wir die Zeichenfolge „Hallo Web“ an einen anderen Benutzer senden müssen, wird diese natürlich zuerst in Binärcode umgewandelt (codiert) und erst dann gesendet. Sobald sie das Ziel erreicht, wird die Nachricht zurückkonvertiert (dekodiert) und der Empfänger kann die ursprüngliche Zeichenfolge sehen. Diese Aktionen finden auf der Präsentationsebene statt.

  7. Die Anwendungsschicht ist für uns die interessanteste Schicht. Es ermöglicht Anwendungen, mit dem Netzwerk zu interagieren. Auf dieser Ebene empfangen und senden wir Nachrichten und stellen Anfragen an Dienste und entfernte Datenbanken.

    Es gibt viele Protokolle, die auf dieser Ebene verwendet werden: POP3, FTP, SMTP, XMPP, RDP, SIP, TELNET und natürlich HTTP/HTTPS. Ein Protokoll ist eine universelle Vereinbarung, die wir beim Verfassen von Nachrichten einhalten. Wir werden auf jeden Fall separat und detaillierter auf die HTTP/HTTPS-Protokolle eingehen.

Teil 1. Was Sie wissen müssen, bevor Sie Spring und JavaEE lernen – 2 Wir müssen nicht wissen, wie jede Ebene dieses Modells funktioniert. Das Wichtigste ist, die Funktionsprinzipien der Elemente zu verstehen, mit denen wir uns beim Schreiben von Webanwendungen befassen müssen, nämlich:
  • IP-Adresse – die Adresse des Teilnehmers im Netzwerk;
  • Port – Anwendungsadresse eines bestimmten Abonnenten;
  • Eine Sitzung ist eine Einheit, die während der gesamten Kommunikation zwischen zwei Teilnehmern existiert;
  • Anwendungsprotokolle (HTTP/HTTPS) sind die Regeln, die uns beim Verfassen und Senden von Nachrichten leiten.
Wenn wir beispielsweise einen Online-Shop besuchen, geben wir dessen Standort, Adresse und Port an. Bei Ihrem ersten Besuch wird eine Sitzung erstellt, in der der Shop Informationen erfassen kann. Zum Beispiel über die Waren, die wir im Warenkorb gelassen haben. Wenn wir den Tab „Online-Shop“ schließen und dann dorthin zurückkehren, bleiben unsere Produkte im Warenkorb, da sie in der Sitzung gespeichert werden. Natürlich erhalten wir alle Informationen, die wir vom Shop erhalten, über das HTTP/HTTPS-Protokoll und unser Browser kann sie verarbeiten. Sie können einwenden und sagen, dass Sie nie die Adresse und den Port im Browser eingegeben haben, und Sie werden teilweise Recht haben, weil Sie den Domainnamen eingegeben haben, der auf dem DNS-Server konvertiert wurde. Aber schauen wir uns hier genauer an, was was ist.

DNS (Domain Name System)

Wie wir bereits herausgefunden haben, hat jeder Teilnehmer im Netzwerk eine eindeutige Adresse. Wenn es sich um eine Anwendung handelt, lautet ihre eindeutige Adresse IPv4:port . Wenn Sie diese Adresse kennen, können Sie direkt auf die Anwendung zugreifen. Stellen wir uns vor, wir hätten eine Webanwendung geschrieben, die die durchschnittliche Lufttemperatur in allen Ländern in Echtzeit anzeigt. Wir haben es auf einem Server mit der Adresse 226.69.237.119 und auf Port 8080 bereitgestellt. Damit der Benutzer Informationen von uns erhält, muss er 5 Zahlen in den Browser eingeben: 226.69.237.119:8080. Menschen erinnern sich nicht gern an Zahlenreihen: Nicht jeder von uns erinnert sich an mehr als zwei Telefonnummern. Aus diesem Grund wurde das Domain-Name-System erfunden . Wir können einen „Alias“ für unsere Adresse erstellen – zum Beispiel world-temperature.com – und anstatt mit einer fünfstelligen Adresse nach uns zu suchen, kann der Benutzer unseren Domainnamen in die Adressleiste des Browsers eingeben. Um Domänennamen und echte Adressen abzugleichen, gibt es DNS-Server . Wenn ein Benutzer beispielsweise javarush.ru in den Browser eingibt, wird seine Anfrage an den DNS-Server gesendet, wo sie in eine echte Adresse umgewandelt wird. Teil 1. Was Sie wissen müssen, bevor Sie Spring und JavaEE lernen – 4Für uns ist es wichtig, dies zu verstehen, da wir in unseren Anwendungen Remote-Dienste sowohl über den Domänennamen als auch über die tatsächliche Adresse aufrufen und es sich hierbei um dieselben Dienste handelt. Das ist alles! In diesem Artikel haben wir uns mit den Grundlagen des Netzwerkdesigns befasst, die nützlich sein werden, bevor Sie mit dem Erlernen der Webprogrammierung beginnen. Beim nächsten Mal schauen wir uns an, was eine Client-Server-Architektur ist und warum es so wichtig ist, sie zu verstehen. Teil 2. Lassen Sie uns ein wenig über Softwarearchitektur sprechen. Teil 3. HTTP/HTTPS-Protokolle. Teil 4. Maven-Grundlagen. Teil 5. Servlets. Schreiben einer einfachen Webanwendung Teil 6. Servlet-Container Teil 7. Einführung in das MVC-Muster (Model-View-Controller) Teil 8. Schreiben einer kleinen Spring-Boot-Anwendung
Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION