java - जेएसएफ, सर्वलेट और जेएसपी के बीच क्या अंतर है?




jsp jsf (11)

जेएसपी और सर्वलेट एक-दूसरे से कैसे जुड़े हैं? क्या जेएसपी किसी प्रकार का सर्वलेट है? जेएसपी और जेएसएफ एक-दूसरे से कैसे जुड़े हैं? क्या जेएसएफ कुछ प्रकार का प्रीबिल्ड यूआई आधारित जेएसपी है जैसे एएसपी.नेट-एमवीसी?


जेएसपी और सर्वलेट के बीच कुछ अंतर हैं:


Servlets:

जावा सर्वलेट एपीआई जावा डेवलपर्स को डायनामिक वेब सामग्री देने के लिए सर्वर-साइड कोड लिखने में सक्षम बनाता है। अन्य मालिकाना वेब सर्वर एपीआई की तरह, जावा सर्वलेट एपीआई ने सीजीआई पर बेहतर प्रदर्शन की पेशकश की; हालांकि, इसमें कुछ महत्वपूर्ण अतिरिक्त फायदे हैं। चूंकि जावा में सर्लेट को कोड किया गया था, इसलिए वे ऑब्जेक्ट-ओरिएंटेड (ओओ) डिज़ाइन दृष्टिकोण प्रदान करते हैं और, अधिक महत्वपूर्ण, किसी भी प्लेटफ़ॉर्म पर चलाने में सक्षम होते हैं। इस प्रकार, जावा का समर्थन करने वाले किसी भी मेजबान के लिए एक ही कोड पोर्टेबल था। सर्वलेट्स ने जावा की लोकप्रियता में काफी योगदान दिया, क्योंकि यह सर्वर-साइड वेब अनुप्रयोग विकास के लिए व्यापक रूप से उपयोग की जाने वाली तकनीक बन गया।

जेएसपी:

जेएसपी सर्वलेट्स के शीर्ष पर बनाया गया है और वेब उपयोगकर्ता इंटरफेस के लिए बड़ी मात्रा में गतिशील HTML सामग्री उत्पन्न करने के लिए एक सरल, पृष्ठ-आधारित समाधान प्रदान करता है। जावासेवर पेजेस वेब डेवलपर्स और डिजाइनरों को गतिशील, जावा भागों के लिए विशेष टैग वाले HTML पृष्ठों को संपादित करने में सक्षम बनाता है। जावा सर्वर पेज एक जेएसपी कंटेनर के रूप में जाना जाने वाला एक विशेष सर्वलेट है, जो वेब सर्वर पर स्थापित है और सभी जेएसपी पृष्ठ दृश्य अनुरोधों को संभालता है। जेएसपी कंटेनर अनुरोधित जेएसपी को सर्वलेट कोड में अनुवाद करता है जिसे तब संकलित और तुरंत निष्पादित किया जाता है। उसी पृष्ठ पर बाद के अनुरोध पृष्ठ के लिए रनटाइम सर्वलेट को आवेदक देते हैं। यदि सर्वर पर जेएसपी में कोई परिवर्तन किया जाता है, तो इसे देखने का अनुरोध एक और अनुवाद, संकलन, और रनटाइम सर्वलेट को पुनरारंभ करता है।

जेएसएफ:

जावा सर्वर फ़ेस वेब अनुप्रयोगों के लिए उपयोगकर्ता इंटरफेस बनाने के लिए एक मानक जावा ढांचा है। सबसे महत्वपूर्ण, यह उपयोगकर्ता इंटरफ़ेस के विकास को सरल बनाता है, जो प्रायः वेब अनुप्रयोग विकास के अधिक कठिन और कठिन भागों में से एक है।
यद्यपि एंटरप्राइज़ वेब अनुप्रयोग विकास के लिए डिज़ाइन किए गए एक व्यापक ढांचे के बिना आधारभूत जावा वेब प्रौद्योगिकियों (जैसे जावा सर्वलेट्स और जावासेवर पेजेस) का उपयोग करके उपयोगकर्ता इंटरफेस बनाना संभव है, लेकिन ये मूल तकनीकें अक्सर विकास और रखरखाव की समस्याओं का लाभ उठा सकती हैं। अधिक महत्वपूर्ण, जब तक डेवलपर्स उत्पादन-गुणवत्ता समाधान प्राप्त करते हैं, जेएसएफ द्वारा हल की गई समस्याओं का एक ही सेट गैर-मानक तरीके से हल किया जाएगा। JavaServer Faces को जावा वेब अनुप्रयोगों के लिए निम्न तरीकों से उपयोगकर्ता इंटरफेस के विकास को सरल बनाने के लिए डिज़ाइन किया गया है:
• यह वेब उपयोगकर्ता इंटरफेस बनाने के लिए एक घटक-केंद्रित, क्लाइंट-स्वतंत्र विकास दृष्टिकोण प्रदान करता है, इस प्रकार डेवलपर उत्पादकता में सुधार और उपयोग में आसानी।
• यह वेब उपयोगकर्ता इंटरफ़ेस से एप्लिकेशन डेटा की पहुंच और प्रबंधन को सरल बनाता है।
• यह स्वचालित रूप से एकाधिक अनुरोधों और एकाधिक ग्राहकों के बीच उपयोगकर्ता इंटरफ़ेस स्थिति को सरल और अविभाज्य तरीके से प्रबंधित करता है।
• यह एक विकास ढांचा प्रदान करता है जो विभिन्न कौशल सेट के साथ एक विविध डेवलपर दर्शकों के अनुकूल है।
• यह एक वेब अनुप्रयोग के लिए वास्तुकला पैटर्न के एक मानक सेट का वर्णन करता है।

[ स्रोत: पूर्ण संदर्भ: जेएसएफ ]


  1. जेएसएफ एक वेब एप्लिकेशन है जिसका उपयोग वेब आधारित उपयोगकर्ता इंटरफेस के विकास एकीकरण को सरल बनाने के लिए किया जाता है; जेएसपी एक जावा आधारित तकनीक है जो सॉफ्टवेयर डेवलपर्स को गतिशील वेब पेज बनाने में मदद करने के लिए विशेष रूप से उपयोग की जाती है।

  2. जेएसएफ में कई कोर फीचर्स हैं, जिनमें प्रबंधित बीन्स, एक टेम्पलेट आधारित घटक सिस्टम और दो एक्सएमएल आधारित टैग लाइब्रेरी शामिल हैं, लेकिन इतनी ही सीमित नहीं है; ठीक से काम करने के लिए जेएसपी जावा बाइटकोड में संकलित किया जाना चाहिए।


Servlets और JSP के बीच मूल अंतर यह है कि Servlets में हम जावा कोड लिखते हैं और उसमें हम HTML कोड एम्बेड करते हैं और जेएसपी के साथ केवल विपरीत मामला है। जेएसपी में हम एचटीएमएल कोड लिखते हैं और उसमें हम जेएसपी द्वारा प्रदान किए गए टैग का उपयोग करके जावा कोड एम्बेड करते हैं।


जेएसएफ एक उन्नत ढांचा है जिसमें परियोजनाओं के लिए मॉडल-व्यू-कंट्रोलर (एमवीसी) आधारित वास्तुकला को कार्यान्वित करना बहुत आसान है। जेएसपी पर जेएसएफ का मुख्य लाभ ब्राउज़र पर घटकों के आसान गतिशील प्रतिपादन और अजाक्स घटनाओं के आसान एकीकरण के आधार पर है।

जेएसएफ एप्लिकेशन का फ्रंट एंड यानी एक्सएचटीएमएल फाइलें हैं जो ब्राउज़र के माध्यम से उपयोगकर्ता को दिखायी जाती हैं। ये एक्सएचटीएमएल फाइलें आंतरिक रूप से प्रबंधित बीन्स जैसे नियंत्रकों का आह्वान करती हैं जिनमें वास्तविक अनुप्रयोग तर्क लिखा जाता है।

नियंत्रक आंतरिक रूप से विभिन्न सेवाओं का आह्वान करते हैं जो डेटाबेस के साथ संवाद करते हैं (हाइबरनेट या जेपीए एपीआई का उपयोग करके)। इस तरह प्रवाह कम होता है।

जेएसएफ का उपयोग रिचफेस के साथ संयोजन में भी किया जाता है जो आपके वेब एप्लिकेशन को समृद्ध दिखने और महसूस करने के लिए एक ढांचा है।

जेएसएफ + रिचफेसेस + हाइबरनेट / जेपीए निश्चित रूप से सीखने के लिए एक अच्छी तकनीक है!


जेएसपी एमवीसी (मॉडल व्यू कंट्रोलर) का व्यू घटक हैं। नियंत्रक आने वाले अनुरोध को लेता है और इसे मॉडल में पास करता है, जो एक बीन हो सकता है जो कुछ डेटाबेस एक्सेस करता है। जेएसपी फिर एचटीएमएल, सीएसएस और जावास्क्रिप्ट का उपयोग करके आउटपुट स्वरूपित करता है, और आउटपुट फिर अनुरोधकर्ता को वापस भेज दिया जाता है।


जेएसपी भी निर्मित सर्वलेट कोड में है जिसमें किसी बाहरी संकलन की आवश्यकता नहीं है जिसे इसे सीधे चलाया जा सकता है। सीधे ब्राउज़र में jsp में परिवर्तन प्रभावी होंगे।

सर्वलेट को संकलित करने की आवश्यकता है (यानी इसमें विशिष्ट वर्ग निर्माण होगा)

जेएसएफ एमवीसी फ्रेमवर्क का एक दृश्य घटक है


यह सच है कि जेएसपी निष्पादन के समय सर्वलेट में परिवर्तित हो गया है, और जेएसएफ वेबपृष्ठ को अधिक पठनीय बनाने के लिए पूरी तरह से नई चीज है क्योंकि जेएसएफ टैग के रूप में सभी प्रोग्रामिंग संरचनाओं को लिखने की अनुमति देता है।


http://www.oracle.com/technetwork/java/faq-137059.html देखें

जेएसपी प्रौद्योगिकी जावा प्रौद्योगिकी परिवार का हिस्सा है। जेएसपी पृष्ठों को सर्वलेट में संकलित किया गया है और सर्वर पर प्रसंस्करण करने के लिए जावाबीन घटक (बीन्स) या एंटरप्राइज़ जावाबीन घटक (एंटरप्राइज़ बीन्स) को कॉल कर सकते हैं। इस प्रकार, जेएसपी तकनीक वेब-आधारित अनुप्रयोगों के लिए एक उच्च स्केलेबल आर्किटेक्चर में एक प्रमुख घटक है।

https://jcp.org/en/introduction/faq देखें

ए: जावासेवर फेस टेक्नोलॉजी वेब अनुप्रयोगों के लिए उपयोगकर्ता इंटरफेस बनाने के लिए एक ढांचा है। जावासेवर फेस टेक्नोलॉजी में शामिल हैं:

एपीआई का एक सेट: यूआई घटकों का प्रतिनिधित्व करना और उनके राज्य का प्रबंधन करना, घटनाओं और इनपुट सत्यापन को संभालना, पृष्ठ नेविगेशन को परिभाषित करना, और अंतरराष्ट्रीयकरण और अभिगम्यता का समर्थन करना।

जेएसपी पृष्ठ के भीतर जावासेवर फेस इंटरफेस को व्यक्त करने के लिए जावासेवर पेजेस (जेएसपी) कस्टम टैग लाइब्रेरी।

जेएसपी एक विशेष प्रकार का सर्वलेट है।

जेएसएफ टैग का एक सेट है जिसे आप जेएसपी के साथ उपयोग कर सकते हैं।


ब्राउज़र / ग्राहक परिप्रेक्ष्य से

जेएसपी और जेएसएफ दोनों समान दिखते हैं, आवेदन आवश्यकताओं के अनुसार, जेएसपी अनुरोध के लिए अधिक उपयुक्त है - प्रतिक्रिया आधारित अनुप्रयोग।

जेएसएफ को अमीर घटना आधारित वेब अनुप्रयोगों के लिए लक्षित किया गया है। मैं अनुरोध / प्रतिक्रिया से घटना को जितना अधिक दानेदार देखता हूं।

सर्वर परिप्रेक्ष्य से

जेएसपी पेज को सर्वलेट में परिवर्तित कर दिया गया है, और इसमें केवल न्यूनतम व्यवहार है।

जेएसएफ पेज को घटक पेड़ में परिवर्तित किया जाता है (विशेष FacesServlet द्वारा) और यह spec द्वारा परिभाषित घटक जीवन चक्र का पालन करता है।


JSP:means HTML+Java Code:

जेएसपी का अपना जीवन चक्र jsp_init () jsp_service () jsp_destroy है

पहले अनुरोध के बाद जेएसपी .java फ़ाइल में कनवर्ट करें। हम तीन प्रकार के टैग का उपयोग कर रहे हैं
1.) Scriptless

<%  %>

यहां डेवलपर उन सभी चीजों को घोषित कर सकता है जो डेवलपर डेटा लेना चाहते हैं

2.) अभिव्यक्ति टैग

<%=  %>

यहां डेवलपर कुछ प्रिंट संबंधित डेटा का उपयोग कर सकते हैं

3.) घोषणा

<!% %>

यहां डेवलपर कुछ विधि से संबंधित डेटा घोषित कर सकता है।

Servlet:

सर्वलेट का अपना जीवन चक्र है।

init()
service()
destroy()

पहले अनुरोध कंटेनर के बाद web.xml फ़ाइल से डेटा पढ़ेगा, फिर स्वागत के बाद भरने के बाद प्रदर्शित किया जाएगा।
अब कार्रवाई करने के बाद आगे यह यूआरएल खोजेगा और इस प्रक्रिया के बाद यह उस विशेष सर्लेट को स्वयं खोजेगा। सेवा संचालन प्रदर्शन करेगा।

JSF:

जेएसएफ का अपना यूई है और इसका जीवन चक्र छह तरीकों से प्रदर्शन कर सकता है,

A)Restore view phase
B)Apply request values phase
C)Process validations phase
D)Update model values phase
E)Invoke application phase
F)Render response phase

यहां टेबल के लिए ui के लिए हम पैनल ग्रिड का उपयोग कर रहे हैं और इसके लिए अलग-अलग चेहरे हैं।

Rich Faces
Prime Faces.






java-ee