CodeGym /జావా బ్లాగ్ /యాదృచ్ఛికంగా /పార్ట్ 1. స్ప్రింగ్ మరియు జావాఇఇ నేర్చుకునే ముందు మీరు తె...
John Squirrels
స్థాయి
San Francisco

పార్ట్ 1. స్ప్రింగ్ మరియు జావాఇఇ నేర్చుకునే ముందు మీరు తెలుసుకోవలసినది

సమూహంలో ప్రచురించబడింది
మీరు ఇప్పటికే జావా SE నేర్చుకోవడం పూర్తి చేసి ఉంటే (లేదా దగ్గరగా ఉంటే), జావా డెవలపర్ వృత్తిని జయించడంలో మీ తదుపరి దశల గురించి ఆలోచించాల్సిన సమయం ఆసన్నమైంది. పార్ట్ 1. స్ప్రింగ్ మరియు జావాఈఈ - 1 నేర్చుకునే ముందు మీరు తెలుసుకోవలసినది ఒక వైపు, మీకు ఇప్పటికే జావా గురించి మంచి అవగాహన ఉంది: IDEతో ఎలా పని చేయాలో, ప్రోగ్రామ్‌లను వ్రాయడం మరియు మరెన్నో మీకు తెలుసు. కానీ మీరు మీ ప్రోగ్రామ్‌లతో తర్వాత ఏమి చేయాలి? మీరు వాటిని ఇంకా చల్లగా మరియు "ప్రపంచంపై విప్పి" ఎలా చేస్తారు? ఎంటర్‌ప్రైజ్ టెక్నాలజీల అధ్యయనాన్ని చేపట్టాల్సిన సమయం ఆసన్నమైందని స్పష్టమవుతోంది. మరియు ఇప్పుడు వినోదం ప్రారంభమవుతుంది. మీరు ఏ టెక్నాలజీ స్టాక్‌తో ప్రారంభించాలని నిర్ణయించుకున్నారో పట్టింపు లేదు. అది JavaEE అయినా లేదా స్ప్రింగ్ అయినా, మీరు మీ గ్రహణశక్తికి మించిన టన్ను విషయాలను చూసే అవకాశం ఉంది. జావా బేసిక్స్ మరియు అధునాతన సాంకేతికతల మధ్య మీరు భారీ డాక్యుమెంటేషన్ చదివేటప్పుడు మీ స్వీయ-నియంత్రణ మరియు ఆత్మవిశ్వాసం యొక్క అవశేషాలను నిలుపుకోవడానికి తప్పనిసరిగా తీసుకోవలసిన జ్ఞానంలో ఒక ఇంటర్మీడియట్ దశ మిగిలి ఉంది. అందువలన,JavaEE లేదా స్ప్రింగ్‌పై మీ తదుపరి అధ్యయనానికి అవసరమైన కనీస సైద్ధాంతిక పరిజ్ఞానాన్ని అందించడం. ఈ పదార్థం 7 భాగాలుగా విభజించబడింది:
  1. మేము నెట్‌వర్కింగ్ గురించి కొంచెం మాట్లాడుతాము.
  2. మేము క్లయింట్-సర్వర్ మరియు త్రీ-టైర్ ఆర్కిటెక్చర్‌ని పరిశీలిస్తాము.
  3. మేము HTTP/HTTPS ప్రోటోకాల్‌లను అన్వేషిస్తాము.
  4. మావెన్ గురించి మీరు తెలుసుకోవలసిన ప్రతిదాన్ని మేము నేర్చుకుంటాము.
  5. మేము లాగింగ్ గురించి మాట్లాడుతున్నాము.
  6. సర్వ్లెట్ కంటైనర్ల గురించి.
  7. చివరకు, MVC గురించి.

పార్ట్ 1. మేము నెట్‌వర్కింగ్ గురించి కొంచెం మాట్లాడుతాము.

