CodeGym /Java blog /Tilfældig /Del 1. Hvad du skal vide, før du lærer Spring og JavaEE
John Squirrels
Niveau
San Francisco

Del 1. Hvad du skal vide, før du lærer Spring og JavaEE

Udgivet i gruppen
Hvis du allerede er færdig med (eller er tæt på) at lære Java SE, så er det tid til at tænke over dine næste skridt i at erobre erhvervet som en Java-udvikler. Del 1. Hvad du skal vide, før du lærer Spring og JavaEE - 1 På den ene side har du allerede en god forståelse for Java: du ved, hvordan man arbejder med en IDE, skriver programmer og meget mere. Men hvad skal du så gøre med dine programmer? Hvordan gør man dem stadig køligere og "slip dem løs på verden"? Det bliver tydeligt, at det er på tide at tage studiet af virksomhedsteknologier op. Og nu begynder det sjove. Det er lige meget, hvilken teknologistack du beslutter dig for at starte med. Uanset om det er JavaEE eller Spring, vil du sandsynligvis støde på et væld af ting, der er langt, langt ud over din fatteevne. Mellem Java basics og avancerede teknologier er der stadig et mellemtrin i viden, som skal tages for at bevare det, der er tilbage af din selvkontrol og selvtillid, mens du læser omfangsrig dokumentation. Derfor,er at give dig den minimale teoretiske viden, der er nødvendig for dit videre studie af JavaEE eller Spring. Dette materiale er opdelt i 7 dele:
  1. Vi taler lidt om netværk.
  2. Vi vil undersøge klient-server- og trelagsarkitekturen.
  3. Vi vil udforske HTTP/HTTPS-protokollerne.
  4. Vi lærer alt, hvad du behøver at vide om Maven.
  5. Vi taler om logning.
  6. Om servletbeholdere.
  7. Og endelig om MVC.

Del 1. Vi taler lidt om netværk.

Lad os starte med det, der betyder mest ved at tale om, hvad ethvert socialt netværk, webtjeneste og web-app, instant messenger og simpelt websted er bygget på - netværket (i forbindelse med denne serie af artikler betyder udtrykket "netværk" internettet ) . Netværket består af et stort antal computere: de er forbundet og i stand til at kommunikere. Det er vigtigt at forstå, hvordan de gør dette, fordi webapplikationer sender information fra en computer til en anden.

OSI model

Open Systems Interconnection (OSI)-modellen skaber en trindelt tilgang til opbygning af et netværk. Det viser tydeligt, hvordan og på hvilket lag enheder i det samme netværk kan interagere med hinanden. I alt indeholder denne model 7 lag:
7 Ansøgning
6 Præsentation
5 Session
4 Transportere
3 Netværk
2 Data link
1 Fysisk
At bryde modellen op i abstraktionslag gør det muligt for udviklere, der for eksempel arbejder på transportlaget, ikke at skulle tænke på implementeringsdetaljer på netværks- og sessionslagene. Denne tilgang bruges også i programmering. Lad os overveje alle lagene i OSI-modellen og bestemme, hvilke der er af interesse for os:
  1. Fysisk lag - Dette lag omhandler fysikkens love og hvordan man bruger dem til vores formål. For eksempel at skabe kabler og lægge dem til enheder i netværket.

    Dette lag interesserer os ikke.

  2. Datalinklag — Dette lag er ansvarlig for at overføre data til netværksknuder og skabe datatransmissionskanaler for fysiske objekter.

    Dette lag interesserer os ikke, medmindre du vil skrive firmware til den hardware, der etablerer datalinks.

  3. Netværkslag — Dette lag er til at bestemme individuelle netværksbrugeres adresser og ruterne til dem. Der er værdi i at lære mere om detaljerne i dette lag, nemlig netværksadresser.

    Netværksadresser er defineret af en speciel protokol: den mest almindelige er IPv4 (Internet Protocol version 4). Dette er den protokol, som en webprogrammør skal bruge for at kontakte en anden netværksbruger.

    En IPv4-adresse består af fire byteværdier adskilt af punktummer, for eksempel: 192.0.2.235. Du skal huske, at disse værdier er bytes, hvilket betyder, at de ligger inden for området 0..255.

    IP-adresser er til gengæld opdelt i klasser. Vi kan ikke bare tildele os selv en smuk kombination af tal, men vi vil ikke gå meget dybt her. Det er nok at forstå, at en IP-adresse unikt identificerer en netværksbruger og kan bruges til at kontakte denne bruger.

  4. Transportlag — Dette lag håndterer levering af information til en adressat. Forskellige protokoller bruges til at opnå dette. Lige nu er vi ikke interesserede i dem. Vi er meget mere interesserede i konceptet med en havn , som vises på dette lag.

    Porte er ansvarlige for at identificere en specifik applikation på en computer. Antag for eksempel, at du skriver en chat-app i Java, installerer den på 2 computere og vil sende en besked til din ven. Din besked pakkes, sendes til en bestemt IP-adresse og leveres til din ven, men hans computer ved ikke, hvad den skal gøre med de modtagne oplysninger, fordi den ikke forstår, hvilken applikation der skal behandle din besked. Når netværksenheder kommunikerer, bruges porte til at angive, hvilken applikation der skal behandle oplysningerne.

    Porten er et tal i området fra 0 til 65535. Det tilføjes til IP-adressen efter et kolon: 192.0.2.235:8080 . Men du kan ikke bruge alle porte i det angivne område: nogle af dem er reserveret til operativsystemet, andre bruges normalt til specifikke formål. Vi vil ikke dykke ned i formålene med forskellige havne. For nu er det nok at forstå deres rolle i kommunikationsprocessen på netværket.

  5. Sessionslag — Dette lag opretter og administrerer kommunikationssessioner. På dette lag bliver det muligt for applikationer at interagere og sende anmodninger på serviceniveau. Det vi skal vide er, at på dette lag åbnes en session mellem to brugere, og vi skal arbejde med sessionen.

    En session er en enhed, der oprettes, når der etableres en forbindelse mellem to brugere. Det kan gemme nødvendige oplysninger om en bruger og om historikken for interaktion med brugeren. En vigtig detalje er, at når udvekslingen af ​​information stopper, forsvinder sessionen ikke. I stedet bevarer den sin tilstand i en bestemt periode, så brugere kan fortsætte med at udveksle oplysninger efter en pause.

    Hvis en applikation kommunikerer med flere brugere på samme tid, etableres et tilsvarende antal forbindelser (og dermed sessioner). Hver session har en unik identifikator (ID) , som gør det muligt for applikationen at skelne mellem de brugere, som den kommunikerer med.

  6. Præsentationslag — Dette lag er ansvarlig for kodning/afkodning af data. Det er klart, at hvis vi skal sende strengen "Hej web" til en anden bruger, bliver den først konverteret til (kodet som) binær kode, og først derefter sendes den. Når den når frem til modtageren, konverteres beskeden tilbage (afkodes), og modtageren kan se den originale streng. Disse handlinger finder sted på præsentationslaget.

  7. Applikationslag er det mest interessante lag for os. Det giver applikationer mulighed for at kommunikere med netværket. På dette lag modtager og sender vi beskeder og sender anmodninger til tjenester og fjerndatabaser.

    Der er mange protokoller brugt på dette lag: POP3, FTP, SMTP, XMPP, RDP, SIP, TELNET og selvfølgelig HTTP/HTTPS. En protokol er en universel aftale, som vi overholder, når vi kommunikerer. Vi vil helt sikkert give en separat detaljeret diskussion af HTTP/HTTPS.

