6.1 JavaBeans কি

ইতিমধ্যে 90 এর দশকের শেষের দিকে, জাভা ভাষাটি সক্রিয়ভাবে বৃহৎ সার্ভার অ্যাপ্লিকেশনগুলির জন্য ব্যবহার করা শুরু হয়েছিল, যেখানে ক্লাসের সংখ্যা দশ এবং কয়েক হাজারে পরিমাপ করা হয়। তখনই জাভা অবজেক্টের চেহারাকে মানসম্মত করার ধারণা আসে।

পুরো জাভা ভাষাটি স্পর্শ করা হয়নি, যাতে এটি নমনীয়তা থেকে বঞ্চিত না হয়। ভাল, পিছনের সামঞ্জস্য এবং যে সব. তারপর তারা নতুন প্রজন্মের জাভা অবজেক্টের জন্য বেশ কিছু মানদণ্ড তৈরি করে এবং এই ধরনের বস্তুকে জাভা বিনস বলে। জাভা কফির একটি জনপ্রিয় ব্র্যান্ডের নামানুসারে নামকরণ করা হয়েছে, তাই জাভা বিনস আক্ষরিক অর্থে অনুবাদ করে "কফি বিনস"।

সবচেয়ে গুরুত্বপূর্ণ মানদণ্ড ছিল:

  • ক্লাসের অভ্যন্তরীণ ক্ষেত্রগুলিতে অ্যাক্সেসের মাধ্যমে যায় getProperty()
  • ক্লাস ফিল্ডে ডেটা লেখার মাধ্যমে যায় setProperty(value)
  • ক্লাসে অবশ্যই একটি পাবলিক প্যারামিটারহীন কনস্ট্রাক্টর থাকতে হবে ।
  • ক্লাসটি অবশ্যই ক্রমিক হতে হবে।
  • ক্লাসে অবশ্যই equals(), hashCode()এবং পদ্ধতি ওভাররাইড করা থাকতে হবে toString()

এই পদ্ধতিটি অ্যাপ্লিকেশনগুলিকে কম সুসঙ্গত করেছে। সর্বদা পরিষ্কার:

  • কিভাবে একটি বস্তু তৈরি করতে - একটি পাবলিক ডিফল্ট কনস্ট্রাক্টর আছে;
  • কিভাবে সম্পত্তি মান পেতে/সেট করতে হয়;
  • কিভাবে একটি বস্তু স্থানান্তর/সংরক্ষণ (আমরা সিরিয়ালাইজেশন ব্যবহার করি);
  • কিভাবে বস্তুর তুলনা করা যায় (ইকুয়ালস() এবং হ্যাশকোড() ব্যবহার করে);
  • লগে বস্তু সম্পর্কে তথ্য কীভাবে প্রদর্শন করবেন (toString ব্যবহার করুন)।

এখন এটি আসলে শিল্পের মান, তবে এটি একসময় একটি নতুন প্রবণতা ছিল। মনে হচ্ছে যে সবাই ইতিমধ্যেই এই মত লিখেছে, যদিও আপনি যদি HttpClient এবং এর নির্মাতাদের মনে রাখেন তবে আপনি দেখতে পাবেন যে নতুন মান কারো জন্য কঠিন।

এই ধরনের বস্তু ব্যাপকভাবে ব্যবহৃত হয় যেখানে তাদের প্রধান শব্দার্থিক লোড হল ডেটা স্টোরেজ। উদাহরণস্বরূপ, GUI, ডাটাবেস এবং JSP পৃষ্ঠাগুলিতে।

6.2 JSPs এবং JavaBeans

JSP এর একটি কারণ ছিল যে এটি ফ্রন্ট-এন্ড ডেভেলপারদের কাছে আউটসোর্স করা যেতে পারে। এবং কি? আপনার কাছে এমন একজন ব্যক্তি আছেন যিনি HTML বোঝেন, তাকে JSP লিখতে দিন। জাভা প্রোগ্রামাররা তাদের অংশ লেখেন, ফ্রন্ট-এন্ড ডেভেলপাররা তাদের লেখেন - সবকিছু ঠিক আছে।

এবং সবকিছু ঠিকঠাক ছিল যতক্ষণ না ফ্রন্ট-এন্ড ডেভেলপারদের JSP-তে এমবেড করা লিখিত জাভা কোড বুঝতে হবে। অথবা, এমনকি খারাপ, এই ধরনের কোড নিজেই লিখুন.

জাভা প্রোগ্রামাররাও এতে খুশি ছিলেন না। আচ্ছা, প্রার্থনা বলুন, কোন লেআউট ডিজাইনাররা ব্যাকএন্ড ডেভেলপার? হ্যাঁ, তারা স্ক্রিপ্ট ছাড়া কিছুই লিখতে পারে না। হ্যাঁ, এবং পুরো প্রোগ্রামিং প্যারাডাইম বলে যে একটি ফাইলে বিভিন্ন ভাষা মিশ্রিত করা একটি খারাপ ফর্ম।

তারপরে ধারণাটি এসেছিল যে তারা বলে যে তারা ফ্রন্ট-এন্ড ডেভেলপারদের জাভা অবজেক্টের সাথে কাজ করার সুযোগ দেয়, যেমন HTML কোডের সাথে। প্রতিটি এইচটিএমএল ট্যাগ তার নিজস্ব ক্ষেত্র সহ একটি অবজেক্ট, কেন জাভা অবজেক্টের সাথে একইভাবে কাজ করবেন না?

যত তাড়াতাড়ি বলা হয়ে গেল। যোগ করা বিশেষ ট্যাগ এবং দূরে আমরা যেতে.

বস্তু সৃষ্টি:

<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>