ప్రతి సోషల్ నెట్‌వర్క్, వెబ్ సర్వీస్ మరియు వెబ్ యాప్, ఇన్‌స్టంట్ మెసెంజర్ మరియు సాధారణ వెబ్‌సైట్ దేనిపై నిర్మించబడిందనే దాని గురించి మాట్లాడటం ద్వారా అత్యంత ముఖ్యమైన వాటితో ప్రారంభిద్దాం — నెట్‌వర్క్ ( ఈ కథనాల శ్రేణిలో, "నెట్‌వర్క్" అనే పదానికి ఇంటర్నెట్ అని అర్ధం ) . నెట్‌వర్క్ భారీ సంఖ్యలో కంప్యూటర్‌లను కలిగి ఉంటుంది: అవి పరస్పరం అనుసంధానించబడి కమ్యూనికేట్ చేయగలవు. వారు దీన్ని ఎలా చేస్తారో అర్థం చేసుకోవడం చాలా ముఖ్యం, ఎందుకంటే వెబ్ అప్లికేషన్లు ఒక కంప్యూటర్ నుండి మరొక కంప్యూటర్కు సమాచారాన్ని పంపుతాయి.

OSI మోడల్

ఓపెన్ సిస్టమ్స్ ఇంటర్‌కనెక్షన్ (OSI) మోడల్ నెట్‌వర్క్‌ను నిర్మించడానికి టైర్డ్ విధానాన్ని సృష్టిస్తుంది. ఒకే నెట్‌వర్క్‌లోని ఏ లేయర్ ఎంటిటీలు ఒకదానితో ఒకటి ఎలా మరియు ఏ విధంగా సంకర్షణ చెందవచ్చో ఇది స్పష్టంగా చూపిస్తుంది. మొత్తంగా, ఈ మోడల్ 7 పొరలను కలిగి ఉంటుంది:
7 అప్లికేషన్
6 ప్రెజెంటేషన్
5 సెషన్
4 రవాణా
3 నెట్‌వర్క్
2 డేటా లింక్
1 భౌతిక
నమూనాను సంగ్రహణ పొరలుగా విభజించడం వలన రవాణా పొరపై పనిచేసే డెవలపర్‌లను అనుమతిస్తుంది, ఉదాహరణకు, నెట్‌వర్క్ మరియు సెషన్ లేయర్‌ల స్థాయిలో అమలు వివరాల గురించి ఆలోచించాల్సిన అవసరం లేదు. ఈ విధానం ప్రోగ్రామింగ్‌లో కూడా ఉపయోగించబడుతుంది. OSI మోడల్ యొక్క అన్ని లేయర్‌లను పరిశీలిద్దాం మరియు ఏవి మనకు ఆసక్తి కలిగి ఉన్నాయో గుర్తించండి:
  1. భౌతిక పొర - ఈ పొర భౌతిక శాస్త్ర నియమాలను మరియు వాటిని మన ప్రయోజనాల కోసం ఎలా ఉపయోగించాలో తెలియజేస్తుంది. ఉదాహరణకు, కేబుల్‌లను సృష్టించడం మరియు వాటిని నెట్‌వర్క్‌లోని ఎంటిటీలకు వేయడం.

    ఈ పొర మాకు ఆసక్తి లేదు.

  2. డేటా లింక్ లేయర్ - నెట్‌వర్క్ నోడ్‌లకు డేటాను ప్రసారం చేయడానికి మరియు భౌతిక వస్తువుల కోసం డేటా ట్రాన్స్‌మిషన్ ఛానెల్‌లను రూపొందించడానికి ఈ లేయర్ బాధ్యత వహిస్తుంది.

    మీరు డేటా లింక్‌లను ఏర్పాటు చేసే హార్డ్‌వేర్ కోసం ఫర్మ్‌వేర్‌ను వ్రాయాలనుకుంటే తప్ప ఈ లేయర్ మాకు ఆసక్తి చూపదు.

  3. నెట్‌వర్క్ లేయర్ - ఈ లేయర్ వ్యక్తిగత నెట్‌వర్క్ వినియోగదారుల చిరునామాలు మరియు వారికి వెళ్లే మార్గాలను నిర్ణయించడం. ఈ లేయర్ వివరాల గురించి, అంటే నెట్‌వర్క్ చిరునామాల గురించి మరింత తెలుసుకోవడం విలువ.

    నెట్‌వర్క్ చిరునామాలు ప్రత్యేక ప్రోటోకాల్ ద్వారా నిర్వచించబడ్డాయి: అత్యంత సాధారణమైనది IPv4 (ఇంటర్నెట్ ప్రోటోకాల్ వెర్షన్ 4). మరొక నెట్‌వర్క్ వినియోగదారుని సంప్రదించడానికి వెబ్ ప్రోగ్రామర్ ఉపయోగించాల్సిన ప్రోటోకాల్ ఇది.

    IPv4 చిరునామా కాలాల ద్వారా వేరు చేయబడిన నాలుగు బైట్ విలువలను కలిగి ఉంటుంది, ఉదాహరణకు: 192.0.2.235. ఈ విలువలు బైట్‌లు అని మీరు గుర్తుంచుకోవాలి, అంటే అవి 0..255 పరిధిలో ఉంటాయి.

    IP చిరునామాలు, క్రమంగా, తరగతులుగా విభజించబడ్డాయి. మేము కేవలం అందమైన సంఖ్యల కలయికను కేటాయించలేము, కానీ మేము ఇక్కడ చాలా లోతుగా వెళ్లము. IP చిరునామా నెట్‌వర్క్ వినియోగదారుని ప్రత్యేకంగా గుర్తిస్తుందని మరియు ఆ వినియోగదారుని సంప్రదించడానికి ఉపయోగించవచ్చని అర్థం చేసుకోవడం సరిపోతుంది.

  4. ట్రాన్స్‌పోర్ట్ లేయర్ - ఈ లేయర్ చిరునామాదారునికి సమాచారాన్ని అందించడాన్ని నిర్వహిస్తుంది. దీన్ని సాధించడానికి వివిధ ప్రోటోకాల్‌లు ఉపయోగించబడతాయి. ప్రస్తుతానికి, మాకు వాటిపై ఆసక్తి లేదు. ఈ లేయర్‌లో కనిపించే పోర్ట్ కాన్సెప్ట్‌పై మాకు ఎక్కువ ఆసక్తి ఉంది .

    కంప్యూటర్‌లో నిర్దిష్ట అప్లికేషన్‌ను గుర్తించడానికి పోర్ట్‌లు బాధ్యత వహిస్తాయి. ఉదాహరణకు, మీరు జావాలో చాట్ యాప్‌ని వ్రాసి, దానిని 2 కంప్యూటర్‌లలో ఇన్‌స్టాల్ చేసి, మీ స్నేహితుడికి సందేశం పంపాలనుకుంటున్నారని అనుకుందాం. మీ సందేశం ప్యాక్ చేయబడింది, నిర్దిష్ట IP చిరునామాకు పంపబడింది మరియు మీ స్నేహితుడికి డెలివరీ చేయబడింది, కానీ అతని కంప్యూటర్ అందుకున్న సమాచారంతో ఏమి చేయాలో తెలియదు, ఎందుకంటే మీ సందేశాన్ని ఏ అప్లికేషన్ ప్రాసెస్ చేయాలో అర్థం కాలేదు. నెట్‌వర్క్ ఎంటిటీలు కమ్యూనికేట్ చేసినప్పుడు, ఏ అప్లికేషన్ సమాచారాన్ని ప్రాసెస్ చేయాలో సూచించడానికి పోర్ట్‌లు ఉపయోగించబడతాయి.

    పోర్ట్ అనేది 0 నుండి 65535 పరిధిలోని సంఖ్య. ఇది కోలన్ తర్వాత IP చిరునామాకు జోడించబడుతుంది: 192.0.2.235:8080 . కానీ మీరు పేర్కొన్న పరిధిలో అన్ని పోర్ట్‌లను ఉపయోగించలేరు: వాటిలో కొన్ని ఆపరేటింగ్ సిస్టమ్ కోసం రిజర్వ్ చేయబడ్డాయి, మరికొన్ని నిర్దిష్ట ప్రయోజనాల కోసం ఆచారంగా ఉపయోగించబడతాయి. మేము వివిధ పోర్టుల ప్రయోజనాలను పరిశోధించము. ప్రస్తుతానికి, నెట్వర్క్లో కమ్యూనికేషన్ ప్రక్రియలో వారి పాత్రను అర్థం చేసుకోవడం సరిపోతుంది.

  5. సెషన్ లేయర్ - ఈ లేయర్ కమ్యూనికేషన్ సెషన్‌లను సృష్టిస్తుంది మరియు నిర్వహిస్తుంది. ఈ లేయర్ వద్ద, సేవా-స్థాయి అభ్యర్థనలను పంపడం ద్వారా అప్లికేషన్‌లు పరస్పర చర్య చేయడం సాధ్యమవుతుంది. మనం తెలుసుకోవలసినది ఏమిటంటే, ఈ లేయర్‌లో ఇద్దరు వినియోగదారుల మధ్య సెషన్ తెరవబడుతుంది మరియు మేము సెషన్‌తో పని చేయాలి.

    సెషన్ అనేది ఇద్దరు వినియోగదారుల మధ్య కనెక్షన్ ఏర్పడినప్పుడు సృష్టించబడిన ఎంటిటీ. ఇది వినియోగదారు గురించి మరియు వినియోగదారుతో పరస్పర చర్య చరిత్ర గురించి అవసరమైన సమాచారాన్ని నిల్వ చేయగలదు. ఒక ముఖ్యమైన వివరాలు ఏమిటంటే, సమాచార మార్పిడి ఆగిపోయినప్పుడు, సెషన్ అదృశ్యం కాదు. బదులుగా, ఇది నిర్ణీత వ్యవధిలో దాని స్థితిని కలిగి ఉంటుంది, కాబట్టి వినియోగదారులు విరామం తర్వాత సమాచారాన్ని మార్పిడి చేయడం కొనసాగించవచ్చు.

    ఒక అప్లికేషన్ ఒకే సమయంలో అనేక మంది వినియోగదారులతో కమ్యూనికేట్ చేస్తుంటే, సంబంధిత సంఖ్యలో కనెక్షన్‌లు (అందువలన సెషన్‌లు) ఏర్పాటు చేయబడతాయి. ప్రతి సెషన్‌కు ప్రత్యేకమైన ఐడెంటిఫైయర్ (ID) ఉంటుంది , ఇది కమ్యూనికేట్ చేస్తున్న వినియోగదారుల మధ్య తేడాను గుర్తించడానికి అప్లికేషన్‌ను అనుమతిస్తుంది.

  6. ప్రెజెంటేషన్ లేయర్ — ఎన్‌కోడింగ్/డీకోడింగ్ డేటాకు ఈ లేయర్ బాధ్యత వహిస్తుంది. సహజంగానే, మనం "హలో వెబ్" స్ట్రింగ్‌ను మరొక వినియోగదారుకు పంపవలసి వస్తే, అది మొదట బైనరీ కోడ్‌గా (ఎన్‌కోడ్ చేయబడింది) మార్చబడుతుంది మరియు ఆ తర్వాత మాత్రమే పంపబడుతుంది. గ్రహీతను చేరుకున్న తర్వాత, సందేశం తిరిగి మార్చబడుతుంది (డీకోడ్ చేయబడింది), మరియు గ్రహీత అసలు స్ట్రింగ్‌ను చూడగలరు. ఈ చర్యలు ప్రెజెంటేషన్ లేయర్‌లో జరుగుతాయి.

  7. అప్లికేషన్ లేయర్ మాకు అత్యంత ఆసక్తికరమైన పొర. ఇది నెట్‌వర్క్‌తో కమ్యూనికేట్ చేయడానికి అప్లికేషన్‌లను అనుమతిస్తుంది. ఈ లేయర్ వద్ద, మేము సందేశాలను స్వీకరిస్తాము మరియు పంపుతాము మరియు సేవలు మరియు రిమోట్ డేటాబేస్‌లకు అభ్యర్థనలు చేస్తాము.

    ఈ లేయర్‌లో అనేక ప్రోటోకాల్‌లు ఉపయోగించబడ్డాయి: POP3, FTP, SMTP, XMPP, RDP, SIP, TELNET మరియు, వాస్తవానికి, HTTP/HTTPS. ప్రోటోకాల్ అనేది కమ్యూనికేట్ చేసేటప్పుడు మనం పాటించే సార్వత్రిక ఒప్పందం. మేము ఖచ్చితంగా HTTP/HTTPS యొక్క ప్రత్యేక వివరణాత్మక చర్చను అందిస్తాము.

పార్ట్ 1. స్ప్రింగ్ మరియు జావాఈఈ - 2 నేర్చుకునే ముందు మీరు తెలుసుకోవలసినదిమోడల్ యొక్క ప్రతి పొర ఎలా పనిచేస్తుందో మనం తెలుసుకోవలసిన అవసరం లేదు. ప్రధాన విషయం ఏమిటంటే, వెబ్ అప్లికేషన్‌లను వ్రాసేటప్పుడు మనం పని చేయాల్సిన మూలకాల యొక్క ఆపరేషన్ వెనుక ఉన్న సూత్రాలను అర్థం చేసుకోవడం, అవి:
  • IP చిరునామా — నెట్‌వర్క్‌లోని వినియోగదారు చిరునామా
  • పోర్ట్ - నిర్దిష్ట వినియోగదారు అప్లికేషన్ యొక్క చిరునామా
  • సెషన్ - ఇద్దరు వినియోగదారుల మధ్య కమ్యూనికేషన్ వ్యవధిలో ఉన్న ఒక ఎంటిటీ
  • అప్లికేషన్ ప్రోటోకాల్‌లు (HTTP/HTTPS) — ఇవి సందేశాలను కంపోజ్ చేసేటప్పుడు మరియు పంపేటప్పుడు మనం అనుసరించే నియమాలు.
మేము ఆన్‌లైన్ స్టోర్‌ను సందర్శించినప్పుడు, ఉదాహరణకు, మేము దాని చిరునామా మరియు పోర్ట్‌ను సూచిస్తాము. మా మొదటి సందర్శన తర్వాత, ఒక సెషన్ సృష్టించబడుతుంది. స్టోర్ సెషన్‌లో సమాచారాన్ని రికార్డ్ చేయగలదు. ఉదాహరణకు, మేము షాపింగ్ కార్ట్‌లో వదిలిపెట్టిన వస్తువులకు సంబంధించిన సమాచారాన్ని స్టోర్ సేవ్ చేయవచ్చు. మేము ఆన్‌లైన్ స్టోర్‌తో ట్యాబ్‌ను మూసివేసి, తర్వాత దానిలోకి తిరిగి వెళితే, సెషన్‌లో సేవ్ చేయబడినందున మా అంశాలు ఇప్పటికీ కార్ట్‌లో ఉంటాయి. వాస్తవానికి, HTTP/HTTPS ప్రోటోకాల్ ద్వారా స్టోర్ నుండి మేము స్వీకరించే మొత్తం సమాచారం మరియు దానిని ఎలా ప్రాసెస్ చేయాలో మా బ్రౌజర్‌కు తెలుసు. మీరు బ్రౌజర్‌లో చిరునామా మరియు పోర్ట్‌ను ఎప్పుడూ నమోదు చేయలేదని మరియు మీరు పాక్షికంగా సరైనదేనని చెబుతూ మీరు అభ్యంతరం చెప్పవచ్చు. మీరు చేసినది DNS సర్వర్ ద్వారా మార్చబడిన డొమైన్ పేరును నమోదు చేయడం. ఇక్కడ ఏముందో బాగా చూద్దాం.