Del 1. Hvad du skal vide, før du lærer Spring og JavaEE - 2Vi behøver ikke at vide, hvordan hvert lag af modellen fungerer. Det vigtigste er at forstå principperne bag driften af ​​de elementer, som vi skal arbejde med, når vi skriver webapplikationer, nemlig:
  • IP-adresse — Brugerens adresse i netværket
  • Port — Adressen på en specifik brugers applikation
  • Session — En enhed, der eksisterer i hele kommunikationsperioden mellem to brugere
  • Applikationsprotokoller (HTTP/HTTPS) — Dette er regler, som vi følger, når vi skriver og sender beskeder.
Når vi for eksempel besøger en netbutik, angiver vi dens adresse og port. Ved vores første besøg oprettes en session. Butikken kan optage information i sessionen. For eksempel kan butikken gemme oplysninger om varer, som vi efterlod i indkøbskurven. Hvis vi lukker fanen med netbutikken og derefter går tilbage til den senere, vil vores varer stadig være i kurven, fordi de er gemt i sessionen. Selvfølgelig modtager vi alle informationer, som vi modtager fra butikken, via HTTP/HTTPS-protokollen, og vores browser ved, hvordan den skal behandles. Du kan gøre indsigelse og sige, at du aldrig har indtastet adressen og porten i browseren, og du ville have delvis ret. Det du gjorde var at indtaste domænenavnet, som blev konverteret af en DNS-server. Lad os tage et bedre kig på, hvad der er hvad her.

DNS (Domain Name System)

Som vi allerede har lært, har hver netværksbruger en unik adresse. Hvis vi taler om applikationen, vil dens unikke adresse være IPv4-adresse:port . Hvis du kender denne adresse, kan du få direkte adgang til applikationen. Forestil dig, at vi skrev en webapplikation, der viser den gennemsnitlige lufttemperatur i alle lande i realtid. Vi installerede det på en server med adressen 226.69.237.119, på port 8080. For at kunne modtage information fra os skal brugeren indtaste 5 tal i browseren: 226.69.237.119:8080. Folk kan ikke lide at huske sæt tal udenad: mange af os kan ikke huske mere end to telefonnumre. Det er derfor Domain Name Systemblev opfundet. Vi kan oprette et "alias" for vores adresse, for eksempel world-temperature.com. I stedet for at lede efter os ved hjælp af en adresse bestående af fem svære at huske tal, kan brugeren indtaste vores domænenavn i adresselinjen i browseren. Der er DNS-servere , der kortlægger domænenavne til rigtige adresser. For eksempel, når en bruger indtaster codegym.cc i en browser, sendes hendes anmodning til en DNS-server, som konverterer den til den faktiske adresse. Del 1. Hvad du skal vide, før du lærer Spring og JavaEE - 4Dette er vigtigt for os at forstå, fordi vores applikationer kalder fjerntjenester både med domænenavne og rigtige adresser. Vi skal forstå, at i begge tilfælde er tjenesterne de samme. Det var det for nu! I denne artikel har vi set på det grundlæggende i netværk, som vil være praktisk, når du begynder at lære webprogrammering.Næste gang vil vi se på, hvad en klient-server-arkitektur er, og hvorfor det er så vigtigt at forstå. Del 2. Lad os tale lidt om softwarearkitektur Del 3. HTTP/HTTPS Del 4. Det grundlæggende i Maven Del 5. Servlets og Java Servlet API. Skrivning af en simpel webapplikation Del 6. Servlet-beholdere Del 7. Introduktion til MVC (Model-View-Controller) mønsteret
Kommentarer
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION