युद्ध फाइल संरचना

प्रत्येक वेब ऍप्लिकेशन, जेव्हा वेब सर्व्हरवर अपलोड केले जाते, तेव्हा ते एकाच .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 फाइल्स आणि असेच. तसेच चित्रे, व्हिडिओ आणि सर्वसाधारणपणे कोणत्याही फाइल्स असू शकतात. ते रूट किंवा सबफोल्डर्समध्ये असू शकतात, काही फरक पडत नाही. जर त्यांना विनंती केली गेली तर टॉमकॅट त्यांना फक्त सेवा देईल.

समजा तुमचा वेब ऍप्लिकेशन ऍपल नावाने वेब सर्व्हरवर लोड झाला आहे, नंतर जेव्हा http://localhost/apple/images/logo.png ची विनंती केली जाईल , तेव्हा Tomcat फाइल /images/logo.png परत करेल .

स्वतंत्रपणे, WEB-INF फोल्डर लक्षात घेण्यासारखे आहे . हे जावा कोड त्यात साठवण्यासाठी डिझाइन केलेले आहे. टॉमकॅट त्याची सामग्री देणार नाही .

/WEB-INF/वर्ग/ संकलित नॉन-जेएआर जावा क्लासेससाठी डिरेक्टरी, अॅप्लिकेशन चालवण्यापूर्वी लोडरला आवश्यक असलेल्या सर्वलेट क्लासेस आणि रिसोर्स फाइल्ससह
/WEB-INF/lib/ किलकिले लायब्ररी ठेवण्यासाठी जागा
/WEB-INF/web.xml उपयोजन वर्णनकर्ता

युद्ध फाइल संरचना आणि मॅवेन प्रकल्प

आता मावेन प्रकल्पाच्या निर्देशिका पदानुक्रमाकडे वळू. तुम्ही अधिकृत मॅन्युअलमध्ये संपूर्ण कॅटलॉग लेआउट पाहू शकता. येथे आम्ही चाचणी संसाधने वगळता थोड्याशा संक्षिप्त आवृत्तीमध्ये त्याच्याशी परिचित होऊ. तर, मानक Maven निर्देशिका पदानुक्रम असे दिसते:

src/main/java सर्वसाधारणपणे स्वीकृत पॅकेज पदानुक्रमानुसार अनुप्रयोग वर्ग आणि लायब्ररींचे स्त्रोत कोड
src/मुख्य/संसाधने अनुप्रयोग संसाधन फाइल्स: डेटाबेस सेटिंग्ज, स्थानिकीकरण फाइल्स इ.
src/main/webapp वेब ऍप्लिकेशन संसाधने (JSP फाइल्स, टेक्स्ट फाइल्स, स्क्रिप्ट्स इ.)

तुम्ही बघू शकता, हे तुम्हाला माहीत असलेल्या WAR फाइलच्या संरचनेपेक्षा लक्षणीय भिन्न आहे. परंतु वेब ऍप्लिकेशन संकलित करताना प्रत्यक्षात काय होते ते फक्त Java EE स्पेसिफिकेशनमध्ये परिभाषित केलेल्या संरचनेमध्ये फाइल्स हलवणे आणि एकत्र करणे.

src/main/webapp निर्देशिका वेब ऍप्लिकेशनचे संदर्भ रूट परिभाषित करते (जेव्हा सर्व्हरवर उपयोजित केले जाते, तेव्हा संदर्भ रूट WAR फाइलच्या नावाप्रमाणेच असते) आणि त्यामध्ये आधीपासून WEB-INF निर्देशिका समाविष्ट असते. म्हणजेच, src/main/webapp ची सामग्री पूर्णपणे वेब ऍप्लिकेशनमध्ये हस्तांतरित केली जाते.

तुमचे सर्व Java क्लासेस क्लास फाईल्समध्ये संकलित केले जातात आणि त्यांचे पॅकेज स्ट्रक्चर ठेवून /WEB-INF/classes/ डिरेक्टरीमध्ये हलवले जातात . समाविष्ट केलेल्या लायब्ररींचे JARs, जे आम्ही वर परिभाषित केल्याप्रमाणे Maven pom.xml अवलंबनांमध्ये परिभाषित केले आहेत, ते /WEB-INF/lib/ निर्देशिकेत हलवले जातात .

ऍप्लिकेशन रिसोर्सेस src/main/resources हे ऍप्लिकेशनच्या क्लासपाथवर हलवले जातात, विशेषत: त्याच /WEB-INF/classes/ डिरेक्ट्रीमध्ये .

हे पूर्णपणे स्पष्ट करण्‍यासाठी, हा आराखडा पहा, जे तुम्हाला प्रकल्प बांधताना कसे आणि काय जाते हे समजण्यास मदत करेल:

युद्ध फाइल साधन