"सही तरीका क्या है?" या "क्या यह सही तरीका है?" है ..... यह निर्भर करता है ।
सभी मैं आपको विशिष्ट विचारों के लिए पेशेवरों और विपक्षों को बता सकता हूं। इस प्रकार मेरी राय 100% है। मैं किसी विशिष्ट आवश्यकताओं या नियमों के बारे में नहीं जानता। मुझे यकीन है कि कोई मुझसे असहमत होगा।
JSP के
चलो JSP की WEB-INF में डालते हैं या नहीं, इस पर काम करते हैं।
WEB-INF में JSP लगाने के पेशेवरों:
- आप नियंत्रित करते हैं कि जेएसपी को कैसे निष्पादित किया जाता है। यदि आप चाहते हैं कि एक JSP को परिचालित किया जाए और फिर से प्रयोग करने योग्य हो (जो कि वैसे भी JSP के साथ बहुत कठिन है), तो आप उन्हें WEB-INF में डाल सकते हैं और प्री-प्रोसेसिंग करने के लिए एक सर्वलेट या स्ट्रट्स एक्शन कंट्रोलर या किसी अन्य फ्रंट कंट्रोलर का उपयोग कर सकते हैं। और फिर JSP के लिए सही वातावरण संदर्भ (जैसे अनुरोध विशेषताएँ, कोई सुरक्षा जांच, पैरामीटर स्वच्छता, आदि) में पासिंग नियंत्रण।
- आप किसी फ़ायरवॉल या IDS स्तर ब्लॉक HTTP HTTP प्रोग्राम पर * .jsp से वेब रूट पर किसी JSP को अपलोड करने और फिर वेब सर्वर के रूप में कोड निष्पादित करने में सक्षम होने की संभावना को कम करने के लिए। उन्हें एक मौजूदा JSP को लिखना होगा। भारी सुरक्षा लाभ नहीं है, लेकिन यह थोड़ा कठिन समझौता करता है।
- अच्छी आदतों को लागू करता है, जैसे कि एमवीसी, फ्रंट कंट्रोलर, सर्वलेट फिल्टर, निर्भरता इंजेक्शन, आदि एक बड़े राक्षसी जेएसपी के विपरीत है जो सभी काम खुद करता है और पढ़ने / बनाए रखने में मुश्किल है।
वेब-इन्फो में जेएसपी लगाने का विपक्ष:
- आप सीधे पृष्ठ तक नहीं पहुँच सकते, भले ही यह एक साधारण स्टैंडअलोन पृष्ठ हो, जिसे अपफ्रंट प्रोसेसिंग की आवश्यकता न हो। ऐसा इसलिए है क्योंकि / WEB-INF के तहत फाइलें एक सर्वलेट कंटेनर द्वारा सेवित नहीं हैं।
स्थिर फाइलें
HTML, छवि, स्टाइलशीट, जावास्क्रिप्ट आदि जैसी विशुद्ध रूप से स्थिर फ़ाइलों के संदर्भ में, वेब रूट (my_app आपके मामले में) के तहत डालते हैं, लेकिन NOT / WEB-INF (क्योंकि यह सुलभ नहीं है)।
कुल मिलाकर लेआउट
समग्र निर्देशिका लेआउट के लिए, यह आपकी निर्माण प्रक्रिया पर कुछ हद तक निर्भर करता है। मुझे "src" या "स्रोत" के तहत सब कुछ संग्रहीत करना पसंद है क्योंकि यह स्पष्ट करता है कि कौन सी फाइलें इमारत से उत्पन्न होती हैं और कौन सी शुद्ध स्रोत फाइलें हैं। main
आपको अपने मुख्य स्रोत कोड से जूनियर कक्षाओं की तरह अलग-अलग टेस्ट कोड देता है, जो अच्छा भी है। लेकिन अगर आपके पास कोई इकाई परीक्षण नहीं है (ओह नहीं!), तो यह एक अर्थहीन अंतर है।
दूसरी ओर, यदि आप बिल्ड के दौरान वेब रूट में हेरफेर नहीं करते हैं (जैसे कि यदि यह सभी JSP और स्टैटिक फाइल्स हैं), तो शायद आप इसे शीर्ष स्तर पर रखें , जैसे आवश्यक हो, /webroot
या /deploy
फ़ाइलों को कॉपी करें जैसे कि .class या .jar फाइलें। अति-संगठित करना मनुष्य (विशेष रूप से डेवलपर्स) की आदत है। अति-आयोजन का एक अच्छा संकेत केवल एक ही उप-फ़ोल्डर वाले बहुत सारे फ़ोल्डर हैं।
आपने क्या दिखाया है
आपने संकेत दिया है कि आप मावेन द्वारा निर्धारित एक सम्मेलन का अनुसरण कर रहे हैं, इसलिए यदि आप पहले से ही मावेन का उपयोग कर रहे हैं, तो बस उस लेआउट के साथ रहें। आपके द्वारा वर्णित लेआउट के साथ कुछ भी गलत नहीं है।