DNS (డొమైన్ నేమ్ సిస్టమ్)

మేము ఇప్పటికే నేర్చుకున్నట్లుగా, ప్రతి నెట్‌వర్క్ వినియోగదారుకు ప్రత్యేక చిరునామా ఉంటుంది. మేము అప్లికేషన్ గురించి మాట్లాడుతున్నట్లయితే, దాని ప్రత్యేక చిరునామా IPv4-address:port . మీకు ఈ చిరునామా తెలిస్తే, మీరు నేరుగా అప్లికేషన్‌ను యాక్సెస్ చేయవచ్చు. నిజ సమయంలో అన్ని దేశాలలో సగటు గాలి ఉష్ణోగ్రతను ప్రదర్శించే వెబ్ అప్లికేషన్‌ను మేము వ్రాసినట్లు ఊహించుకోండి. మేము పోర్ట్ 8080లో 226.69.237.119 చిరునామాతో సర్వర్‌లో దీన్ని అమలు చేసాము. మా నుండి సమాచారాన్ని స్వీకరించడానికి, వినియోగదారు బ్రౌజర్‌లో తప్పనిసరిగా 5 నంబర్‌లను నమోదు చేయాలి: 226.69.237.119:8080. వ్యక్తులు సంఖ్యల సెట్‌లను గుర్తుంచుకోవడం ఇష్టం లేదు: మనలో చాలా మందికి రెండు కంటే ఎక్కువ ఫోన్ నంబర్‌లు గుర్తుండవు. అందుకే డొమైన్ నేమ్ సిస్టమ్కనుగొనబడింది. మేము మా చిరునామా కోసం "అలియాస్"ని సృష్టించవచ్చు, ఉదాహరణకు, world-temperature.com. గుర్తుంచుకోవడానికి కష్టంగా ఉండే ఐదు నంబర్‌లతో కూడిన చిరునామాను ఉపయోగించి మా కోసం వెతకడానికి బదులుగా, వినియోగదారు బ్రౌజర్ చిరునామా బార్‌లో మా డొమైన్ పేరును నమోదు చేయవచ్చు. డొమైన్ పేర్లను నిజమైన చిరునామాలకు మ్యాప్ చేసే DNS సర్వర్లు ఉన్నాయి . ఉదాహరణకు, ఒక వినియోగదారు బ్రౌజర్‌లో codegym.ccని నమోదు చేసినప్పుడు, ఆమె అభ్యర్థన DNS సర్వర్‌కి పంపబడుతుంది, అది దానిని వాస్తవ చిరునామాగా మారుస్తుంది. పార్ట్ 1. స్ప్రింగ్ మరియు జావాఈఈ - 4 నేర్చుకునే ముందు మీరు తెలుసుకోవలసినదిఇది మేము అర్థం చేసుకోవడం చాలా ముఖ్యం, ఎందుకంటే మా అప్లికేషన్‌లు రిమోట్ సేవలను డొమైన్ పేర్లు మరియు నిజమైన చిరునామాల ద్వారా కాల్ చేస్తాయి. ఏ సందర్భంలోనైనా సేవలు ఒకే విధంగా ఉంటాయని మనం అర్థం చేసుకోవాలి. ప్రస్తుతానికి అంతే! ఈ వ్యాసంలో, మేము నెట్‌వర్కింగ్ యొక్క ప్రాథమికాలను పరిశీలించాము, మీరు వెబ్ ప్రోగ్రామింగ్ నేర్చుకోవడం ప్రారంభించినప్పుడు ఇది ఉపయోగపడుతుంది.తదుపరిసారి క్లయింట్-సర్వర్ ఆర్కిటెక్చర్ అంటే ఏమిటి మరియు అర్థం చేసుకోవడం ఎందుకు చాలా ముఖ్యం అని చూద్దాం. పార్ట్ 2. సాఫ్ట్‌వేర్ ఆర్కిటెక్చర్ పార్ట్ 3. HTTP/HTTPS పార్ట్ 4. మావెన్ పార్ట్ 5. సర్వ్‌లెట్స్ మరియు జావా సర్వ్‌లెట్ API యొక్క ప్రాథమిక అంశాలు . సాధారణ వెబ్ అప్లికేషన్‌ను వ్రాయడం పార్ట్ 6. సర్వ్‌లెట్ కంటైనర్‌లు పార్ట్ 7. MVC (మోడల్-వ్యూ-కంట్రోలర్) నమూనాను పరిచయం చేస్తోంది
వ్యాఖ్యలు
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION