६.१ JavaBeans म्हणजे काय

आधीच 90 च्या दशकाच्या उत्तरार्धात, मोठ्या सर्व्हर अनुप्रयोगांसाठी जावा भाषा सक्रियपणे वापरली जाऊ लागली, जिथे वर्गांची संख्या दहापट आणि शेकडो हजारांमध्ये मोजली जाते. तेव्हाच Java वस्तूंचे स्वरूप प्रमाणित करण्याची कल्पना सुचली.

संपूर्ण जावा भाषेला स्पर्श केला गेला नाही, जेणेकरून ती लवचिकतेपासून वंचित राहू नये. बरं, मागची सुसंगतता आणि ते सर्व. मग त्यांनी नवीन पिढीच्या जावा वस्तूंसाठी अनेक निकष विकसित केले आणि अशा वस्तूंना जावा बीन्स म्हटले. जावाचे नाव कॉफीच्या लोकप्रिय ब्रँडच्या नावावर आहे, म्हणून जावा बीन्सचे शब्दशः भाषांतर "कॉफी बीन्स" असे केले जाते.

सर्वात महत्वाचे निकष होते:

  • वर्गाच्या अंतर्गत फील्डमध्ये प्रवेश द्वारे जातो getProperty().
  • वर्ग फील्डवर डेटा लिहिणे द्वारे जाते setProperty(value).
  • वर्गात सार्वजनिक पॅरामीटरलेस कन्स्ट्रक्टर असणे आवश्यक आहे .
  • वर्ग क्रमिक असणे आवश्यक आहे.
  • वर्गामध्ये equals(), hashCode()आणि पद्धती अधिलिखित असणे आवश्यक आहे toString().

या दृष्टिकोनामुळे अनुप्रयोग कमी सुसंगत झाले. नेहमी स्पष्ट:

  • ऑब्जेक्ट कसा तयार करायचा - सार्वजनिक डीफॉल्ट कन्स्ट्रक्टर आहे;
  • मालमत्ता मूल्य कसे मिळवायचे/सेट करायचे;
  • एखादी वस्तू कशी हस्तांतरित/जतन करावी (आम्ही अनुक्रमिकरण वापरतो);
  • ऑब्जेक्ट्सची तुलना कशी करायची (इक्वल() आणि हॅशकोड() वापरून);
  • लॉगमध्ये ऑब्जेक्टबद्दल माहिती कशी प्रदर्शित करावी (toString वापरा).

आता हे प्रत्यक्षात उद्योग मानक आहे, परंतु एकेकाळी हा एक नवीन ट्रेंड होता. असे दिसते की प्रत्येकजण आधीच असे लिहितो, जरी तुम्हाला HttpClient आणि त्याचे बिल्डर्स आठवत असतील, तर तुम्ही पाहू शकता की नवीन मानक एखाद्यासाठी कठीण आहे.

अशा वस्तू मोठ्या प्रमाणावर वापरल्या जातात जेथे त्यांचे मुख्य अर्थपूर्ण भार डेटा स्टोरेज आहे. उदाहरणार्थ, GUI, डेटाबेस आणि JSP पृष्ठांमध्ये.

6.2 JSPs आणि JavaBeans

JSP चे एक कारण हे होते की ते फ्रंट-एंड डेव्हलपरना आउटसोर्स केले जाऊ शकते. आणि काय? तुमच्याकडे HTML समजणारी व्यक्ती आहे, त्याला JSP लिहू द्या. जावा प्रोग्रामर त्यांचा भाग लिहितात, फ्रंट-एंड डेव्हलपर त्यांचा भाग लिहितात - सर्वकाही ठीक आहे.

आणि जेएसपीमध्ये एम्बेड केलेला लिखित जावा कोड फ्रंट-एंड डेव्हलपरना समजेपर्यंत सर्वकाही ठीक होते. किंवा, आणखी वाईट, असा कोड स्वतः लिहा.

जावा प्रोग्रामर देखील यासह आनंदी नव्हते. बरं, प्रार्थना सांगा, कोणते लेआउट डिझाइनर बॅकएंड डेव्हलपर आहेत? होय, ते स्क्रिप्ट्सशिवाय काहीही लिहू शकत नाहीत. होय, आणि संपूर्ण प्रोग्रामिंग प्रतिमान असे म्हणते की एका फाईलमध्ये भिन्न भाषा मिसळणे हा एक वाईट प्रकार आहे.

मग कल्पना सुचली की ते म्हणतात की फ्रंट-एंड डेव्हलपरना HTML कोड प्रमाणे Java ऑब्जेक्ट्ससह काम करण्याची संधी द्यावी. प्रत्येक एचटीएमएल टॅग देखील त्याच्या स्वतःच्या फील्डसह एक ऑब्जेक्ट आहे, त्याच प्रकारे Java ऑब्जेक्ट्ससह कार्य का करू नये?

पूर्ण करण्यापेक्षा लवकर सांगितले नाही. विशेष टॅग जोडले आणि आम्ही निघतो.

ऑब्जेक्ट निर्मिती:

<jsp:useBean id="Name" class="Object type" scope="session"/>

या कमांडने प्रकारासह एक ऑब्जेक्ट तयार केला objectआणि त्यास sessionनावाखाली ठेवले Name.

ऑब्जेक्ट चारपैकी एका स्टोअरमध्ये संग्रहित केले जाऊ शकतात: अनुप्रयोग (जागतिक), सत्र, विनंती आणि पृष्ठ. अशा वस्तूंची मालमत्ता सेट करणे देखील शक्य होते:

<jsp:setProperty name="Name" property="propName" value="string constant"/>

तुम्हाला अशा वस्तूंची मालमत्ता याप्रमाणे मिळू शकते:

<jsp:getProperty name="Name" property="propName"/>

टॅग वापरण्याचे उदाहरण:

<body>
    <center>
        <h2>Using JavaBeans in JSP</h2>
        <jsp:useBean id = "test" class = "com.example.TestBean" />
        <jsp:setProperty name = "test" property = "message" value = "Hello JSP..." />
        <p> What-to do important</p>
        <jsp:getProperty name = "test" property = "message" />
    </center>
   </body>