जवाबों:
JSP एक जावा व्यू तकनीक है जो सर्वर मशीन पर चल रही है जो आपको क्लाइंट साइड भाषाओं (जैसे HTML, CSS, जावास्क्रिप्ट, ect) में टेम्प्लेट टेक्स्ट लिखने की अनुमति देती है। JSP टैगलिब का समर्थन करता है , जो जावा कोड के टुकड़ों द्वारा समर्थित होता है जो आपको पृष्ठ प्रवाह या आउटपुट को गतिशील रूप से नियंत्रित करते हैं। एक प्रसिद्ध टैगलाइन JSTL है । JSP भी एक्सप्रेशन लैंग्वेज का समर्थन करता है , जिसका उपयोग बैकएंड डेटा (पेज में उपलब्ध विशेषताओं, अनुरोध, सत्र और एप्लिकेशन स्कोप के माध्यम से) के लिए किया जा सकता है, ज्यादातर टैगलिब के संयोजन में।
जब पहली बार एक जेएसपी का अनुरोध किया जाता है या जब वेब ऐप शुरू होता है, तो सर्वलेट कंटेनर इसे विस्तार करने वाले वर्ग में संकलित करेगा HttpServlet
और वेब ऐप के जीवनकाल के दौरान इसका उपयोग करेगा। आप सर्वर के कार्य निर्देशिका में उत्पन्न स्रोत कोड पा सकते हैं। उदाहरण के लिए टॉम्कट , यह /work
निर्देशिका है। एक JSP अनुरोध पर, सर्वलेट कंटेनर संकलित JSP वर्ग को निष्पादित करेगा और उत्पन्न आउटपुट (आमतौर पर सिर्फ HTML / CSS / JS) को वेब सर्वर के माध्यम से क्लाइंट साइड में एक नेटवर्क पर भेजेगा, जो बदले में इसे वेब ब्राउज़र में प्रदर्शित करता है।
सर्वलेट एक जावा एप्लिकेशन प्रोग्रामिंग इंटरफेस (एपीआई) सर्वर मशीन पर चल रहा है, जो क्लाइंट द्वारा किए गए अनुरोधों को स्वीकार करता है और एक प्रतिक्रिया भेजता / भेजता है। एक प्रसिद्ध उदाहरण है HttpServlet
जो तरीके प्रदान पर हुक करने HTTP लोकप्रिय का उपयोग कर अनुरोध HTTP विधियों जैसे GET
और POST
। आप HttpServlet
एक निश्चित HTTP URL पैटर्न को सुनने के लिए कॉन्फ़िगर कर सकते हैं , जो कि web.xml
हाल ही में जावा EE 6 के साथ @WebServlet
एनाउंसमेंट के साथ कॉन्फ़िगर करने योग्य या अधिक है ।
जब सर्वलेट पहली बार अनुरोध किया जाता है या वेब ऐप स्टार्टअप के दौरान, सर्वलेट कंटेनर इसका एक उदाहरण बनाएगा और इसे वेब ऐप के जीवनकाल के दौरान स्मृति में रखेगा। प्रत्येक आने वाले अनुरोध के लिए उसी उदाहरण का पुन: उपयोग किया जाएगा जिसका URL सर्वलेट के URL पैटर्न से मेल खाता है। आप अनुरोध डेटा तक पहुँच सकते हैं HttpServletRequest
और इसके द्वारा प्रतिक्रिया को संभाल सकते हैं HttpServletResponse
। दोनों ऑब्जेक्ट किसी भी तरह के ओवरराइड तरीकों के अंदर विधि तर्क के रूप में उपलब्ध हैं HttpServlet
, जैसे doGet()
और doPost()
।
JSF एक घटक आधारित MVC फ्रेमवर्क है जो सर्वलेट एपीआई के शीर्ष पर बनाया गया है और टैगलिब के माध्यम से घटक प्रदान करता है जिसका उपयोग जेएसपी या किसी अन्य जावा आधारित दृश्य प्रौद्योगिकी जैसे कि फेसलेट्स में किया जा सकता है । फेसलेट्स JSP की तुलना में JSF के लिए अधिक अनुकूल हैं। यह क्रमशः कंपोजिट घटकों जैसे महान टेंपलेटिंग क्षमताएं प्रदान करता है , जबकि जेएसपी मूल रूप से केवल <jsp:include>
JSF में टेम्प्लेटिंग के लिए प्रदान करता है , ताकि आप कच्चे जावा कोड के साथ कस्टम घटक बनाने के लिए मजबूर हो जाएं (जो थोड़ा अपारदर्शी है और बहुत थकाऊ काम है जब आप घटकों के एक दोहराया समूह को एक एकल घटक से बदलना चाहते हैं। JSF 2.0 के बाद से, JSP को फेसलेट्स के पक्ष में दृश्य तकनीक के रूप में चित्रित किया गया है।
नोट : JSP में ही अपदस्थ नहीं किया गया है, बस JSP के साथ JSF के संयोजन को पदावनत किया गया है।
नोट : जेएसपी में टैगलिब के माध्यम से, विशेषकर ( टैग फ़ाइल ) वैरिएंट के माध्यम से महान अस्थायी क्षमताएँ हैं । जेएसएफ के संयोजन में जेएसपी टेम्प्लेटिंग की कमी है।
MVC ( मॉडल-व्यू-कंट्रोलर ) फ्रेमवर्क होने के नाते , JSF FacesServlet
एकमात्र अनुरोध-प्रतिक्रिया नियंत्रक प्रदान करता है । यह आपके हाथों से सभी मानक और थकाऊ HTTP अनुरोध / प्रतिक्रिया कार्य लेता है, जैसे कि उपयोगकर्ता इनपुट इकट्ठा करना, उन्हें मान्य / रूपांतरित करना, उन्हें मॉडल ऑब्जेक्ट में डालना, क्रियाओं को लागू करना और प्रतिक्रिया देना। इस तरह से आप मूल रूप से एक JSP या फेसलेट्स (XHTML) पेज व्यू के लिए और एक JavaBean क्लास मॉडल के रूप में समाप्त होते हैं । JSF घटकों का उपयोग मॉडल के साथ दृश्य को बांधने के लिए किया जाता है (जैसे कि आपका ASP.NET वेब नियंत्रण करता है) और सभी कार्य करने के लिए JSF घटक ट्रीFacesServlet
का उपयोग करता है ।
<c:forEach>
टैग JSTL से है। यह भी देखें stackoverflow.com/tags/jstl/info
<mytag:doesSomething/>
एक कस्टम टैग और <jsp:attribute>
, एक jsp टैग की तरह दिखता है ।
Http://www.oracle.com/technetwork/java/faq-137059.html देखें
JSP तकनीक जावा प्रौद्योगिकी परिवार का हिस्सा है। JSP पेज को सर्वलेट्स में संकलित किया गया है और सर्वर पर प्रोसेसिंग करने के लिए JavaBeans Components (सेम) या Enterprise JavaBeans Components (एंटरप्राइज बीन्स) कह सकते हैं। जैसे, JSP तकनीक वेब-आधारित अनुप्रयोगों के लिए एक उच्च स्केलेबल वास्तुकला में एक महत्वपूर्ण घटक है।
Https://jcp.org/en/introduction/faq देखें
A: JavaServer Faces तकनीक वेब अनुप्रयोगों के लिए उपयोगकर्ता इंटरफेस के निर्माण के लिए एक रूपरेखा है। JavaServer चेहरे प्रौद्योगिकी में शामिल हैं:
इसके लिए एपीआई का एक सेट: यूआई घटकों का प्रतिनिधित्व करना और उनके राज्य का प्रबंधन करना, घटनाओं और इनपुट सत्यापन को संभालना, पेज नेविगेशन को परिभाषित करना और अंतर्राष्ट्रीयकरण और पहुंच का समर्थन करना।
JavaServer Pages (JSP) एक JSP पेज के भीतर JavaServer Faces इंटरफ़ेस को व्यक्त करने के लिए कस्टम टैग लाइब्रेरी।
JSP एक विशेष प्रकार का सर्वलेट है।
JSF उन टैग्स का एक सेट है, जिनका उपयोग आप JSP के साथ कर सकते हैं।
ब्राउज़र / क्लाइंट के नजरिए से
जेएसपी और जेएसएफ दोनों समान दिखते हैं, जैसा कि प्रति एप्लिकेशन आवश्यकताएँ चली जाती हैं, जेएसपी अनुरोध के लिए अधिक अनुकूल है - प्रतिक्रिया आधारित अनुप्रयोग।
JSF को अमीर इवेंट आधारित वेब एप्लिकेशन के लिए लक्षित किया जाता है। मैं घटना को अनुरोध / प्रतिक्रिया की तुलना में अधिक दानेदार देखता हूं।
सर्वर पर्सपेक्टिव से
जेएसपी पेज सर्वलेट में बदल जाता है, और इसमें केवल न्यूनतम व्यवहार होता है।
JSF पृष्ठ घटक ट्री (विशेष FacesServlet द्वारा) में परिवर्तित हो जाता है और यह कल्पना द्वारा परिभाषित घटक जीवनचक्र का अनुसरण करता है।
सर्वलेट्स:
जावा सर्वलेट एपीआई जावा डेवलपर्स को गतिशील वेब सामग्री देने के लिए सर्वर-साइड कोड लिखने में सक्षम बनाता है। अन्य मालिकाना वेब सर्वर एपीआई की तरह, जावा सर्वलेट एपीआई ने सीजीआई पर बेहतर प्रदर्शन की पेशकश की; हालाँकि, इसके कुछ प्रमुख अतिरिक्त फायदे हैं। क्योंकि जावा में सर्वलेट्स कोड किए गए थे, वे ऑब्जेक्ट-ओरिएंटेड (OO) डिज़ाइन दृष्टिकोण प्रदान करते हैं और, अधिक महत्वपूर्ण, किसी भी प्लेटफ़ॉर्म पर चलाने में सक्षम हैं। इस प्रकार, वही कोड किसी भी होस्ट के लिए पोर्टेबल था जो जावा का समर्थन करता था। सर्वलेट्स ने जावा की लोकप्रियता में बहुत योगदान दिया, क्योंकि यह सर्वर-साइड वेब एप्लिकेशन डेवलपमेंट के लिए एक व्यापक रूप से इस्तेमाल की जाने वाली तकनीक बन गई।
JSP:
जेएसपी सर्वलेट्स के शीर्ष पर बनाया गया है और वेब उपयोगकर्ता इंटरफेस के लिए बड़ी मात्रा में गतिशील एचटीएमएल सामग्री उत्पन्न करने के लिए एक सरल, पेज-आधारित समाधान प्रदान करता है। जावास्वर पेज वेब डेवलपर्स और डिजाइनरों को डायनामिक, जावा भागों के लिए विशेष टैग के साथ बस HTML पेज संपादित करने में सक्षम बनाता है। JavaServer Pages एक विशेष सर्वलेट के रूप में काम करता है जिसे JSP कंटेनर के रूप में जाना जाता है, जो एक वेब सर्वर पर स्थापित होता है और सभी JSP पेज व्यू अनुरोधों को संभालता है। जेएसपी कंटेनर एक अनुरोधित जेएसपी को सर्वलेट कोड में अनुवाद करता है जिसे फिर संकलित किया जाता है और तुरंत निष्पादित किया जाता है। एक ही पृष्ठ के बाद के अनुरोध केवल पृष्ठ के लिए रनटाइम सर्वलेट आह्वान करते हैं। यदि सर्वर पर JSP में कोई परिवर्तन किया जाता है, तो इसे देखने का अनुरोध एक और अनुवाद, संकलन, और रनटाइम सर्वलेट को पुनरारंभ करता है।
JSF:
JavaServer चेहरे वेब अनुप्रयोगों के लिए उपयोगकर्ता इंटरफेस के निर्माण के लिए एक मानक जावा फ्रेमवर्क है। सबसे महत्वपूर्ण, यह उपयोगकर्ता इंटरफ़ेस के विकास को सरल करता है, जो अक्सर वेब अनुप्रयोग विकास के अधिक कठिन और थकाऊ भागों में से एक है।
यद्यपि यह एक व्यापक ढांचे के डिजाइन उद्यम वेब अनुप्रयोग विकास के बिना, संस्थापक जावा वेब प्रौद्योगिकियों (जैसे जावा सर्वलेट्स और जावासेवर पेज) का उपयोग करके उपयोगकर्ता इंटरफेस का निर्माण करना संभव है, ये मुख्य प्रौद्योगिकियां अक्सर विकास और रखरखाव की समस्याओं का कारण बन सकती हैं। अधिक महत्वपूर्ण, जब तक डेवलपर्स उत्पादन-गुणवत्ता समाधान प्राप्त करते हैं, तब तक JSF द्वारा हल की गई समस्याओं का एक ही सेट गैर-मानक तरीके से हल किया जाएगा। JavaServer चेहरे निम्नलिखित तरीकों से जावा वेब अनुप्रयोगों के लिए उपयोगकर्ता इंटरफेस के विकास को आसान बनाने के लिए डिज़ाइन किए गए हैं:
• यह वेब उपयोगकर्ता इंटरफ़ेस के निर्माण के लिए एक घटक-केंद्रित, क्लाइंट-स्वतंत्र विकास दृष्टिकोण प्रदान करता है, इस प्रकार डेवलपर उत्पादकता में सुधार और उपयोग में आसानी होती है।
• यह वेब उपयोगकर्ता इंटरफ़ेस से एप्लिकेशन डेटा की पहुंच और प्रबंधन को सरल करता है।
• यह स्वचालित रूप से एक सरल और विनीत तरीके से कई अनुरोधों और कई ग्राहकों के बीच उपयोगकर्ता इंटरफ़ेस स्थिति का प्रबंधन करता है।
• यह एक विकास ढांचे की आपूर्ति करता है जो विभिन्न कौशल सेट के साथ एक विविध डेवलपर दर्शकों के अनुकूल है।
• यह एक वेब अनुप्रयोग के लिए स्थापत्य पैटर्न के एक मानक सेट का वर्णन करता है।
[ स्रोत: पूरा संदर्भ: JSF ]
ऐसी स्थितियां भी हैं जहां आप जेएसएफ के ऊपर जेएसपी का पक्ष ले सकते हैं। प्रौद्योगिकी का चयन करने के लिए एप्लिकेशन प्रकृति निर्णायक कारक होनी चाहिए।
यदि आपके पास एक समृद्ध GUI इंटरैक्शन और बहुत सारे जावा स्क्रिप्टिंग की आवश्यकता है तो JSF का पक्ष लें। मूल रूप से यदि आपका GUI ऐप आर्किटेक्चर घटक उन्मुख की तरह है और यहां तक कि स्विंग की तरह संचालित है तो JSF सबसे अच्छा है।
यदि आवेदन सिर्फ एक सादा रूप प्रस्तुत करना है, तो GUI इंटरैक्शन की ज्यादा जरूरत नहीं है, तो JSP अच्छी तरह से कर सकता है यदि एक नई तकनीक सीखना एक ओवरहेड है और जटिल रूपरेखा भी अनावश्यक है।
सर्वलेट - यह जावा सर्वर साइड लेयर है।
सर्वलेट्स और जेएसपी के बीच मूल अंतर यह है कि सर्वलेट्स में हम जावा कोड लिखते हैं और उसमें हम एचटीएमएल कोड एम्बेड करते हैं और जेएसपी के साथ बस रिवर्स केस होता है। JSP में हम HTML कोड लिखते हैं और उसमें हम JSP द्वारा उपलब्ध कराए गए टैग का उपयोग करके जावा कोड को एम्बेड करते हैं।
जावा सर्वर पेज (जेएसपी) जावा तकनीक है जो वेब डेवलपर्स और डिजाइनरों को तेजी से विकसित करने और आसानी से बनाए रखने, सूचना-समृद्ध, गतिशील वेब पेजों को सक्षम बनाता है जो मौजूदा व्यापार प्रणालियों का लाभ उठाते हैं। जेएसपी तकनीक उपयोगकर्ता इंटरफ़ेस को सामग्री पीढ़ी से अलग करती है, जिससे डिज़ाइनर अंतर्निहित डायनामिक सामग्री में बदलाव किए बिना समग्र पृष्ठ लेआउट को बदल सकते हैं।
फेसलेट जेएसएफ (जावा सर्वर फेस) के लिए डिज़ाइन किया गया पहला गैर जेएसपी पृष्ठ घोषणा भाषा है जो जेएसपी डेवलपर्स के लिए जेएसपी की तुलना में एक सरल और अधिक शक्तिशाली प्रोग्रामिंग मॉडल प्रदान करता है। यह वेब अनुप्रयोगों के विकास के लिए JSP में होने वाली विभिन्न समस्याओं का समाधान करता है।
यहाँ एक सारणी है, जो स्क्रीप्ट और फेसलेट की विशेषताओं की तुलना करती है:
JSP:means HTML+Java Code:
JSP का अपना जीवन चक्र jsp_init () jsp_service () jsp_destroy है
पहले अनुरोध के बाद JSP .java फ़ाइल में परिवर्तित हो जाता है। तीन प्रकार के टैग हैं जिनका हम उपयोग कर रहे हैं
1.) स्क्रिप्टलेस
<% %>
यहां डेवलपर उन सभी चीजों की घोषणा कर सकता है जो डेवलपर डेटा लेना चाहते हैं
2.) अभिव्यक्ति टैग
<%= %>
यहां डेवलपर कुछ प्रिंट से संबंधित डेटा का उपयोग कर सकता है
3.) घोषणा
<!% %>
यहां डेवलपर कुछ विधि संबंधी डेटा की घोषणा कर सकता है।
Servlet:
सर्वलेट का अपना जीवन चक्र होता है।
init()
service()
destroy()
पहले अनुरोध के बाद कंटेनर web.xml फ़ाइल से डेटा को पढ़ेगा, उसके बाद वेलकम फिल प्रदर्शित होगा।
अब कार्रवाई करने के बाद यह url को खोजेगा और इस प्रक्रिया के बाद यह विशेष सर्वलेट को खोजेगा जहां यह स्व है। सेवा संचालन प्रदर्शन करेगा।
JSF:
JSF का अपना ui है और यह जीवन चक्र छह तरह से प्रदर्शन कर सकता है,
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.
JSPs MVC (मॉडल व्यू कंट्रोलर) के व्यू कंपोनेंट हैं। नियंत्रक आने वाले अनुरोध को लेता है और इसे मॉडल में भेजता है, जो एक बीन हो सकता है जो कुछ डेटाबेस का उपयोग करता है। तब JSP HTML, CSS और जावास्क्रिप्ट का उपयोग करके आउटपुट को प्रारूपित करता है, और आउटपुट फिर वापस आवश्यककर्ता को भेज दिया जाता है।
JSF एक उन्नत ढांचा है, जिसमें परियोजनाओं के लिए मॉडल-व्यू-कंट्रोलर (MVC) आधारित वास्तुकला को लागू करना बहुत आसान है। जेएसपी पर जेएसएफ का मुख्य लाभ स्थितियों पर आधारित ब्राउज़र पर घटकों का आसान गतिशील प्रतिपादन और अजाक्स घटनाओं का आसान एकीकरण है।
जेएसएफ एप्लिकेशन का अगला सिरा यानी एक्सएचटीएमएल फाइलें वही हैं जो ब्राउज़र के माध्यम से उपयोगकर्ता को दिखाई जाती हैं। ये एक्सएचटीएमएल फाइलें आंतरिक रूप से प्रबंधित बीन्स को नियंत्रित करती हैं जैसे कि नियंत्रक जिसमें वास्तविक एप्लिकेशन लॉजिक लिखा जाता है।
नियंत्रक आंतरिक रूप से विभिन्न सेवाओं का आह्वान करते हैं जो डेटाबेस के साथ संवाद करते हैं (हाइबरनेट या जेपीए एपीआई का उपयोग करके)। इस तरह से प्रवाह कम होता है।
JSF का उपयोग रिचफेसेस के संयोजन में भी किया जाता है जो आपके वेब एप्लिकेशन को रिच लुक और फील देने के लिए एक ढांचा है।
JSF + RichFaces + हाइबरनेट / JPA सुनिश्चित करने के लिए सीखने के लिए एक अच्छी तकनीक है!
Jsp में निर्मित सर्वलेट कोड भी होता है, जिसे किसी भी बाहरी संकलन की आवश्यकता नहीं होती है इसे सीधे चलाया जा सकता है। सीधे ब्राउज़र में jsp में परिवर्तन प्रभावी होंगे।
सर्वलेट को संकलित करने की आवश्यकता है (अर्थात इसमें विशिष्ट वर्ग निर्माण होगा)
Jsf MVC फ्रेमवर्क का एक दृश्य घटक है
JSP का अर्थ है JAVA SERVER PAGE ........ jsp एक सर्वलेट नहीं है। Jsp कोड और HTML टैग दोनों का उपयोग करता है अपने आप में आपको एक HTML और एक सर्वलेट बनाने की आवश्यकता नहीं है। Jsp वेब अनुप्रयोग में शानदार भूमिका निभा रहे हैं। सर्वलेट एक जावा वर्ग है जो आपके HTML पेज को स्टेटिक से डायनामिक बनाने में भूमिका निभाता है।
सर्वलेट्स सर्वर साइड जावा प्रोग्राम हैं जो वेब कंटेनर के अंदर निष्पादित होते हैं। सर्वलेट का मुख्य लक्ष्य क्लाइंट से प्राप्त अनुरोधों को संसाधित करना है।
जावा सर्वर पेज का उपयोग गतिशील वेब पेज बनाने के लिए किया जाता है। Jsp को एक ही फाइल में java plus html कोड लिखने के लिए पेश किया गया था जो सर्वलेट्स प्रोग्राम में करना आसान नहीं था। और एक jsp फाइल को java सर्वलेट में तब परिवर्तित किया जाता है जब उसका अनुवाद किया जाता है।
जावा सर्वर फेस एक MVC वेब फ्रेमवर्क है जो UI के विकास को सरल बनाता है।