యుద్ధ ఫైల్ నిర్మాణం

ప్రతి వెబ్ అప్లికేషన్, వెబ్ సర్వర్‌కు అప్‌లోడ్ చేసినప్పుడు, ఒకే .war ఫైల్‌గా ప్యాక్ చేయబడుతుంది. WAR ఇప్పుడు వెబ్ అప్లికేషన్ రిసోర్సెస్‌ని సూచిస్తుంది, అయితే ఇది వెబ్ ఆర్కైవ్‌గా ఉంది. నిజానికి, ఇది ప్యాక్ చేసిన వెబ్ అప్లికేషన్‌ను కలిగి ఉన్న జిప్ ఆర్కైవ్.

యుద్ధ ఫైల్ యొక్క సాధారణ కంటెంట్ ఎలా ఉంటుందో ఇక్కడ ఉంది:

/index.html
/guestbook.jsp
/images/logo.png
/js/jquery.js
/WEB-INF/web.xml
/WEB-INF/classes/com/codegym/Util.class
/WEB-INF/classes/com/codegym/MainServlet.class
/WEB-INF/classes/application.properties
/WEB-INF/lib/util.jar
/META-INF/MANIFEST.MF

వార్ ఫైల్ లోపల .html, .css, .js ఫైల్‌లు మొదలైన స్టాటిక్ వెబ్ వనరులు ఉన్నాయి. చిత్రాలు, వీడియోలు మరియు సాధారణంగా ఏదైనా ఫైల్‌లు కూడా ఉండవచ్చు. అవి రూట్‌లో లేదా సబ్‌ఫోల్డర్‌లలో ఉండవచ్చు, అది పట్టింపు లేదు. వారు అభ్యర్థించినట్లయితే, టామ్‌క్యాట్ వాటిని సర్వ్ చేస్తుంది.

మీ వెబ్ అప్లికేషన్ apple పేరుతో వెబ్ సర్వర్‌లో లోడ్ చేయబడిందని అనుకుందాం, ఆపై http://localhost/apple/images/logo.png అభ్యర్థించబడినప్పుడు , Tomcat ఫైల్ /images/logo.png ఫైల్‌ను తిరిగి ఇస్తుంది .

విడిగా, ఇది WEB-INF ఫోల్డర్‌ను గమనించడం విలువ . ఇందులో జావా కోడ్‌ని స్టోర్ చేసుకునేలా దీన్ని రూపొందించారు. టామ్‌క్యాట్ దాని కంటెంట్‌లను ఇవ్వదు .

/WEB-INF/తరగతులు/ అప్లికేషన్‌ను అమలు చేయడానికి ముందు లోడర్‌కు అవసరమైన సర్వ్‌లెట్ క్లాస్‌లు మరియు రిసోర్స్ ఫైల్‌లతో సహా సంకలనం చేయబడిన నాన్-JAR జావా తరగతుల కోసం డైరెక్టరీ
/WEB-INF/lib/ జార్ లైబ్రరీలను నిల్వ చేయడానికి స్థలం
/WEB-INF/web.xml విస్తరణ వివరణ

వార్ ఫైల్ నిర్మాణం మరియు మావెన్ ప్రాజెక్ట్

ఇప్పుడు మావెన్ ప్రాజెక్ట్ యొక్క డైరెక్టరీ సోపానక్రమానికి వెళ్దాం. మీరు అధికారిక మాన్యువల్‌లో పూర్తి కేటలాగ్ లేఅవుట్‌ను చూడవచ్చు. ఇక్కడ మేము పరీక్ష వనరులను మినహాయించి కొంత సంక్షిప్త సంస్కరణలో దానితో పరిచయం పొందుతాము. కాబట్టి, ప్రామాణిక మావెన్ డైరెక్టరీ సోపానక్రమం ఇలా కనిపిస్తుంది:

src/main/java సాధారణంగా ఆమోదించబడిన ప్యాకేజీ శ్రేణికి అనుగుణంగా అప్లికేషన్ తరగతులు మరియు లైబ్రరీల సోర్స్ కోడ్‌లు
src/ప్రధాన/వనరులు అప్లికేషన్ రిసోర్స్ ఫైల్‌లు: డేటాబేస్ సెట్టింగ్‌లు, స్థానికీకరణ ఫైల్‌లు మొదలైనవి.
src/main/webapp వెబ్ అప్లికేషన్ వనరులు (JSP ఫైల్‌లు, టెక్స్ట్ ఫైల్‌లు, స్క్రిప్ట్‌లు మొదలైనవి)

మీరు చూడగలిగినట్లుగా, మీకు తెలిసిన WAR ఫైల్ యొక్క నిర్మాణం నుండి ఇది గణనీయంగా భిన్నంగా ఉంటుంది. వెబ్ అప్లికేషన్‌ను కంపైల్ చేసేటప్పుడు వాస్తవానికి ఏమి జరుగుతుంది అనేది జావా EE స్పెసిఫికేషన్‌లో నిర్వచించిన నిర్మాణంలోకి ఫైల్‌లను తరలించడం మరియు కలపడం.

src/main/webapp డైరెక్టరీ వెబ్ అప్లికేషన్ యొక్క కాంటెక్స్ట్ రూట్‌ను నిర్వచిస్తుంది (సర్వర్‌కు డిప్లాయ్ చేయబడినప్పుడు, కాంటెక్స్ట్ రూట్ WAR ఫైల్ పేరు వలె ఉంటుంది) మరియు ఇప్పటికే దానిలో WEB-INF డైరెక్టరీని కలిగి ఉంది. అంటే, src/main/webapp యొక్క కంటెంట్‌లు పూర్తిగా వెబ్ అప్లికేషన్‌కి బదిలీ చేయబడతాయి.

మీ అన్ని జావా తరగతులు క్లాస్ ఫైల్‌లుగా కంపైల్ చేయబడతాయి మరియు వాటి ప్యాకేజీ నిర్మాణాన్ని ఉంచడం ద్వారా /WEB-INF/classes/ డైరెక్టరీకి తరలించబడతాయి . మేము పైన నిర్వచించినట్లుగా Maven pom.xml డిపెండెన్సీలలో నిర్వచించబడిన చేర్చబడిన లైబ్రరీల యొక్క JARలు /WEB-INF/lib/ డైరెక్టరీకి తరలించబడతాయి .

అప్లికేషన్ వనరులు src/ప్రధాన/వనరులు అప్లికేషన్ యొక్క క్లాస్‌పాత్‌కు, ప్రత్యేకంగా అదే /WEB-INF/classes/ డైరెక్టరీకి తరలించబడతాయి .

దీన్ని పూర్తిగా స్పష్టం చేయడానికి, ఈ రేఖాచిత్రాన్ని చూడండి, ఇది ప్రాజెక్ట్‌ను నిర్మించేటప్పుడు ఎలా మరియు ఎక్కడికి వెళ్తుందో అర్థం చేసుకోవడంలో మీకు సహాయపడుతుంది:

యుద్ధ ఫైల్ పరికరం