Application-scoped এবং Session-scoped Managed Beans

JSF কনফিগারেশন ফাইল (faces-config.xml) - জেএসএফ (JSF) - Web Development

215

JSF (JavaServer Faces) ফ্রেমওয়ার্কে Managed Beans গুলি JavaBeans ধরনের ক্লাস, যা বিভিন্ন স্কোপে কাজ করতে পারে। Application-scoped এবং Session-scoped Managed Beans দুটি গুরুত্বপূর্ণ স্কোপ, যেগুলি অ্যাপ্লিকেশনের স্থায়িত্ব এবং ব্যবহারকারীর সেশন অনুযায়ী ব্যবস্থাপনা করে।

Managed Beans কি?


Managed Beans হল JavaBeans যা JSF কনটেইনার দ্বারা পরিচালিত হয় এবং ইউজারের ইনপুট গ্রহণ, ডেটা প্রসেসিং এবং নেভিগেশন পরিচালনা করতে ব্যবহৃত হয়। JSF Managed Beans সাধারণত বিভিন্ন স্কোপে কাজ করতে পারে, যার মধ্যে Application, Session, Request, এবং View স্কোপ অন্যতম। এই স্কোপগুলি Managed Beans এর জীবনকাল এবং কার্যক্ষমতা নির্ধারণ করে।

Application-scoped Managed Beans


Application-scoped Managed Beans এমন একটি Managed Bean যা পুরো অ্যাপ্লিকেশনের জন্য তৈরি হয় এবং অ্যাপ্লিকেশন জীবিত থাকা পর্যন্ত সক্রিয় থাকে। এর মানে হলো, একটি Application-scoped Managed Bean একবার অ্যাপ্লিকেশন শুরু হলে তা শেষ হওয়া পর্যন্ত জীবিত থাকে এবং সমস্ত ব্যবহারকারীর জন্য শেয়ার করা হয়।

বৈশিষ্ট্যসমূহ:

  • অ্যাপ্লিকেশন জুড়ে স্থায়ী: যখন অ্যাপ্লিকেশন চালু হয়, তখন এই Managed Bean তৈরি হয় এবং অ্যাপ্লিকেশন বন্ধ না হওয়া পর্যন্ত জীবিত থাকে।
  • শেয়ারড ডেটা: এটি সাধারণত শেয়ারড ডেটা বা কনফিগারেশন ভ্যালু সংরক্ষণ করতে ব্যবহৃত হয়, যা অ্যাপ্লিকেশনের মধ্যে একাধিক ব্যবহারকারী এবং সেশনে একত্রিত থাকে।
  • নির্দিষ্ট ব্যবহারের ক্ষেত্রে: এই স্কোপ ব্যবহৃত হয় যখন আপনি চান যে একটি Managed Bean একাধিক ব্যবহারকারীর সেশন ধরে চলুক এবং সেই ডেটা অ্যাপ্লিকেশন জুড়ে সবার জন্য অ্যাক্সেসযোগ্য হোক।

উদাহরণ:

import javax.faces.bean.ApplicationScoped;
import javax.faces.bean.ManagedBean;

@ManagedBean
@ApplicationScoped
public class ApplicationBean {
    private String appData = "Application-level data";

    public String getAppData() {
        return appData;
    }

    public void setAppData(String appData) {
        this.appData = appData;
    }
}

এখানে, ApplicationBean একটি Application-scoped Managed Bean হিসেবে চিহ্নিত হয়েছে। এটি অ্যাপ্লিকেশন জুড়ে শেয়ারড ডেটা ধারণ করবে এবং অ্যাপ্লিকেশন চলাকালীন সময় পর্যন্ত জীবিত থাকবে।


Session-scoped Managed Beans


Session-scoped Managed Beans এমন একটি Managed Bean যা একটি ব্যবহারকারীর HTTP সেশনের জন্য তৈরি হয় এবং ব্যবহারকারী সেশনটি বন্ধ না হওয়া পর্যন্ত জীবিত থাকে। এটি সাধারণত ব্যবহারকারীর সাথে সম্পর্কিত ডেটা, যেমন লগইন তথ্য বা কাস্টমাইজড ইউজার প্রেফারেন্স সংরক্ষণ করতে ব্যবহৃত হয়।

বৈশিষ্ট্যসমূহ:

  • ব্যবহারকারীর সেশন অনুযায়ী স্থায়ী: এটি একমাত্র ওই ব্যবহারকারীকে সম্পর্কিত ডেটা প্রদান করে, এবং ব্যবহারকারী সেশনটি বন্ধ না হওয়া পর্যন্ত স্থায়ী থাকে।
  • ব্যক্তিগত ডেটা সংরক্ষণ: এই স্কোপ ব্যবহারকারীর ব্যক্তিগত ডেটা সংরক্ষণের জন্য উপযুক্ত, যেমন ইউজারের লগইন তথ্য, শপিং কার্টের ডেটা ইত্যাদি।
  • একই সেশনে একাধিক রিকোয়েস্ট: এটি ব্যবহারকারীর একাধিক রিকোয়েস্টে শেয়ারড ডেটা প্রদান করে।

উদাহরণ:

import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;

@ManagedBean
@SessionScoped
public class UserSessionBean {
    private String username;

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }
}

এখানে, UserSessionBean একটি Session-scoped Managed Bean হিসেবে চিহ্নিত হয়েছে। এটি শুধুমাত্র ওই ব্যবহারকারীর সেশন অনুযায়ী ডেটা ধারণ করবে এবং ব্যবহারকারী সেশনটি বন্ধ না হওয়া পর্যন্ত জীবিত থাকবে।


Application-scoped এবং Session-scoped Managed Beans এর মধ্যে পার্থক্য


বৈশিষ্ট্যApplication-scoped Managed BeansSession-scoped Managed Beans
জীবনকালঅ্যাপ্লিকেশন চলাকালীন সময় পর্যন্তব্যবহারকারীর সেশন চলাকালীন সময় পর্যন্ত
ডেটা শেয়ারিংসমস্ত ব্যবহারকারীর মধ্যে শেয়ার করা হয়শুধুমাত্র এক ব্যবহারকারীর মধ্যে শেয়ার করা হয়
ব্যবহারকনফিগারেশন বা সাধারণ শেয়ারড ডেটা সংরক্ষণব্যবহারকারীর প্রাইভেট ডেটা বা সেশন-ভিত্তিক তথ্য
উদাহরণঅ্যাপ্লিকেশন-স্তরের ডেটা (যেমন অ্যাপ্লিকেশন কনফিগারেশন)ইউজার লগইন ডেটা বা শপিং কার্ট

সারাংশ


JSF Managed Beans এর Application-scoped এবং Session-scoped ব্যবহারের মাধ্যমে আপনি আপনার অ্যাপ্লিকেশনের ডেটা এবং ইউজার সেশনকে যথাযথভাবে ম্যানেজ করতে পারেন। Application-scoped Managed Beans পুরো অ্যাপ্লিকেশনের জন্য শেয়ারড ডেটা সরবরাহ করে, যেখানে Session-scoped Managed Beans শুধুমাত্র নির্দিষ্ট একটি ব্যবহারকারীর সেশন সম্পর্কিত ডেটা পরিচালনা করে। এই স্কোপ ব্যবহারের মাধ্যমে আপনি আপনার অ্যাপ্লিকেশনকে আরও কার্যকর, স্কেলেবল এবং ব্যবহারকারী-বান্ধব করে তুলতে পারেন।

Content added By
Promotion

Are you sure to start over?

Loading...