वेब सर्वर को एक JSP इंजन की आवश्यकता होती है, अर्थात, JSP पृष्ठों को संसाधित करने के लिए एक कंटेनर। JSP कंटेनर JSP पृष्ठों के अनुरोधों को रोकने के लिए जिम्मेदार है। यह ट्यूटोरियल Apache का उपयोग करता है जिसमें JSP पेज डेवलपमेंट को सपोर्ट करने के लिए बिल्ट-इन JSP कंटेनर है।
एक JSP कंटेनर वेब सर्वर के साथ रनटाइम वातावरण और JSP के लिए आवश्यक अन्य सेवाएँ प्रदान करने के लिए काम करता है। यह उन विशेष तत्वों को समझना जानता है जो JSP का हिस्सा हैं।
निम्नलिखित आरेख एक वेब अनुप्रयोग में JSP कंटेनर और JSP फ़ाइलों की स्थिति को दर्शाता है।
JSP संसाधन
निम्नलिखित चरण बताते हैं कि वेब सर्वर JSP का उपयोग करके वेबपेज कैसे बनाता है -
-
एक सामान्य पृष्ठ की तरह, आपका ब्राउज़र वेब सर्वर को एक HTTP अनुरोध भेजता है।
-
वेब सर्वर यह पहचानता है कि HTTP अनुरोध JSP पृष्ठ के लिए है और इसे JSP इंजन को अग्रेषित करता है। यह URL या JSP पृष्ठ का उपयोग करके किया जाता है जो .jsp . के साथ समाप्त होता है .html . के बजाय ।
-
जेएसपी इंजन डिस्क से जेएसपी पेज लोड करता है और इसे सर्वलेट सामग्री में परिवर्तित करता है। यह रूपांतरण बहुत सरल है जिसमें सभी टेम्प्लेट टेक्स्ट को प्रिंट्लन () स्टेटमेंट में बदल दिया जाता है और सभी जेएसपी तत्वों को जावा कोड में बदल दिया जाता है। यह कोड पृष्ठ के संगत गतिशील व्यवहार को लागू करता है।
-
JSP इंजन सर्वलेट को एक निष्पादन योग्य वर्ग में संकलित करता है और मूल अनुरोध को सर्वलेट इंजन को अग्रेषित करता है।
-
वेब सर्वर का एक हिस्सा जिसे सर्वलेट इंजन कहा जाता है, सर्वलेट क्लास को लोड करता है और इसे निष्पादित करता है। निष्पादन के दौरान, सर्वलेट HTML प्रारूप में एक आउटपुट उत्पन्न करता है। एक HTTP प्रतिक्रिया के अंदर सर्वलेट इंजन द्वारा आउटपुट को वेब सर्वर पर आगे भेज दिया जाता है।
-
वेब सर्वर स्थिर HTML सामग्री के संदर्भ में आपके ब्राउज़र को HTTP प्रतिक्रिया अग्रेषित करता है।
-
अंत में, वेब ब्राउज़र गतिशील रूप से जेनरेट किए गए HTML पृष्ठ को HTTP प्रतिक्रिया के अंदर ठीक वैसे ही संभालता है जैसे कि वह एक स्थिर पृष्ठ हो।
उपरोक्त सभी चरणों को निम्न आरेख में देखा जा सकता है -
आम तौर पर, जेएसपी इंजन यह देखने के लिए जांचता है कि जेएसपी फ़ाइल के लिए सर्वलेट पहले से मौजूद है या नहीं और जेएसपी पर संशोधन तिथि सर्वलेट से पुरानी है या नहीं। यदि जेएसपी अपने जेनरेट किए गए सर्वलेट से पुराना है, तो जेएसपी कंटेनर मानता है कि जेएसपी नहीं बदला है और जेनरेट किया गया सर्वलेट अभी भी जेएसपी की सामग्री से मेल खाता है। यह प्रक्रिया को अन्य स्क्रिप्टिंग भाषाओं (जैसे PHP) की तुलना में अधिक कुशल बनाता है और इसलिए तेज़ होता है।
तो एक तरह से, एक जेएसपी पेज वास्तव में जावा प्रोग्रामिंग विज़ होने के बिना सर्वलेट लिखने का एक और तरीका है। अनुवाद चरण को छोड़कर, एक JSP पृष्ठ बिल्कुल एक नियमित सर्वलेट की तरह संभाला जाता है।