शायद आपको यह सोचने की ज़रूरत है कि कहां चल रहा है, और ये प्रोग्राम कैसे संवाद करते हैं। जब आप कोई वेब एप्लिकेशन विकसित करते हैं, तो आप कम से कम दो अलग-अलग मशीनों के बीच बातचीत को समन्वयित कर रहे हैं।
एक तरफ, यदि आप एक वेब सर्वर चला रहे हैं, कि ऊपर स्थिर सामग्री (सरल फ़ाइलों है कि बस बिना किसी परिवर्तन के बाहर भेजा जाता है) और गतिशील सामग्री (अनिवार्य रूप से फ़ाइलों को केवल निर्माण कर रहे हैं जब जरूरत कार्य करता है, और कहा कि उनकी स्थिति के अनुसार बदल जाएगा - उदाहरण के लिए एक स्वागत पृष्ठ जो उपयोगकर्ता का नाम प्रदर्शित करता है)। सादा एचटीएमएल स्थिर सामग्री है, जेएसपी और servlets गतिशील सामग्री प्रदान करते हैं।
दूसरी ओर, आप एक ब्राउज़र चला रहे हैं। ब्राउज़र स्थिर सामग्री प्रदर्शित कर सकता है, उन पृष्ठों में बनाए गए जावास्क्रिप्ट प्रोग्राम चला सकता है, और विशिष्ट प्रकार के अनुप्रयोगों को एम्बेड कर सकता है। एम्बेडेड अनुप्रयोगों के उदाहरण फ्लैश और एप्लेट्स हैं।
तो आप स्पष्ट हो सकता है, JSP और सर्वलेट वे क्लाइंट मशीन पर नहीं चल रहे हैं, वे तो बस ब्राउज़र को प्रदर्शित करने के लिए अलग-अलग सामग्री वितरित। एक जे 2 ईई प्रोग्राम क्लाइंट को डिलीवर नहीं किया जाता है, यह सर्वर पर बैठता है जो बातचीत के एक तरफ से दूसरी ओर ले जाने वाले ब्राउजर के साथ होता है।
एक वेब फॉर्म केवल HTML का एक ढेर है जो ब्राउज़र को टेक्स्ट फ़ील्ड, बटन और अन्य नियंत्रण प्रदर्शित करने के लिए कहता है। ब्राउज़र इन चीजों के बारे में सब कुछ जानता है, और आपको यह दिखाने के लिए एक प्रोग्राम लिखने की आवश्यकता नहीं है कि फ़ॉर्म को प्रदर्शित करने के लिए क्या करना है और सामग्री को सर्वर पर वापस भेजना है। एक साधारण रूप को गतिशील होने की आवश्यकता नहीं होती है - आप हर बार एक ही प्रश्न पूछ रहे हैं - ताकि आप इसे शुद्ध HTML में लिख सकें।
जब उपयोगकर्ता फॉर्म सबमिट करता है, तो डेटा सर्वर पर प्रेषित होता है और आपको उस डेटा को प्राप्त करने के लिए एक प्रोग्राम लिखना होगा और इसके साथ कुछ करना होगा। यह सर्वलेट की भूमिका है, जो डेटा प्राप्त कर सकती है और प्रतिक्रिया दे सकती है - एक अन्य वेब पेज के साथ, शायद गतिशील सामग्री प्रदर्शित करने के लिए जेएसपी का उपयोग करना (यानी फॉर्म सबमिशन का जवाब)।
यदि यह सब जटिल लगता है, तो यह निश्चित रूप से हो सकता है। विभिन्न ढांचे (विकेट, स्ट्रूट्स और इतने पर) हैं जो वार्तालाप के कुछ विवरण छुपाकर और सामान्य कार्यों को स्वचालित रूप से ले कर वेब अनुप्रयोगों को विकसित करना आसान बनाते हैं। हालांकि, अंतर्निहित तंत्र अभी भी वही है - सर्वर से सामग्री ब्राउज़र पर प्रदर्शित होती है, जो फ़ॉर्म सामग्री जैसे संदेश भेज सकती है, या विभिन्न पृष्ठों के लिए अनुरोध भेज सकती है। बुनियादी तंत्र को समझने से आप अधिक शक्तिशाली चीजें कैसे कर सकते हैं इसके बारे में सूचित विकल्प चुन सकते हैं।
एंबेडेड एप्लिकेशन आपको क्लाइंट पर अधिक जटिल सॉफ़्टवेयर चलाने की अनुमति देते हैं - ताकि आप एनिमेशन या कस्टम नियंत्रण प्रदर्शित कर सकें। हालांकि, सॉफ्टवेयर केवल क्लाइंट पर चल रहा है, और अभी भी सर्वर पर डेटा को संवाद करने की आवश्यकता है। उस डेटा को प्राप्त करने और इसके साथ कुछ करने के लिए सर्वर को अभी भी अपना स्वयं का सॉफ़्टवेयर चलाने की आवश्यकता है।इस प्रकार, एम्बेडेड एप्लिकेशन आपकी नौकरी को आसान नहीं बनाते हैं, लेकिन क्लाइंट पर चीजें कैसे काम करती हैं, इस पर आपको अधिक नियंत्रण करने की अनुमति देता है। हालांकि, एक आधुनिक वेब ब्राउज़र आप रूपों का प्रदर्शन किया और नियंत्रित किया जाता है कैसे पर नियंत्रण का एक बहुत कुछ देता है, तो आपको लगता है कि खाई और फ्लैश या एक एप्लेट की तरह कुछ का उपयोग करने के लिए एक अच्छा कारण की जरूरत है।
आप एक JSP पृष्ठ पर घुमाओ घटक का उपयोग नहीं कर सकते? – Alpine
@ एप्पलट में ऐल्पिन? – Orbit
@ ऑर्बिट मैं केवल HTML का उपयोग कर सकता हूं? – newbie