CodeGym /Java-blogg /Tilfeldig /Del 1. Hva du trenger å vite før du lærer Spring og JavaE...
John Squirrels
Nivå
San Francisco

Del 1. Hva du trenger å vite før du lærer Spring og JavaEE

Publisert i gruppen
Hvis du allerede har fullført (eller er i nærheten av) å lære Java SE, er det på tide å tenke på de neste trinnene dine for å erobre yrket som en Java-utvikler. Del 1. Hva du trenger å vite før du lærer Spring og JavaEE - 1 På den ene siden har du allerede en god forståelse av Java: du vet hvordan du jobber med en IDE, skriver programmer og mye mer. Men hva bør du gjøre videre med programmene dine? Hvordan gjør du dem kjøligere og "slipper dem løs på verden"? Det blir tydelig at det er på tide å ta opp studiet av bedriftsteknologier. Og nå begynner moroa. Det spiller ingen rolle hvilken teknologistabel du bestemmer deg for å begynne med. Enten det er JavaEE eller Spring, vil du sannsynligvis komme over massevis av ting som er langt, langt utenfor din forståelse. Mellom Java grunnleggende og avanserte teknologier gjenstår det et mellomtrinn i kunnskap som må tas for å beholde det som gjenstår av din selvkontroll og selvtillit mens du leser omfangsrik dokumentasjon. Derfor,er å gi deg minimum teoretisk kunnskap som er nødvendig for videre studier av JavaEE eller Spring. Dette materialet er delt inn i 7 deler:
  1. Vi skal snakke litt om nettverk.
  2. Vi vil undersøke klient-server- og trelagsarkitekturen.
  3. Vi vil utforske HTTP/HTTPS-protokollene.
  4. Vi lærer alt du trenger å vite om Maven.
  5. Vi snakker om logging.
  6. Om servletbeholdere.
  7. Og til slutt, om MVC.

Del 1. Vi skal snakke litt om nettverk.

La oss starte med det som betyr mest ved å snakke om hva ethvert sosialt nettverk, netttjeneste og nettapp, instant messenger og enkelt nettsted er bygget på – nettverket (i sammenheng med denne artikkelserien betyr begrepet " nettverk" Internett ) . Nettverket består av et stort antall datamaskiner: de er sammenkoblet og i stand til å kommunisere. Det er viktig å forstå hvordan de gjør dette, fordi nettapplikasjoner sender informasjon fra en datamaskin til en annen.

OSI-modell

Open Systems Interconnection (OSI)-modellen skaper en lagdelt tilnærming til å bygge et nettverk. Den viser tydelig hvordan og på hvilket lag enheter i samme nettverk kan samhandle med hverandre. I alt inneholder denne modellen 7 lag:
7 applikasjon
6 Presentasjon
5 Økt
4 Transportere
3 Nettverk
2 Data lenke
1 Fysisk
Å bryte modellen inn i lag med abstraksjon gjør at utviklere som for eksempel jobber med transportlaget slipper å tenke på implementeringsdetaljer på nettverks- og sesjonslagene. Denne tilnærmingen brukes også i programmering. La oss vurdere alle lagene i OSI-modellen, og finne ut hvilke som er av interesse for oss:
  1. Fysisk lag - Dette laget tar for seg fysikkens lover og hvordan du bruker dem til våre formål. For eksempel å lage kabler og legge dem til enheter i nettverket.

    Dette laget interesserer oss ikke.

  2. Datalinklag — Dette laget er ansvarlig for å overføre data til nettverksnoder og lage dataoverføringskanaler for fysiske objekter.

    Dette laget interesserer oss ikke med mindre du ønsker å skrive fastvare for maskinvaren som etablerer datakoblinger.

  3. Nettverkslag — Dette laget er for å bestemme individuelle nettverksbrukeres adresser og rutene til dem. Det er verdi å lære mer om detaljene i dette laget, nemlig nettverksadresser.

    Nettverksadresser er definert av en spesiell protokoll: den vanligste er IPv4 (Internet Protocol versjon 4). Dette er protokollen som en webprogrammerer må bruke for å kontakte en annen nettverksbruker.

    En IPv4-adresse består av fire byteverdier atskilt med punktum, for eksempel: 192.0.2.235. Du bør huske at disse verdiene er byte, som betyr at de ligger innenfor området 0..255.

    IP-adresser er på sin side delt inn i klasser. Vi kan ikke bare tilordne oss en vakker kombinasjon av tall, men vi skal ikke gå veldig dypt her. Det er nok å forstå at en IP-adresse unikt identifiserer en nettverksbruker og kan brukes til å kontakte den brukeren.

  4. Transportlag — Dette laget håndterer levering av informasjon til en adressat. Ulike protokoller brukes for å oppnå dette. Foreløpig er vi ikke interessert i dem. Vi er mye mer interessert i konseptet med en port , som vises på dette laget.

    Porter er ansvarlige for å identifisere en spesifikk applikasjon på en datamaskin. Anta for eksempel at du skriver en chat-app i Java, installerer den på 2 datamaskiner og vil sende en melding til vennen din. Meldingen din er pakket, sendt til en spesifikk IP-adresse og levert til kompisen din, men datamaskinen hans vet ikke hva den skal gjøre med informasjonen som mottas, fordi den ikke forstår hvilken applikasjon som skal behandle meldingen din. Når nettverksenheter kommuniserer, brukes porter for å indikere hvilken applikasjon som skal behandle informasjonen.

    Porten er et tall i området fra 0 til 65535. Det legges til IP-adressen etter et kolon: 192.0.2.235:8080 . Men du kan ikke bruke alle portene i det angitte området: noen av dem er reservert for operativsystemet, andre brukes vanligvis til spesifikke formål. Vi vil ikke fordype oss i formålet med forskjellige havner. For nå er det nok å forstå deres rolle i kommunikasjonsprosessen på nettverket.

  5. Sesjonslag — Dette laget oppretter og administrerer kommunikasjonsøkter. På dette laget blir det mulig for applikasjoner å samhandle og sende forespørsler på tjenestenivå. Det vi trenger å vite er at på dette laget åpnes en økt mellom to brukere, og vi må jobbe med økten.

    En økt er en enhet som opprettes når en forbindelse opprettes mellom to brukere. Den kan lagre nødvendig informasjon om en bruker og om historien til interaksjon med brukeren. En viktig detalj er at når informasjonsutvekslingen stopper, forsvinner ikke økten. I stedet beholder den tilstanden i en bestemt periode, slik at brukere kan fortsette å utveksle informasjon etter en pause.

    Hvis en applikasjon kommuniserer med flere brukere samtidig, etableres et tilsvarende antall tilkoblinger (og dermed økter). Hver økt har en unik identifikator (ID) som gjør at applikasjonen kan skille mellom brukerne den kommuniserer med.

  6. Presentasjonslag — Dette laget er ansvarlig for koding/dekoding av data. Det er klart, hvis vi trenger å sende strengen "Hello web" til en annen bruker, blir den først konvertert til (kodet som) binær kode, og først deretter sendes den. Når du når mottakeren, konverteres meldingen tilbake (dekodes), og mottakeren kan se den opprinnelige strengen. Disse handlingene finner sted på presentasjonslaget.

  7. Påføringslag er det mest interessante laget for oss. Den lar applikasjoner kommunisere med nettverket. På dette laget mottar og sender vi meldinger, og sender forespørsler til tjenester og eksterne databaser.

    Det er mange protokoller som brukes på dette laget: POP3, FTP, SMTP, XMPP, RDP, SIP, TELNET og, selvfølgelig, HTTP/HTTPS. En protokoll er en universell avtale som vi forholder oss til når vi kommuniserer. Vi vil definitivt gi en separat detaljert diskusjon av HTTP/HTTPS.

Del 1. Hva du trenger å vite før du lærer Spring og JavaEE - 2Vi trenger ikke vite hvordan hvert lag av modellen fungerer. Hovedsaken er å forstå prinsippene bak driften av elementene som vi må jobbe med når vi skriver webapplikasjoner, nemlig:
  • IP-adresse — Brukerens adresse i nettverket
  • Port — Adressen til en spesifikk brukers applikasjon
  • Session — En enhet som eksisterer i hele perioden med kommunikasjon mellom to brukere
  • Applikasjonsprotokoller (HTTP/HTTPS) — Dette er regler som vi følger når vi skriver og sender meldinger.
Når vi for eksempel besøker en nettbutikk, oppgir vi adresse og port. Ved vårt første besøk opprettes en økt. Butikken kan registrere informasjon i økten. Butikken kan for eksempel lagre informasjon om varer vi la i handlekurven. Hvis vi lukker fanen med nettbutikken og så går tilbake til den senere, vil varene våre fortsatt være i handlekurven fordi de er lagret i økten. All informasjon vi mottar fra butikken mottar vi selvfølgelig via HTTP/HTTPS-protokollen, og nettleseren vår vet hvordan den skal behandles. Du kan protestere og si at du aldri har skrevet inn adressen og porten i nettleseren, og du vil ha delvis rett. Det du gjorde var å skrive inn domenenavnet, som ble konvertert av en DNS-server. La oss ta en bedre titt på hva som er hva her.

DNS (domenenavnsystem)

Som vi allerede har lært, har hver nettverksbruker en unik adresse. Hvis vi snakker om applikasjonen, vil dens unike adresse være IPv4-adresse:port . Hvis du kjenner denne adressen, kan du få direkte tilgang til applikasjonen. Tenk deg at vi skrev en nettapplikasjon som viser gjennomsnittlig lufttemperatur i alle land i sanntid. Vi distribuerte den på en server med adressen 226.69.237.119, på port 8080. For å kunne motta informasjon fra oss må brukeren legge inn 5 tall i nettleseren: 226.69.237.119:8080. Folk liker ikke å huske sett med tall: mange av oss kan ikke huske mer enn to telefonnumre. Det er derfor domenenavnsystemetble oppfunnet. Vi kan opprette et "alias" for adressen vår, for eksempel world-temperature.com. I stedet for å lete etter oss ved å bruke en adresse som består av fem vanskelige å huske tall, kan brukeren skrive inn domenenavnet vårt i adressefeltet til nettleseren. Det finnes DNS-servere som kartlegger domenenavn til ekte adresser. For eksempel, når en bruker skriver inn codegym.cc i en nettleser, sendes forespørselen hennes til en DNS-server, som konverterer den til den faktiske adressen. Del 1. Hva du trenger å vite før du lærer Spring og JavaEE - 4Dette er viktig for oss å forstå, fordi applikasjonene våre vil kalle eksterne tjenester både med domenenavn og reelle adresser. Vi må forstå at i begge tilfeller er tjenestene de samme. Det var det for nå! I denne artikkelen har vi sett på det grunnleggende om nettverk, som vil komme godt med når du begynner å lære webprogrammering.Neste gang skal vi se på hva en klient-server-arkitektur er og hvorfor det er så viktig å forstå. Del 2. La oss snakke litt om programvarearkitektur Del 3. HTTP/HTTPS Del 4. Grunnleggende om Maven Del 5. Servlets og Java Servlet API. Skrive en enkel nettapplikasjon Del 6. Servlet-beholdere Del 7. Introduserer MVC-mønsteret (Model-View-Controller)
Kommentarer
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION