CodeGym /Blog Java /Aleatoriu /Partea 1. Ce trebuie să știți înainte de a învăța Spring ...
John Squirrels
Nivel
San Francisco

Partea 1. Ce trebuie să știți înainte de a învăța Spring și JavaEE

Publicat în grup
Dacă ați terminat deja (sau sunteți aproape de) de învățat Java SE, atunci este timpul să vă gândiți la următorii pași în cucerirea profesiei de dezvoltator Java. Partea 1. Ce trebuie să știți înainte de a învăța Spring și JavaEE - 1 Pe de o parte, ai deja o bună înțelegere a Java: știi să lucrezi cu un IDE, să scrii programe și multe altele. Dar ce ar trebui să faci în continuare cu programele tale? Cum le faci mai cool și să le „dezlănțui pe lume”? Devine evident că este timpul să ne apucăm de studiul tehnologiilor întreprinderii. Și acum începe distracția. Nu contează cu ce tehnologia te decizi să începi. Fie că este vorba despre JavaEE sau Spring, probabil că veți întâlni o mulțime de lucruri care sunt mult, mult peste înțelegerea voastră. Între elementele de bază Java și tehnologiile avansate, rămâne un pas intermediar în cunoaștere care trebuie făcut pentru a păstra ceea ce rămâne din autocontrolul și încrederea în sine în timp ce citiți documentație voluminoasă. Prin urmare,este de a vă oferi cunoștințele teoretice minime necesare pentru studiul ulterioar despre JavaEE sau Spring. Acest material este împărțit în 7 părți:
  1. Vom vorbi puțin despre crearea de rețele.
  2. Vom examina arhitectura client-server și trei niveluri.
  3. Vom explora protocoalele HTTP/HTTPS.
  4. Vom afla tot ce trebuie să știți despre Maven.
  5. Vorbim despre logare.
  6. Despre containerele servlet.
  7. Și, în sfârșit, despre MVC.

Partea 1. Vom vorbi puțin despre crearea de rețele.

Să începem cu ceea ce contează cel mai mult, vorbind despre ce este construită fiecare rețea socială, serviciu web și aplicație web, mesagerie instantanee și site web simplu - rețeaua (în contextul acestei serii de articole, termenul „rețea” înseamnă Internet ) . Rețeaua constă dintr-un număr mare de computere: acestea sunt interconectate și capabile să comunice. Este important să înțelegeți cum fac acest lucru, deoarece aplicațiile web trimit informații de la un computer la altul.

Modelul OSI

Modelul de interconectare a sistemelor deschise (OSI) creează o abordare pe niveluri pentru construirea unei rețele. Arată clar cum și la ce nivel entitățile din aceeași rețea pot interacționa între ele. În total, acest model conține 7 straturi:
7 Aplicație
6 Prezentare
5 Sesiune
4 Transport
3 Reţea
2 Legătură de date
1 Fizic
Împărțirea modelului în straturi de abstractizare permite dezvoltatorilor care lucrează la stratul de transport, de exemplu, să nu fie nevoiți să se gândească la detaliile de implementare la nivelul rețelei și al straturilor de sesiune. Această abordare este folosită și în programare. Să luăm în considerare toate straturile modelului OSI și să stabilim care sunt de interes pentru noi:
  1. Stratul fizic — Acest strat tratează legile fizicii și cum să le folosim în scopurile noastre. De exemplu, crearea cablurilor și așezarea acestora către entitățile din rețea.

    Acest strat nu ne interesează.

  2. Strat de legătură de date - Acest strat este responsabil pentru transmiterea datelor către nodurile rețelei și crearea canalelor de transmisie a datelor pentru obiectele fizice.

    Acest strat nu ne interesează decât dacă doriți să scrieți firmware pentru hardware-ul care stabilește legăturile de date.

  3. Strat de rețea — Acest nivel este pentru determinarea adreselor individuale ale utilizatorilor de rețea și a rutelor către aceștia. Este util să aflați mai multe despre detaliile acestui strat, și anume, adresele de rețea.

    Adresele de rețea sunt definite printr-un protocol special: cel mai comun este IPv4 (Internet Protocol versiunea 4). Acesta este protocolul pe care un programator web trebuie să-l folosească pentru a contacta un alt utilizator de rețea.

    O adresă IPv4 constă din valori de patru octeți separate prin puncte, de exemplu: 192.0.2.235. Trebuie să vă amintiți că aceste valori sunt octeți, ceea ce înseamnă că se află în intervalul 0..255.

    Adresele IP, la rândul lor, sunt împărțite în clase. Nu ne putem atribui pur și simplu o combinație frumoasă de numere, dar nu vom merge prea adânc aici. Este suficient să înțelegeți că o adresă IP identifică în mod unic un utilizator de rețea și poate fi folosită pentru a contacta acel utilizator.

  4. Stratul de transport — Acest strat se ocupă de livrarea informațiilor către un destinatar. Pentru a realiza acest lucru sunt folosite diferite protocoale. Deocamdată nu ne interesează ele. Suntem mult mai interesați de conceptul de port , care apare la acest nivel.

    Porturile sunt responsabile pentru identificarea unei anumite aplicații pe un computer. De exemplu, să presupunem că scrieți o aplicație de chat în Java, o instalați pe două computere și doriți să trimiteți un mesaj prietenului dvs. Mesajul tău este împachetat, trimis la o anumită adresă IP și livrat prietenului tău, dar computerul lui nu știe ce să facă cu informațiile primite, deoarece nu înțelege ce aplicație ar trebui să proceseze mesajul tău. Când entitățile din rețea comunică, porturile sunt folosite pentru a indica ce aplicație ar trebui să proceseze informațiile.

    Portul este un număr în intervalul de la 0 la 65535. Se adaugă la adresa IP după două puncte: 192.0.2.235:8080 . Dar nu puteți utiliza toate porturile din intervalul specificat: unele dintre ele sunt rezervate pentru sistemul de operare, altele sunt utilizate în mod obișnuit în scopuri specifice. Nu vom aprofunda în scopurile diferitelor porturi. Deocamdată, este suficient să înțelegem rolul lor în procesul de comunicare în rețea.

  5. Strat de sesiune — Acest strat creează și gestionează sesiunile de comunicare. La acest nivel, devine posibil ca aplicațiile să interacționeze, trimițând cereri la nivel de serviciu. Ceea ce trebuie să știm este că la acest nivel se deschide o sesiune între doi utilizatori și trebuie să lucrăm cu sesiunea.

    O sesiune este o entitate creată atunci când se stabilește o conexiune între doi utilizatori. Poate stoca informațiile necesare despre un utilizator și despre istoricul interacțiunii cu utilizatorul. Un detaliu important este că atunci când schimbul de informații se oprește, sesiunea nu dispare. În schimb, își păstrează starea pentru o perioadă de timp stabilită, astfel încât utilizatorii pot continua să facă schimb de informații după o pauză.

    Dacă o aplicație comunică cu mai mulți utilizatori în același timp, atunci se stabilește un număr corespunzător de conexiuni (și astfel sesiuni). Fiecare sesiune are un identificator unic (ID) , care permite aplicației să facă distincția între utilizatorii cu care comunică.

  6. Strat de prezentare — Acest strat este responsabil pentru codificarea/decodificarea datelor. Evident, dacă trebuie să trimitem șirul „Hello web” unui alt utilizator, acesta este mai întâi convertit în (codat ca) cod binar și abia apoi este trimis. La ajungerea la destinatar, mesajul este convertit înapoi (decodificat), iar destinatarul poate vedea șirul original. Aceste acțiuni au loc la nivelul de prezentare.

  7. Stratul de aplicare este cel mai interesant strat pentru noi. Permite aplicațiilor să comunice cu rețeaua. La acest nivel, primim și trimitem mesaje și facem solicitări către servicii și baze de date la distanță.

    Există multe protocoale utilizate la acest nivel: POP3, FTP, SMTP, XMPP, RDP, SIP, TELNET și, desigur, HTTP/HTTPS. Un protocol este un acord universal la care aderăm atunci când comunicăm. Cu siguranță vom oferi o discuție detaliată separată despre HTTP/HTTPS.

Partea 1. Ce trebuie să știți înainte de a învăța Spring și JavaEE - 2Nu trebuie să știm cum funcționează fiecare strat al modelului. Principalul lucru este să înțelegem principiile din spatele funcționării elementelor cu care va trebui să lucrăm atunci când scriem aplicații web și anume:
  • Adresă IP — Adresa utilizatorului în rețea
  • Port — Adresa aplicației unui anumit utilizator
  • Sesiune — O entitate care există pe parcursul perioadei de comunicare între doi utilizatori
  • Protocoale de aplicație (HTTP/HTTPS) — Acestea sunt regulile pe care le vom respecta atunci când compunem și trimitem mesaje.
Când vizităm un magazin online, de exemplu, indicăm adresa și portul acestuia. La prima noastră vizită, se creează o sesiune. Magazinul poate înregistra informații în sesiune. De exemplu, magazinul ar putea salva informații despre articolele pe care le-am lăsat în coșul de cumpărături. Dacă închidem fila cu magazinul online și apoi revenim în ea mai târziu, articolele noastre vor fi în continuare în coș, deoarece sunt salvate în sesiune. Desigur, toate informațiile pe care le primim de la magazin le primim prin protocolul HTTP/HTTPS, iar browserul nostru știe cum să le proceseze. Puteți obiecta, spunând că nu ați introdus niciodată adresa și portul în browser și că ați avea parțial dreptate. Ce ai făcut a fost să introduci numele domeniului, care a fost convertit de un server DNS. Să ne uităm mai bine la ce este aici.

DNS (sistem de nume de domeniu)

După cum am aflat deja, fiecare utilizator al rețelei are o adresă unică. Dacă vorbim despre aplicație, atunci adresa sa unică va fi IPv4-address:port . Dacă cunoașteți această adresă, puteți accesa direct aplicația. Imaginați-vă că am scris o aplicație web care afișează temperatura medie a aerului în toate țările în timp real. L-am implementat pe un server cu adresa 226.69.237.119, pe portul 8080. Pentru a putea primi informații de la noi, utilizatorul trebuie să introducă 5 numere în browser: 226.69.237.119:8080. Oamenilor nu le place să memoreze seturi de numere: mulți dintre noi nu își pot aminti mai mult de două numere de telefon. De aceea sistemul de nume de domeniua fost inventat. Putem crea un „alias” pentru adresa noastră, de exemplu, world-temperature.com. În loc să ne caute folosind o adresă formată din cinci numere greu de reținut, utilizatorul poate introduce numele nostru de domeniu în bara de adrese a browserului. Există servere DNS care mapează nume de domenii la adrese reale. De exemplu, atunci când un utilizator introduce codegym.cc într-un browser, cererea ei este trimisă către un server DNS, care o convertește în adresa reală. Partea 1. Ce trebuie să știți înainte de a învăța Spring și JavaEE - 4Acest lucru este important să înțelegem, deoarece aplicațiile noastre vor apela servicii la distanță atât prin nume de domenii, cât și prin adrese reale. Trebuie să înțelegem că în ambele cazuri serviciile sunt aceleași. Atât deocamdată! În acest articol, ne-am uitat la elementele de bază ale rețelei, care vă vor fi utile pe măsură ce începeți să învățați programarea web.Data viitoare ne vom uita la ce este o arhitectură client-server și de ce este atât de important să înțelegem. Partea 2. Să vorbim puțin despre arhitectura software Partea 3. HTTP/HTTPS Partea 4. Elementele de bază ale Maven Partea 5. Servlet-uri și API-ul Java Servlet. Scrierea unei aplicații web simplă Partea 6. Containere servlet Partea 7. Prezentarea modelului MVC (Model-View-Controller)
Comentarii
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION