CodeGym /पाठ्यक्रम /All lectures for HI purposes /JSP: सर्वलेट को परिभाषित करने का घोषणात्मक तरीका

JSP: सर्वलेट को परिभाषित करने का घोषणात्मक तरीका

All lectures for HI purposes
स्तर 1 , सबक 1003
उपलब्ध

1.1 जेएसपी का परिचय

सर्वलेट लिखने के दो लोकप्रिय तरीके हैं: अनिवार्य और घोषणात्मक । हम पहले से ही निपटा चुके हैं - यह वास्तव में एक सर्वलेट है। दूसरे को JSP (जावा सर्वर पेज) कहा जाता है, और अब हम इससे परिचित होंगे।

सर्वलेट जेएसपी उदाहरण:


<html> 
    <body> 
        <% out.print(2*5); %> 
    </body> 
 </html> 

क्लासिक सर्वलेट के समान नहीं है जिसका हम उपयोग करते हैं, है ना? यह सच है। जेएसपी जावा कोड आवेषण (हरे रंग में हाइलाइट किया गया) वाला एक HTML पृष्ठ है

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

इस मामले में, सबसे सरल बात यह होगी कि इस HTML पेज को बनाया जाए और किसी तरह जावा कोड को सीधे सर्वर पर निष्पादित किया जाए।

1.2 जेएसपी संकलित करना

आइए एक और उदाहरण देखें:


<html> 
  <body> 
    <%
        double num = Math.random();
        if (num > 0.95) {
     %>
         <h2>You are lucky, user!</h2><p>(<%= num %>)</p>
    <%
        }
    %> 
  </body> 
</html> 

हमें एक यादृच्छिक संख्या मिलती है, और यदि यह 0.95 से अधिक है, तो हम "आप भाग्यशाली हैं, उपयोगकर्ता!"

जावा कोड को यहां नीले रंग में हाइलाइट किया गया है । सामान्य (हाइलाइट नहीं किया गया) - HTML कोड, और लाल - सेवा टैग , जो यह समझने में मदद करते हैं कि जावा कोड कहाँ है और HTML कहाँ है।

क्या आपको कुछ अजीब लगा? क्लोजिंग कर्ली ब्रेस "}"दूसरे में है "code block"। ऐसा कोड लिखने का सही तरीका क्या है? यह कैसे काम करता है?

उत्तर अति सरल होगा :)

वेब सर्वर, एक जेएसपी फ़ाइल खोजने के बाद, इसे क्लासिक सर्वलेट में संकलित करता है। उपरोक्त JSP पृष्ठ के आधार पर, यह सर्वलेट जनरेट किया जाएगा:

public class HelloServlet extends HttpServlet {
    protected void doGet(HttpServletRequest request, HttpServletResponse response)  throws Exception {
    PrintWriter out = response.getWriter();
    out.print("<html> ");
    out.print("<body>");
        double num = Math.random();
        if (num > 0.95) {
            out.print("<h2>You're lucky user! </h2><p>(" + num + ")</p>");
        }
    out.print("</body>");
    out.print("</html>");
    }
}

वेब कंटेनर ने अभी-अभी सर्वलेट कोड जनरेट किया, जहां HTML टेक्स्ट में बदल गया और जावा कोड इंसर्ट नियमित जावा कोड बन गया!

टिप्पणियां
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION