জেএসপি (JSP) পেজে কিছু পূর্বনির্ধারিত অবজেক্ট (objects) রয়েছে, যেগুলিকে ইম্প্লিসিট অবজেক্টস বলা হয়। এগুলি সরাসরি জেএসপি পেজে ব্যবহৃত হতে পারে, এবং ডেভেলপারকে এগুলিকে explicitভাবে ডিফাইন করার প্রয়োজন নেই। এই অবজেক্টগুলির মাধ্যমে আপনি ওয়েব অ্যাপ্লিকেশন এর বিভিন্ন রিসোর্স যেমন রিকোয়েস্ট, রেসপন্স, সেশন, অ্যাপ্লিকেশন, কনফিগারেশন ইত্যাদি অ্যাক্সেস করতে পারেন।
নিচে কিছু গুরুত্বপূর্ণ ইম্প্লিসিট অবজেক্টস তুলে ধরা হল:
request
অবজেক্টটি ক্লায়েন্টের HTTP রিকোয়েস্ট সম্পর্কিত ডাটা ধারণ করে। এই অবজেক্টের মাধ্যমে আপনি ক্লায়েন্টের পাঠানো ডাটা যেমন পারামিটার, হেডার, কুকি ইত্যাদি অ্যাক্সেস করতে পারেন।
ব্যবহার উদাহরণ:
<%= request.getParameter("username") %>
এই উদাহরণে, username
প্যারামিটারটি রিকোয়েস্ট থেকে পাওয়া হচ্ছে।
response
অবজেক্টটি সার্ভার থেকে ক্লায়েন্টের কাছে পাঠানো HTTP রেসপন্স সম্পর্কিত তথ্য ধারণ করে। এর মাধ্যমে আপনি রেসপন্সের স্ট্যাটাস, হেডার এবং কুকি সেট করতে পারেন।
ব্যবহার উদাহরণ:
<%= response.getStatus() %>
এই উদাহরণে, সার্ভারের রেসপন্স স্ট্যাটাস কোড পাওয়া যাবে।
out
অবজেক্টটি ক্লায়েন্টের ব্রাউজারে HTML, JavaScript বা অন্য কোন কন্টেন্ট পাঠানোর জন্য ব্যবহৃত হয়। এটি একটি JspWriter
অবজেক্ট যা স্ট্রিমিং রেসপন্স প্রদান করে।
ব্যবহার উদাহরণ:
<%= out.print("Hello, World!") %>
এটি "Hello, World!" পাঠাবে ক্লায়েন্টের ব্রাউজারে।
session
অবজেক্টটি ক্লায়েন্টের সেশন সম্পর্কিত ডাটা ধারণ করে। এটি ব্যবহারকারীর সেশন-ভিত্তিক তথ্য যেমন লগইন স্টেটাস, ইউজার প্রেফারেন্স ইত্যাদি সংরক্ষণ করতে ব্যবহৃত হয়।
ব্যবহার উদাহরণ:
<%= session.getAttribute("username") %>
এই কোডটি সেশন থেকে username
অ্যাট্রিবিউটের মান বের করে।
application
অবজেক্টটি ওয়েব অ্যাপ্লিকেশনের স্কোপে ডাটা সংরক্ষণ করতে ব্যবহৃত হয়। এটি সার্ভারের অ্যাপ্লিকেশন স্তরের ডাটা ধারণ করে এবং অ্যাপ্লিকেশনের মধ্যে বিভিন্ন জেএসপি পেজ থেকে অ্যাক্সেস করা যায়।
ব্যবহার উদাহরণ:
<%= application.getAttribute("appName") %>
এই উদাহরণে, অ্যাপ্লিকেশন থেকে appName
অ্যাট্রিবিউটের মান পাওয়া যাবে।
config
অবজেক্টটি সার্ভলেট কনফিগারেশন সম্পর্কিত তথ্য ধারণ করে। এটি সার্ভলেট কনফিগারেশন প্যারামিটার, যেমন ওয়েব অ্যাপ্লিকেশনের web.xml
ফাইলের তথ্য অ্যাক্সেস করতে ব্যবহৃত হয়।
ব্যবহার উদাহরণ:
<%= config.getServletName() %>
এই কোডটি সার্ভলেটের নাম প্রদর্শন করবে।
pageContext
অবজেক্টটি পেজের বর্তমান কনটেক্সটের তথ্য ধারণ করে। এটি পেজের স্কোপের মধ্যে অ্যাট্রিবিউট সংরক্ষণ এবং অ্যাক্সেস করতে ব্যবহৃত হয়।
ব্যবহার উদাহরণ:
<%= pageContext.getAttribute("userRole") %>
এটি পেজ কনটেক্সটের মধ্যে userRole
অ্যাট্রিবিউটের মান অ্যাক্সেস করবে।
page
অবজেক্টটি পেজের অবজেক্ট রেফারেন্স ধারণ করে। এটি মূলত জেএসপি পেজের this
রেফারেন্স হিসেবে কাজ করে, যা পেজের জন্য বর্তমান অবজেক্টকে নির্দেশ করে।
ব্যবহার উদাহরণ:
<%= page.getClass().getName() %>
এই কোডটি পেজের ক্লাস নাম প্রদর্শন করবে।
exception
অবজেক্টটি শুধুমাত্র Error Pages এ ব্যবহৃত হয়। যখন একটি এক্সসেপশন ঘটে, তখন এই অবজেক্টটি সেই এক্সসেপশনটি ধারণ করে এবং Error পেজে এক্সসেপশনটি প্রদর্শন করতে ব্যবহৃত হয়।
ব্যবহার উদাহরণ:
<%= exception.getMessage() %>
এটি এক্সসেপশনটির বার্তা প্রদর্শন করবে।
সারাংশ:
জেএসপি ইম্প্লিসিট অবজেক্টস ডেভেলপারদের জন্য প্রি-ডিফাইনড অবজেক্ট সরবরাহ করে, যা তাদের ডাইনামিক ওয়েব পেজ তৈরি এবং বিভিন্ন সিস্টেম রিসোর্স অ্যাক্সেস করতে সহজ করে তোলে। এই অবজেক্টগুলির মাধ্যমে রিকোয়েস্ট, রেসপন্স, সেশন, অ্যাপ্লিকেশন কনটেক্সট ইত্যাদি সহজেই পরিচালনা করা সম্ভব।
Implicit Objects হল এমন অবজেক্ট, যা জেএসপি পেজে স্বয়ংক্রিয়ভাবে উপলব্ধ থাকে এবং ডেভেলপারকে এগুলোর জন্য আলাদা করে কোন ইনস্ট্যান্স তৈরি করতে হয় না। এগুলি জেএসপি পেজের মধ্যে বিভিন্ন গুরুত্বপূর্ণ তথ্য সরবরাহ করতে সহায়তা করে, যেমন HTTP রিকোয়েস্ট, রেসপন্স, সেশনের ডাটা ইত্যাদি। জেএসপি পেজের মধ্যে এই অবজেক্টগুলি ব্যবহারের মাধ্যমে ডেভেলপারদের প্রোগ্রামিং আরও সহজ এবং দ্রুত হয়।
Implicit Objects জেএসপি পেজে বিভিন্ন সার্ভার-সাইড তথ্য এবং অবজেক্ট সরবরাহ করে, যা ডেভেলপারদের পেজের মধ্যে সহজে ডাটা এক্সেস এবং প্রসেস করতে সহায়তা করে। এটি মূলত ডাইনামিক কন্টেন্ট তৈরি করার সময় প্রয়োজনীয় তথ্য সরবরাহ করে, যেমন ইউজার ইনপুট, সার্ভার কনফিগারেশন, সেশন ইনফরমেশন, কুকিজ ইত্যাদি।
জেএসপি তে মোট ৯টি Implicit Objects রয়েছে, যা নিম্নরূপ:
request অবজেক্ট HTTP রিকোয়েস্ট সম্পর্কিত সমস্ত তথ্য ধারণ করে। এটি HTTP রিকোয়েস্টের মাধ্যমে প্রাপ্ত ইনপুট ডাটা (যেমন প্যারামিটার) এবং অন্যান্য তথ্য এক্সেস করতে ব্যবহৃত হয়।
ব্যবহার:
<%= request.getParameter("username") %>
response অবজেক্ট HTTP রেসপন্স সম্পর্কিত তথ্য ধারণ করে, যেমন আউটপুট স্ট্রিম, কন্টেন্ট টাইপ ইত্যাদি। এটি রেসপন্স কাস্টমাইজ করতে ব্যবহৃত হয়।
ব্যবহার:
<%= response.setContentType("text/html") %>
out অবজেক্ট হল একটি JspWriter
অবজেক্ট, যা HTML কনটেন্ট রেন্ডার করতে ব্যবহৃত হয়। এটি পেজের আউটপুট হিসাবে ডাটা প্রিন্ট বা রেন্ডার করতে সাহায্য করে।
ব্যবহার:
<%= out.println("Hello, JSP!") %>
session অবজেক্ট ব্যবহারকারী সেশনের সাথে সম্পর্কিত তথ্য ধারণ করে। এটি ব্যবহারকারী সেশনে সংরক্ষিত ডাটা (যেমন লগইন স্টেটাস) এক্সেস করতে ব্যবহৃত হয়।
ব্যবহার:
<%= session.getAttribute("user") %>
application অবজেক্ট ওয়েব অ্যাপ্লিকেশনের স্কোপে থাকা তথ্য ধারণ করে। এটি সাধারণত অ্যাপ্লিকেশন লেভেলের ডাটা (যেমন অ্যাপ্লিকেশন কনফিগারেশন) এক্সেস করতে ব্যবহৃত হয়।
ব্যবহার:
<%= application.getAttribute("appConfig") %>
config অবজেক্ট ওয়েব অ্যাপ্লিকেশনের সার্ভলেট কনফিগারেশন সম্পর্কিত তথ্য ধারণ করে, যা ওয়েব অ্যাপ্লিকেশনের web.xml
ফাইলে সংজ্ঞায়িত থাকে।
ব্যবহার:
<%= config.getInitParameter("configParam") %>
pageContext অবজেক্ট জেএসপি পেজের পৃষ্ঠার স্কোপ সম্পর্কিত তথ্য ধারণ করে, যেমন পেজের আউটপুট, প্যারামিটার এবং অন্যান্য সেশন সম্পর্কিত অবজেক্ট।
ব্যবহার:
<%= pageContext.getAttribute("pageAttribute") %>
page অবজেক্ট জেএসপি পেজের একটি রেফারেন্স। এটি পেজের মধ্যে অবস্থিত Java কোডের অংশ হিসেবে কাজ করে।
ব্যবহার:
<%= this %>
exception অবজেক্টটি শুধুমাত্র ত্রুটি (exception) পেজে ব্যবহৃত হয় এবং এটি ত্রুটির বিস্তারিত তথ্য প্রদান করে।
ব্যবহার:
<%= exception.getMessage() %>
Implicit Objects এর মাধ্যমে ডেভেলপারদের কন্টেন্ট ডাইনামিক্যালি তৈরি করা সহজ হয়, কারণ এগুলি স্বয়ংক্রিয়ভাবে জেএসপি পেজে ইনিশিয়ালাইজ হয়ে থাকে। এগুলি ব্যবহার করে নিম্নলিখিত সুবিধাগুলি পাওয়া যায়:
Implicit Objects জেএসপি তে একটি অত্যন্ত শক্তিশালী বৈশিষ্ট্য, যা ডেভেলপারদের ডাইনামিক কন্টেন্ট তৈরি এবং সার্ভার সাইড কার্যক্রম সহজভাবে সম্পাদন করতে সহায়তা করে।
জেএসপি (JSP) পেজে বিভিন্ন ধরনের অবজেক্ট ব্যবহার করা হয় যা ওয়েব অ্যাপ্লিকেশনের সাথে ইন্টারঅ্যাক্ট করতে সাহায্য করে। এগুলোর মধ্যে Request, Response, Session, এবং Application অবজেক্ট অন্যতম। এই অবজেক্টগুলো ওয়েব অ্যাপ্লিকেশনে ইউজারের ইন্টারঅ্যাকশন, ডেটা প্রক্রিয়া এবং ইউজারদের মধ্যে সেশন ম্যানেজমেন্টে সাহায্য করে।
Request Object (request) হল ওয়েব ব্রাউজার থেকে সার্ভারে পাঠানো তথ্য বা রিকোয়েস্টের প্রতিনিধিত্ব। এটি HTTP রিকোয়েস্টের সব ধরনের তথ্য ধারণ করে, যেমন প্যারামিটার, ইউজার অ্যাজেন্ট, আইপি ঠিকানা ইত্যাদি। রিকোয়েস্ট অবজেক্ট ব্যবহার করে আপনি ইউজারের ইনপুট বা পাঠানো ডেটা অ্যাক্সেস করতে পারেন।
<%
String name = request.getParameter("name");
out.println("নাম: " + name);
%>
এখানে, request.getParameter("name")
ব্যবহার করে ইউজারের ইনপুট করা নাম সংগ্রহ করা হচ্ছে।
Response Object (response) হল সার্ভার থেকে ওয়েব ব্রাউজারে পাঠানো রেসপন্সের প্রতিনিধিত্ব। এটি ইউজারকে কোন ডেটা বা কন্টেন্ট পাঠানোর জন্য ব্যবহৃত হয়। সাধারণত, response
অবজেক্টের মাধ্যমে HTML, JSON, অথবা অন্য কোনো কন্টেন্ট ওয়েব ব্রাউজারে রিটার্ন করা হয়।
<%
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<h1>স্বাগতম!</h1>");
%>
এখানে, response.setContentType("text/html")
দিয়ে কন্টেন্ট টাইপ সেট করা হয়েছে এবং response.getWriter()
ব্যবহার করে HTML রিটার্ন করা হচ্ছে।
Session Object (session) হল সার্ভার সাইডে ইউজারের সেশন ম্যানেজমেন্টের জন্য ব্যবহৃত একটি অবজেক্ট। এটি ইউজারের ভিজিটের সময়কালীন সমস্ত তথ্য সংরক্ষণ করে। সেশন অবজেক্টের মাধ্যমে আপনি ইউজারের ইনফরমেশন যেমন লগইন স্টেটাস, শপিং কার্ট, অথবা অন্যান্য তথ্য সংরক্ষণ করতে পারেন যা এক সেশন থেকে অন্য সেশনে শেয়ার করা হয় না।
<%
session.setAttribute("username", "john_doe");
out.println("সেশন স্টোরে ইউজারের নাম সংরক্ষিত হলো।");
%>
এখানে, session.setAttribute("username", "john_doe")
দিয়ে সেশনে ইউজারের নাম সংরক্ষণ করা হচ্ছে।
Application Object (application) হল সার্ভারের পুরো অ্যাপ্লিকেশন স্তরের অবজেক্ট যা ওয়েব অ্যাপ্লিকেশনের সমস্ত ইউজারের মধ্যে শেয়ার করা তথ্য সংরক্ষণ করতে ব্যবহৃত হয়। এটি অ্যাপ্লিকেশন চলাকালীন সব ইউজারের জন্য একসাথে কাজ করে এবং অ্যাপ্লিকেশনের গ্লোবাল স্কোপে তথ্য সংরক্ষণ করতে ব্যবহৃত হয়।
<%
application.setAttribute("appName", "MyApp");
out.println("অ্যাপ্লিকেশন স্তরে অ্যাপের নাম সংরক্ষিত হলো।");
%>
এখানে, application.setAttribute("appName", "MyApp")
দিয়ে অ্যাপ্লিকেশন স্কোপে একটি মান সংরক্ষণ করা হচ্ছে।
Request, Response, Session, এবং Application অবজেক্টগুলো জেএসপি (JSP) ওয়েব অ্যাপ্লিকেশনে গুরুত্বপূর্ণ ভূমিকা পালন করে, এবং এগুলো ব্যবহারের মাধ্যমে আপনি ইউজারের ইনপুট গ্রহণ, রেসপন্স প্রদান, সেশন ট্র্যাকিং এবং অ্যাপ্লিকেশন-লেভেল ডেটা সংরক্ষণ করতে পারবেন।
জেএসপি (JSP) পেজে বিভিন্ন ধরনের অবজেক্ট ব্যবহার করা হয় যা ডাইনামিক কন্টেন্ট তৈরি এবং পেজের বিভিন্ন সেটিংস ম্যানেজ করতে সহায়তা করে। এই অবজেক্টগুলো হল out, config, এবং pageContext, যেগুলো ওয়েব পেজের মধ্যে Java কোডের আউটপুট বা পেজ কনফিগারেশন সংক্রান্ত কাজ করতে ব্যবহৃত হয়।
out অবজেক্টটি জেএসপি পেজে Java কোডের মাধ্যমে আউটপুট পাঠানোর জন্য ব্যবহৃত হয়। এটি javax.servlet.jsp.JspWriter ক্লাসের একটি ইনস্ট্যান্স এবং ব্যবহারকারীর পেজে HTML বা অন্যান্য কন্টেন্ট প্রিন্ট করতে সহায়তা করে।
<%
out.println("Hello, World!");
%>
এখানে out.println ব্যবহার করে "Hello, World!" টেক্সটটি পেজে প্রদর্শিত হবে। out অবজেক্টটি পেজের সমস্ত ডাইনামিক আউটপুট হ্যান্ডল করতে সক্ষম এবং এটি কেবল JspWriter এর মাধ্যমে পেজের প্রিন্টিং ফাংশনality সম্পাদন করে।
config অবজেক্টটি javax.servlet.ServletConfig ক্লাসের একটি ইনস্ট্যান্স এবং এটি জেএসপি পেজের কনফিগারেশন তথ্য অ্যাক্সেস করতে ব্যবহৃত হয়। এই অবজেক্টটি সার্ভার কনফিগারেশন, ওয়েব অ্যাপ্লিকেশন, এবং পেজের ইনিশিয়াল প্যারামিটার সম্পর্কে তথ্য প্রদান করে।
<%
String servletName = config.getServletName();
out.println("This page was processed by: " + servletName);
%>
এখানে config.getServletName() সার্ভলেটের নাম ফিরিয়ে দেয়, যেটি ওয়েব পেজে আউটপুট হিসেবে প্রদর্শিত হবে। config অবজেক্টটি সার্ভলেটের কনফিগারেশন এবং পেজের সার্ভলেটের সম্পর্কিত ডেটা সরবরাহ করতে ব্যবহৃত হয়।
pageContext অবজেক্টটি javax.servlet.jsp.PageContext ক্লাসের একটি ইনস্ট্যান্স এবং এটি জেএসপি পেজের বিভিন্ন কনটেক্সট, যেমন সেশন, অ্যাপ্লিকেশন এবং পেজের স্কোপে ডাটা অ্যাক্সেস করতে ব্যবহৃত হয়। এটি পেজের আউটপুট, কুকি, অ্যাট্রিবিউট এবং রিকোয়েস্ট হ্যান্ডলিং সম্পর্কিত কাজ করে থাকে।
<%
pageContext.setAttribute("userName", "John Doe");
String userName = (String) pageContext.getAttribute("userName");
out.println("Hello, " + userName);
%>
এখানে pageContext.setAttribute ব্যবহার করে একটি অ্যাট্রিবিউট "userName" সেট করা হয়েছে এবং pageContext.getAttribute ব্যবহার করে সেটি অ্যাক্সেস করা হয়েছে। এই প্রক্রিয়াটি পেজের স্কোপে তথ্য সংরক্ষণ এবং ব্যবহার করতে সহায়তা করে।
out, config, এবং pageContext সবই জেএসপি পেজের বিভিন্ন ফিচার এবং কনফিগারেশন ম্যানেজ করতে সাহায্য করে। এগুলোর মাধ্যমে ডাইনামিক কন্টেন্ট প্রদর্শন, কনফিগারেশন তথ্য অ্যাক্সেস এবং পেজের স্কোপে তথ্য ম্যানেজমেন্ট সম্ভব হয়।
Implicit Objects হল কিছু পূর্বনির্ধারিত অবজেক্ট যা জেএসপি পেজে সরাসরি ব্যবহৃত হতে পারে, যাতে Java কোড লেখা ছাড়াই বিভিন্ন কার্যক্রম সম্পাদন করা যায়। এগুলি বিশেষভাবে ব্যবহৃত হয় ওয়েব অ্যাপ্লিকেশনগুলির জন্য ডাইনামিক কন্টেন্ট তৈরি করার সময়। এগুলোর মাধ্যমে ডেভেলপাররা রিকোয়েস্ট, রেসপন্স, সেশন এবং অন্যান্য সার্ভার-সাইড অবজেক্টের সাথে কাজ করতে পারেন।
1. requestrequest
অবজেক্টটি HTTP রিকোয়েস্টের তথ্য ধারণ করে। এটি ইউজারের পাঠানো ইনপুট (যেমন ফর্ম ডাটা) এবং ইউআরএল প্যারামিটার সংগ্রহ করতে ব্যবহৃত হয়।
উদাহরণ:
<%
String username = request.getParameter("username");
out.println("Hello, " + username);
%>
এখানে, request.getParameter()
ব্যবহার করে ইউজারের ইনপুট নেওয়া হয়েছে এবং তা out.println()
এর মাধ্যমে প্রদর্শিত হয়েছে।
2. responseresponse
অবজেক্টটি HTTP রেসপন্স পরিচালনা করে। এটি রেসপন্সের হেডার, কনটেন্ট টাইপ, কুকি ইত্যাদি সেট করতে ব্যবহৃত হয়।
উদাহরণ:
<%
response.setContentType("text/html");
out.println("<h1>Welcome to JSP</h1>");
%>
এখানে, response.setContentType()
ব্যবহার করে রেসপন্সের কনটেন্ট টাইপ text/html
হিসেবে সেট করা হয়েছে এবং HTML কনটেন্ট প্রদর্শিত হচ্ছে।
3. outout
অবজেক্টটি JSP পেজের আউটপুট স্ট্রিমকে প্রতিনিধিত্ব করে এবং এর মাধ্যমে পেজে ডাইনামিক কন্টেন্ট পাঠানো যায়।
উদাহরণ:
<%
out.println("This is an implicit object example");
%>
এখানে, out.println()
ব্যবহার করে একটি সিম্পল মেসেজ ওয়েব পেজে প্রদর্শন করা হয়েছে।
4. sessionsession
অবজেক্টটি HTTP সেশনের তথ্য ধারণ করে এবং এটি সেশনের মধ্যে ইউজারের তথ্য সংরক্ষণ করতে ব্যবহৃত হয়।
উদাহরণ:
<%
session.setAttribute("username", "john_doe");
out.println("User session set successfully.");
%>
এখানে, session.setAttribute()
ব্যবহার করে একটি সেশন অ্যাট্রিবিউট সেট করা হয়েছে।
5. applicationapplication
অবজেক্টটি অ্যাপ্লিকেশনের স্কোপে অবজেক্টগুলো সংরক্ষণ করে এবং এটি পুরো অ্যাপ্লিকেশন জুড়ে শেয়ার করা যায়।
উদাহরণ:
<%
application.setAttribute("appName", "My Web Application");
out.println("Application name set.");
%>
এখানে, application.setAttribute()
এর মাধ্যমে অ্যাপ্লিকেশন স্কোপে একটি ভ্যালু সংরক্ষিত হয়েছে।
6. configconfig
অবজেক্টটি JSP পেজের কনফিগারেশন তথ্য ধারণ করে। এটি ওয়েব পেজের ইনিশিয়ালাইজেশন প্যারামিটার বা কনফিগারেশন সেটিংস ধারণ করে।
উদাহরণ:
<%
String pageTitle = config.getInitParameter("pageTitle");
out.println("Page Title: " + pageTitle);
%>
এখানে, config.getInitParameter()
ব্যবহার করে কনফিগারেশন প্যারামিটার থেকে পেজের শিরোনাম নিয়ে তা প্রদর্শিত হয়েছে।
7. pageContextpageContext
অবজেক্টটি JSP পেজের সব ধরনের অবজেক্টে অ্যাক্সেস প্রদান করে, যেমন request
, response
, session
ইত্যাদি।
উদাহরণ:
<%
String pageID = pageContext.getPage().toString();
out.println("This page ID: " + pageID);
%>
এখানে, pageContext.getPage()
ব্যবহার করে পেজের আইডি পাওয়ার চেষ্টা করা হয়েছে।
8. pagepage
অবজেক্টটি বর্তমানে রান করা JSP পেজের একটি রেফারেন্স প্রদান করে। এটি সাধারণত অন্যান্য অবজেক্টের সাথে ব্যবহার হয়।
উদাহরণ:
<%
out.println("Current page is: " + page);
%>
এখানে, page
অবজেক্টটি বর্তমান পেজের রেফারেন্স প্রদর্শন করছে।
সারাংশ
JSP-এর Implicit Objects ডেভেলপারদের জন্য অনেক সুবিধা প্রদান করে, কারণ এগুলি ওয়েব অ্যাপ্লিকেশনে সাধারণ কাজগুলোর জন্য প্রয়োজনীয় অবজেক্টগুলো সহজে এবং দ্রুত এক্সেস করার সুযোগ দেয়। এগুলি ব্যবহার করে ডাইনামিক কন্টেন্ট তৈরি এবং ইউজারের সাথে ইন্টারঅ্যাক্ট করা সহজ হয়।
Read more