html
JavaBeans स्कोप्स को समझना: Page और Request
विषय सूची
- परिचय
- JavaBeans स्कोप्स का अवलोकन
- Page और Request स्कोप्स की तुलना
- Page और Request स्कोप्स का कार्यान्वयन
- प्रोग्राम कोड विवरण
- प्रोग्राम आउटपुट
- निष्कर्ष
परिचय
JavaBeans पुन: प्रयोज्य सॉफ़्टवेयर घटक हैं जो विशेष नियमों का पालन करते हैं, जिससे डेवलपर्स को मॉड्यूलर और प्रबंधनीय कोड बनाने में सक्षम बनाता है। JavaBeans के विभिन्न scopes को समझना उनके जीवनचक्र और वेब एप्लिकेशन के भीतर उनकी पहुंच को प्रभावी ढंग से प्रबंधित करने के लिए महत्वपूर्ण है। यह eBook दो मुख्य scopes: Page और Request में गहराई से उतरती है। हम उनके अंतर, कार्यान्वयन रणनीतियों, और व्यावहारिक अनुप्रयोगों का अन्वेषण करेंगे ताकि शुरुआती और डेवलपर्स को Java वेब विकास में बुनियादी ज्ञान से सशक्त किया जा सके।
JavaBeans स्कोप्स का अवलोकन
JavaBeans विभिन्न scopes हो सकते हैं, जो उनके जीवनकाल और वेब एप्लिकेशन के भीतर उनकी दृश्यता को निर्धारित करते हैं। दो सामान्यतः उपयोग किए जाने वाले scopes हैं Page और Request। प्रत्येक स्कोप अलग-अलग व्यवहार प्रदान करता है जो वेब एप्लिकेशन की कार्यक्षमता के विभिन्न पहलुओं के अनुरूप है।
Page Scope
Page Scope JavaBean को एकल पेज (JSP) तक सीमित कर देता है। बीन केवल उस विशेष पेज के भीतर बनाया जाता है और सुलभ होता है जिसमें यह परिभाषित किया गया है। यह स्कोप सुनिश्चित करता है कि बीन का डेटा पेज की प्रोसेसिंग के दौरान उपलब्ध होता है लेकिन पेज प्रोसेसिंग पूर्ण होने के बाद इसे हटा दिया जाता है।
मुख्य विशेषताएँ:
- दृश्यता: उस पेज तक सीमित जिसमें यह परिभाषित है।
- जीवनकाल: केवल पेज अनुरोध के दौरान मौजूद रहता है।
- उपयोग मामला: उन बीन के लिए आदर्श जो एकल पेज में विशिष्ट डेटा प्रबंधित करते हैं बिना इसके कि उन्हें उससे आगे स्थायी रूप से रखना हो।
Request Scope
Request Scope एक ही क्लाइंट अनुरोध के भीतर कई संसाधनों में एक JavaBean की दृश्यता को बढ़ा देता है। Page Scope के विपरीत, Request Scoped बीन तब भी उपलब्ध रहता है यदि अनुरोध को किसी अन्य पेज या संसाधन पर अग्रेषित किया जाए।
मुख्य विशेषताएँ:
- दृश्यता: एक ही अनुरोध के दौरान कई संसाधनों में उपलब्ध।
- जीवनकाल: क्लाइंट अनुरोध की अवधि के लिए जीवित रहता है।
- उपयोग मामला: उन परिदृश्यों के लिए उपयुक्त जहां डेटा को एकल इंटरैक्शन के दौरान कई पेजों में स्थायी रखने की आवश्यकता होती है, जैसे कि फॉर्म सबमिशन जो कई पेजों में फैले होते हैं।
Page और Request स्कोप्स की तुलना
विशेषता | Page Scope | Request Scope |
---|---|---|
दृश्यता | एकल JSP पेज तक सीमित | कई संसाधनों/पेजों में उपलब्ध |
जीवनकाल | सिर्फ पेज प्रोसेसिंग के दौरान मौजूद | क्लाइंट अनुरोध की अवधि के लिए जीवित |
बीन इंस्टेंसेज | प्रत्येक पेज के लिए अलग-अलग इंस्टेंसेज | फॉरवर्डेड पेजों में साझा एकल इंस्टेंसेज |
उपयोग मामले | पेज-विशिष्ट डेटा प्रबंधन | अनुरोध के दौरान कई पेजों में डेटा स्थायीत्व |
Page और Request स्कोप्स का कार्यान्वयन
JavaBeans के विभिन्न स्कोप्स को कार्यान्वित करना JSP पेजों के भीतर उनके जीवनचक्र को परिभाषित करने को शामिल करता है। नीचे, हम दोनों Page और Request स्कोप वाले बीन सेटअप करने के तरीके का पता लगाएंगे, उनके विशिष्ट व्यवहार को उजागर करते हुए।
Page Scope कार्यान्वयन
Page Scope में, बीन को विशिष्ट JSP पेज के भीतर परिभाषित किया जाता है, यह सुनिश्चित करते हुए कि यह केवल उस पेज में उपलब्ध है।
उदाहरण: setProperty.jsp में Page Scope सेट करना
1 2 3 |
<jsp:useBean id="user" class="org.studyeasy.beans.User" scope="page" /> <jsp:setProperty name="user" property="firstName" value="John" /> <jsp:setProperty name="user" property="lastName" value="Doe" /> |
व्याख्या:
-
1<jsp:useBean>
user
को Page स्कोप के साथ घोषित करता है। -
1<jsp:setProperty>
- चूंकि स्कोप Page है, यह बीन केवल setProperty.jsp के भीतर उपलब्ध है।
Request Scope कार्यान्वयन
Request Scope में, बीन पूरे क्लाइंट अनुरोध के दौरान कई संसाधनों में उपलब्ध रहता है, भले ही अनुरोध को किसी अन्य JSP पर अग्रेषित किया जाए।
उदाहरण: setProperty.jsp में Request Scope सेट करना और getProperty.jsp पर अग्रेषित करना
1 2 3 4 5 6 7 8 9 |
<jsp:useBean id="user" class="org.studyeasy.beans.User" scope="request" /> <jsp:setProperty name="user" property="firstName" value="John" /> <jsp:setProperty name="user" property="lastName" value="Doe" /> <% request.setAttribute("user", user); RequestDispatcher dispatcher = request.getRequestDispatcher("getProperty.jsp"); dispatcher.forward(request, response); %> |
व्याख्या:
-
1<jsp:useBean>
user
को Request स्कोप के साथ घोषित करता है। - प्रॉपर्टीज़ को Page Scope की तरह सेट किया जाता है।
- एक स्क्रिप्टलेट का उपयोग करके अनुरोध को getProperty.jsp पर अग्रेषित किया जाता है, जिससे दोनों पेजों में
user
बीन तक पहुंच बनी रहती है।
प्रोग्राम कोड विवरण
Page और Request स्कोप्स के बीच अंतर को स्पष्ट करने के लिए, आइए प्रोजेक्ट के मुख्य घटकों: JavaBean और JSP पेजों की जाँच करें।
User.java Bean
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
package org.studyeasy.beans; public class User { private String firstName; private String lastName; // Getter for firstName public String getFirstName() { return firstName; } // Setter for firstName public void setFirstName(String firstName) { this.firstName = firstName; } // Getter for lastName public String getLastName() { return lastName; } // Setter for lastName public void setLastName(String lastName) { this.lastName = lastName; } } |
व्याख्या:
- User क्लास एक JavaBean को प्रदर्शित करता है जिसमें दो प्रॉपर्टीज़ हैं:
firstName
औरlastName
। - यह एन्कैप्सुलेशन के लिए मानक getters और setters शामिल करता है।
getProperty.jsp
1 2 3 4 5 6 7 8 |
<jsp:useBean id="user" class="org.studyeasy.beans.User" scope="page" /> <html> <body> <h2>Get Property Page</h2> <p>First Name: <jsp:getProperty name="user" property="firstName" /></p> <p>Last Name: <jsp:getProperty name="user" property="lastName" /></p> </body> </html> |
व्याख्या:
- एक
User
बीन को Page स्कोप के साथ घोषित करता है। - बीन की
firstName
औरlastName
प्रॉपर्टीज़ को पुनः प्राप्त करता है और प्रदर्शित करता है।
setProperty.jsp
1 2 3 4 5 6 7 8 9 |
<jsp:useBean id="user" class="org.studyeasy.beans.User" scope="page" /> <jsp:setProperty name="user" property="firstName" value="John" /> <jsp:setProperty name="user" property="lastName" value="Doe" /> <html> <body> <h2>Set Property Page</h2> <p>Values are updated.</p> </body> </html> |
व्याख्या:
- एक
User
बीन को Page स्कोप के साथ घोषित करता है। firstName
औरlastName
प्रॉपर्टीज़ को "John" और "Doe" में सेट करता है।- एक पुष्टिकरण संदेश प्रदर्शित करता है।
ध्यान दें: Request Scope को कार्यान्वित करने के लिए, setProperty.jsp में अग्रेषण लॉजिक शामिल करना होगा जैसा कि पहले प्रदर्शित किया गया है, जिससे getProperty.jsp में बीन की उपलब्धता सुनिश्चित हो।
प्रोग्राम आउटपुट
Page Scope का उपयोग
जब Page Scope का उपयोग किया जाता है, तो प्रत्येक JSP पेज अपने स्वयं के User
बीन का इंस्टेंसेज रखता है।
- getProperty.jsp तक पहुंचना:
- डिफ़ॉल्ट मान प्रदर्शित करता है:
12First Name: FirstNameLast Name: LastName
- डिफ़ॉल्ट मान प्रदर्शित करता है:
- setProperty.jsp तक पहुंचना:
- मानों को "John" और "Doe" में सेट करता है।
- प्रदर्शित करता है:
1Values are updated.
- getProperty.jsp को setProperty.jsp के बाद पुनः पहुंचना:
- Page Scope के कारण अपरिवर्तित रहता है:
12First Name: FirstNameLast Name: LastName
- Page Scope के कारण अपरिवर्तित रहता है:
Request Scope का उपयोग
Request Scope के साथ, बीन उसी अनुरोध के भीतर अग्रेषित पेजों में मौजूद रहती है।
- Request Scope के साथ setProperty.jsp तक पहुंचना:
- मानों को "John" और "Doe" में सेट करता है।
- getProperty.jsp पर अग्रेषित करता है, जो प्रदर्शित करता है:
123GetPropertyPageFirst Name: JohnLast Name: Doe
- पेज को ताज़ा करना:
- चूंकि स्कोप अनुरोध से जुड़ा है, ताज़ा करने पर डेटा रीसेट हो सकता है या परिनियोजन पर निर्भर करता है, लेकिन सामान्यतः, डेटा केवल एकल अनुरोध के लिए ही स्थायी रहता है।
निष्कर्ष
JavaBeans के स्कोप को समझना प्रभावी वेब एप्लिकेशन विकास के लिए महत्वपूर्ण है। Page Scope एकल JSP पेज में डेटा प्रबंधन के लिए आदर्श है, जिससे उस पेज तक सीमित पृथक्करण और जीवनचक्र प्रबंधन सुनिश्चित होता है। इसके विपरीत, Request Scope एक ही क्लाइंट अनुरोध के दौरान कई संसाधनों में व्यापक पहुंच प्रदान करता है, जिससे अधिक गतिशील और इंटरएक्टिव वेब अनुभवों को सुविधाजनक बनाया जाता है।
इन स्कोप्स का उपयुक्त रूप से उपयोग करके, डेवलपर्स अपने एप्लिकेशनों की मॉड्यूलरिटी, रखरखाव क्षमता, और दक्षता को बढ़ा सकते हैं। चाहे आप सरल डेटा मैपिंग प्रबंधित कर रहे हों या कई पेजों में जटिल इंटरैक्शन को संयोजित कर रहे हों, JavaBeans स्कोप्स में महारत हासिल करना Java वेब विकास के शस्त्रागार में एक बुनियादी कौशल है।
कीवर्ड्स: JavaBeans scopes, Page Scope, Request Scope, Java web development, JSP beans, Java Servlet, JavaBean lifecycle, web application design, scope comparison, Java for beginners
Note: This article is AI generated.