JAVA EE (jsp servlet project)


(Hossain Sani) #1

how can i make my UI design much better within my jsp servlet project using javascript or others better?


(Sayem Hossain) #2

মনে হচ্ছে তোমার কনসেপ্টটা ক্লিয়ার না।

ইউআই ডিজাইন/ ওয়েব ডিজাইন এর সাথে jsp-servlet এর কোন রিলেশন নাই।
ওয়েব বা ওয়েবসাইট ডিজাইন করা হয় css/javascript (rich design) দিয়ে। HTML এখানে স্ট্র্যাকচার, যাকে css/js দিয়ে সাজিয়ে গুছিয়ে মানুষের সামনে উপস্থাপন করা হয়।

মানুষের শরীরের কথা যদি চিন্তা করা হয় তবে স্কেলিটনটা হচ্ছে এইচটিএমএল। এখন রাস্তায় যদি কোন স্কেলিটনকে হাঁটতে দেখো তাহলে তার সাথে নিশ্চয়ই ইন্ট্যার‍্যাকশন করতে ইচ্ছে করবে না?
সো এখানে হাড়গোড়গুলোকে ডিজাইন করে পূর্নাঙ্গ মানুষের রূপ দেয়া হয়েছে ধরে নাও সিএসএস এর মাধ্যমে। এটা হচ্ছে ইউআই ডিজাইন।
আবার কিছু কিছু মানুষের ক্ষেত্রে ইউজার এক্সপেরিয়েন্সের ব্যাপারটাকেও মাথায় রাখা হয়েছে। যেমন ধরো মেয়েদের ক্ষেত্রে আরও এক্সট্রা ফিচার যুক্ত করা হয়েছে (বুবস, স্থূল পশ্চাতদেশ, সুন্দর কণ্ঠ, আদুরে ন্যাচারের সাথে কিছুটা ডাম্বনেস)। এসবই ইউআই/ ইউএক্স।

এবার আসি ফাংশনালিটি নিয়ে।
মানুষের শরীর একটা টেম্পলেট মাত্র। তবে এর বিভিন্ন অঙ্গ-প্রত্যাঙ্গের বিভিন্ন ফাংশনালিটি আছে। এসব জিনিস সিএসএস দিয়ে হবে না, দরকার একটা প্রোগ্রামিং ল্যাঙ্গুয়েজ। কাজেই তুমি যেটা করতে পারো সেটা হচ্ছে, এই শরীরটাকে (টেম্পলেট) নিয়ে এর মধ্যে বিভিন্ন ফাংশনালিটি যুক্ত করতে পারো। যেমন হাত নাড়িয়ে হাই-ফাইভ দেয়া, কোমর দুলানো ইত্যাদি। এই কাজগুলো ইন্টার্নালি হবে। ইউজার দেখছে কিন্তু শরীরটাকে, কিন্তু ভেতরে হচ্ছে প্রসেসিং।

একটা ওয়েব এপ্লিকেশনের ক্ষেত্রে, সবচেয়ে জনপ্রিয় ডিজাইন প্যাটার্ন (এমভিসি) যেটা জেসপি-সার্ভলেটে ইউজ করা হয়েছে সেখানে তিন ধরনের এন্টিটি আছে।

১। মডেল
এটা হচ্ছে ডেটা/ইনফর্মেশনের ফরমেট। ধরো একটা ইনভেন্টরি সফটওয়্যার নিয়ে কাজ করছো, এখানে প্রোডাক্ট হচ্ছে আমাদের ডেটা, যাকে আমরা ফিজিক্যালি গুদাম থেকে কিংবা অ্যাপের মধ্যে নাড়াচাড়া করবো।

২। ভিউ
ভিউ হচ্ছে ইউজারের কাছে যেটা দেখতে পাঠানো হচ্ছে সেটা। উপরের সিনারিওয়ে মানুষের শরীরটা হচ্ছে ভিউ, যেটা অন্য কেউ দেখবে। এই টেম্পলেটটা কিন্তু আগেই ডিজাইন করা হয়েছে, এখন সেটা ব্যাবহার করে তার মধ্যে ফাংশনালিটি যুক্ত করা হবে।
সো ফ্লো টা হচ্ছে আগে টেম্পলেটটা ডিজাইন করে নেয়া। তারপর jsp ভিউ হিসেবে সেটা ব্যাবহার করা।

৩। কন্ট্রোলার
কন্ট্রোলার হচ্ছে আমাদের ফাংশনালিটি যুক্ত করার স্থান। যেখানে বিজনেস লজিক থাকবে বা কোন সার্ভিস ক্লাসের কাছ থেকে বিজনেস লজিক ধার করে এনে এক্সিকিউট করবে। এখানে সার্ভলেট কন্ট্রোলারের কাজ করছে।

এখন তোমার প্রশ্নে আসি, jsp সার্ভলেট এর মধ্য কিভাবে প্রোজেক্টের ডিজাইন আরও ভালোভাবে করা যাবে? উহু!! ব্যাপারটা এভাবে চিন্তা করা যাবে না।

আগে টেম্পলেট ডিজাইন করো সিএসএস দিয়ে। তারপর সেটা ইউজ করো jsp-servlet প্রোজেক্ট jsp ভিউ হিসেবে।

এমভিসি ডিজাইন প্যাটার্ন

সিএসএস টেম্পলেট কিভাবে jsp ভিউ হিসেবে ব্যাবহার করতে হয়