জাভা সার্লেট কী?


276

আমি জাভা সার্লেটটি বুঝতে অনেক নিবন্ধ পড়েছি তবে আমি সফল হইনি।

আপনি দয়া করে জাভা সার্লেলেটগুলির সংক্ষিপ্ত পরিচিতি দিতে পারেন (সহজ ভাষায়)। সার্লেট কী বলে? সুবিধা কি? এবং সব।

আমি সার্ভার-সাইড প্রোগ্রামিং ভাষা (পিএইচপি, এএসপি) এবং সার্লেটগুলির মধ্যে পার্থক্য বুঝতে পারি না।


38
কার্সার রেখে servletsআপনার প্রশ্নের জন্য নিচের ট্যাগটি পর্যন্ত কালো বাক্স পপ আপ। এতে তথ্যের লিঙ্কটি ক্লিক করুন।
BalusC

1
সার্লেটস আপনি এটি দেখতে পারেন। আমি মনে করি এটি বিশদ এবং খাঁটি।
শোহান

উত্তর:


336

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

সার্লেটগুলি একটি সার্লেট পাত্রে চালিত হয় যা নেটওয়ার্কিংয়ের দিকটি পরিচালনা করে (যেমন একটি HTTP অনুরোধ পার্স করা, সংযোগ হ্যান্ডলিং ইত্যাদি)। সবচেয়ে বিখ্যাত ওপেন সোর্স সার্ভলেট পাত্রে এক হুল বিড়াল


16
সার্লেটগুলি হ'ল জাভা কোডের স্নিপেটস যা ওয়েব সার্ভার নিজেই ওয়েব সার্ভারের ভিতরে ডাকে । আপনি যদি পিএইচপি বা এএসপি এর মতো দেখতে চান তবে আপনার জেএসপি দরকার (যা একটি বিশেষ ধরণের সার্লেটস)
থরবজর্ন রাভন অ্যান্ডারসন

3
উত্তরের জন্য থ্যাঙ্কস তবে তবুও আমি সার্লেলেটগুলির আসল ব্যবহার করতে পারি না, আপনি যদি পরিস্থিতিগুলির মতো উদাহরণ দিয়ে ব্যাখ্যা করতে পারেন যেখানে আমরা সার্লেলেটগুলি ব্যবহার করতে পারি it সার্ভারলেট যেমন অন্য সার্ভারের সাইড প্রোগ্রামিং ভাষাগুলি না পারে তা কী করতে পারে তার মতো সার্ভারলেট ব্যবহার আমি বুঝতে পারি নি।
হার্ডিক

4
@ হার্দিক: এমন কিছু নয় যে তারা এমন কিছু করতে পারে যা অন্যভাবে করা যায় না। সার্ভলেটগুলি সার্ভার-সাইড জাভা কাজের জন্য একটি সাধারণ প্রযুক্তি। সার্লেটগুলি কোনও ভাষা নয় - এবং এএসপিএক্সও নয়। দুটিই প্ল্যাটফর্ম যা আপনি অন্য ভাষার সাথে একত্রে ব্যবহার করেন - সাধারণত সার্লেটগুলির ক্ষেত্রে জাভা।
জন স্কিটি

7
@ হার্দিক: আমি যেমন আমার পোস্টে লিখেছি, সার্লেটগুলি হ'ল ক্লাস যা সার্ভলেট ধারকটির অভ্যন্তরে কাজ করে। সার্ভলেট ধারক একই সাথে বেশ কয়েকটি সার্লেটকে হোস্ট করতে পারে।
জন স্কিটে

5
@ হার্দিক: হ্যাঁ, ঠিক ফর্মটি প্রদর্শন করতে সার্ভলেট HTML সরবরাহ করতে পারে এবং জমা দেওয়ার ক্ষেত্রেও কাজ করতে পারে on সার্ভলেটগুলি ওয়েব পরিষেবাগুলি প্রয়োগ করতেও ব্যবহার করা যেতে পারে। এগুলি HTTP বাদে অন্য প্রোটোকলগুলির জন্য ব্যবহার করা যেতে পারে তবে এইচটিটিপি সার্ভারলেট দ্বারা পরিচালিত সবচেয়ে সাধারণ পরিবহন ming
জন স্কিটি

101

একেবারে মূল অংশে একটি সার্লেট একটি জাভা বর্গ; যা HTTP অনুরোধগুলি পরিচালনা করতে পারে। সাধারণত একটি এইচটিটিপি অনুরোধ পড়ার অভ্যন্তরীণ কৌতূহল এবং তারের প্রতিক্রিয়াটি টমকটের মতো ধারক দ্বারা যত্ন নেওয়া হয়। এটি করা হয়েছে যাতে সার্ভার পার্শ্ব বিকাশকারী হিসাবে আপনি এইচটিটিপি অনুরোধ এবং প্রতিক্রিয়াগুলির সাথে কী করবেন সেদিকে দৃষ্টি নিবদ্ধ রাখতে পারেন এবং নেটওয়ার্কিং সম্পর্কিত কোড সম্পর্কিত কোনও বিষয়ে বিরক্ত না করে not কনটেইনার পুরো জিনিসটিকে একটি মোড়কের মতো জিনিসগুলির যত্ন নেবে container HTTP প্রতিক্রিয়া অবজেক্ট এবং এটি ক্লায়েন্টের কাছে প্রেরণ করুন (একটি ব্রাউজার বলুন)।

এখন পরবর্তী যৌক্তিক প্রশ্নটি জিজ্ঞাসা করতে হবে যে কে সিদ্ধান্ত নেয় যে ধারকটি করার কথা? এবং উত্তরটি হ'ল; জাভা বিশ্বে কমপক্ষে এটি নির্দেশিত (নোট আমি নিয়ন্ত্রিত শব্দটি ব্যবহার করি নি) নির্দিষ্ট করে by উদাহরণস্বরূপ সার্ভলেট স্পেসিফিকেশন (উত্স 2 দেখুন) নির্দেশ করে যে কোনও সার্লেট কী করতে সক্ষম হবে। সুতরাং আপনি যদি স্পেসিফিকেশনের জন্য কোনও প্রয়োগ লিখতে পারেন, অভিনন্দন আপনি সবেমাত্র একটি ধারক তৈরি করেছেন (টমক্যাটের মতো প্রযুক্তিগত পাত্রে অন্যান্য স্পেসিফিকেশনও প্রয়োগ করে এবং কাস্টম ক্লাস লোডার ইত্যাদির মতো কৌতুকপূর্ণ জিনিসগুলি করেন তবে আপনি ধারণা পাবেন)।

ধরে নিই আপনার কাছে একটি ধারক রয়েছে, আপনার সার্লেলেটগুলি এখন জাভা ক্লাসে রয়েছে যার জীবনচক্রটি ধারক দ্বারা বজায় রাখা হবে তবে আগত এইচটিটিপি অনুরোধগুলির বিষয়ে তাদের প্রতিক্রিয়াটি আপনি সিদ্ধান্ত নেবেন। আপনি পূর্ব-সংজ্ঞায়িত পদ্ধতিগুলির মতো init (), doGet (), doPost () ইত্যাদিতে কী চান তা লিখতে পেরে এটি রিসোর্স 3 এ দেখুন।

আপনার জন্য এখানে একটি মজাদার অনুশীলন। রিসোর্স 3 এর মতো একটি সরল সার্লেট তৈরি করুন এবং এর কনস্ট্রাক্টর পদ্ধতিতে কয়েকটি System.out.println () স্টেটমেন্ট লিখুন (হ্যাঁ আপনি একটি সার্লেটের কনস্ট্রাক্টর থাকতে পারেন), init (), doGet (), doPost () পদ্ধতি এবং রান করুন টমক্যাটে সার্ভলেট কনসোল লগ এবং টমক্যাট লগগুলি দেখুন।

আশা করি এটি সুখী শেখার সাহায্য করবে।

সম্পদ

  1. HTTP সার্লেট এখানে কীভাবে দেখায় তা দেখুন (টমক্যাট উদাহরণ)।

  2. পরিবেশন নির্দিষ্টকরণ

  3. সরল সার্লেট উদাহরণ

  4. অনলাইনে / পিডিএফ বইটি পড়া শুরু করুন এটি আপনাকে পুরো বইটি ডাউনলোড করার ব্যবস্থা করে। এই সাহায্য করবে হতে পারে। আপনি যদি কেবল সার্লেটগুলি শুরু করছেন তবে সার্ভলেট এপিআই সহ উপাদানটি পড়া ভাল ধারণা হতে পারে। এটি শেখার একটি ধীর প্রক্রিয়া, তবে বেসিকগুলি পরিষ্কার করার ক্ষেত্রে এটি আরও সহায়ক।


12
কেবলমাত্র লিঙ্কের উত্তরগুলি স্ট্যাক ওভারফ্লোতে নিরুৎসাহিত করা হয়েছে, কারণ যে সংস্থানগুলি তারা সংযুক্ত করে তা ভবিষ্যতে অনুপলব্ধ হতে পারে বা পরিবর্তিত হতে পারে। আপনার উত্তরের লিঙ্কটির প্রাসঙ্গিক সামগ্রীটি উন্নত করতে সংক্ষিপ্ত করে বিবেচনা করুন।

6
@ ক্যাপকেকে আপনার গঠনমূলক প্রতিক্রিয়ার প্রশংসা করুন। আমি উত্তরে কিছু মাংস যোগ করার চেষ্টা করেছি। সম্প্রদায়কে আরও উন্নত করার জন্য ধন্যবাদ
আয়ুষমান

34

উপরেরটি ছাড়াও, এবং কেবল রক্তপাতের স্পষ্টতই নির্দেশ করতে ...

অনেকের কাছে এটি অত্যন্ত সুস্পষ্ট, তবে কারও কাছে এমন অ্যাপ্লিকেশন লিখতে অভ্যস্ত যা কেবল চালানো হয় এবং তারপরে শেষ হয়: একটি সার্লেট তার বেশিরভাগ সময় ব্যয় করে কিছু না করে ... কিছু পাঠানোর জন্য অপেক্ষা করে, একটি অনুরোধ, এবং তারপরে সাড়া দেয় । এই কারণে একটি সার্লেটের একটি জীবনকাল রয়েছে: এটি উদ্ভাবিত হয় এবং তারপরে অপেক্ষা করা হয়, এতে নিক্ষিপ্ত যে কোনও কিছুর প্রতিক্রিয়া জানায় এবং তারপরে নষ্ট হয়ে যায়। যা বোঝায় যে এটিকে অন্য কোনও কিছুর (একটি কাঠামোর) দ্বারা তৈরি করতে হবে (এবং পরে ধ্বংস করা), এটি নিজস্ব থ্রেড বা প্রক্রিয়াতে চলে এবং এটি না চাওয়া ছাড়া কিছুই করে না। এবং এছাড়াও, কোনও উপায়ে বা অন্য কোনও পদ্ধতিতে অবশ্যই একটি প্রক্রিয়া প্রয়োগ করতে হবে যার মাধ্যমে এই "সত্তা" অনুরোধগুলির জন্য "শুনতে" পারবে।

আমি পরামর্শ দিচ্ছি যে থ্রেড, প্রক্রিয়া এবং সকেটগুলি সম্পর্কে পড়া এই বিষয়ে কিছুটা আলোকপাত করবে: এটি একটি মৌলিক "হ্যালো ওয়ার্ল্ড" অ্যাপের কার্যকারিতা থেকে একেবারেই আলাদা।

এটি যুক্তিযুক্ত হতে পারে যে "সার্ভার" বা "সার্লেট" শব্দটি একটি ওভারকিল কিছুটা bit আরও যুক্তিযুক্ত এবং সরল নাম হতে পারে "প্রতিক্রিয়াশীল"। "সার্ভার" শব্দটি বেছে নেওয়ার কারণটি historicalতিহাসিক: প্রথম এই জাতীয় ব্যবস্থা ছিল "ফাইল সার্ভার", যেখানে একাধিক ব্যবহারকারী / ক্লায়েন্ট টার্মিনাল একটি কেন্দ্রীয় মেশিনের থেকে একটি নির্দিষ্ট ফাইল চাইবে এবং এই ফাইলটি "পরিবেশন করা হবে" "একটি বই বা মাছ এবং চিপসের প্লেটের মতো।


1
কোনও স্ট্যান্ডার্ড এমভিসি ফ্রেমওয়ার্কে "নিয়ামক" এর অনুরূপ হিসাবে সার্লেটটি দেখার জন্য কি ভুল?
ব্যবহারকারী 2490003

ব্যক্তিগতভাবে আমি দেখতে পাচ্ছি না যে কীভাবে সাদৃশ্য রয়েছে। আমি এও ভাবার প্রবণতা পোষণ করেছি যে লোকেরা যারা আমার উত্তরটি একটি দরকারী সেগুলি মনে করে (তাদের জন্য বিষয়গুলিকে স্পষ্ট করতে সহায়তা করে) তারা সম্ভবত আপনার পরামর্শ দ্বারা বিভ্রান্ত হতে পারে।
মাইকে রডেন্ট

আমি মনে করি এই উত্তরটি দরকারী। তবে আমিও অবাক হয়েছি (এই উত্তরটি থেকে আলাদা, এবং এটি পড়ার আগে) উপরে একইভাবে @ ব্যবহারকারী 2490003 উত্থাপন করেছে question সার্ভলেট এবং এমভিসি-ফ্রেমওয়ার্ক কন্ট্রোলারের মধ্যে পার্থক্য কী? ব্যবহারকারী 2490003 অনুসারে উপমা কেন ধরে না?
cellepo

একটি এমভিসি ব্যবস্থা আরও জটিল এবং তবুও কম জটিল। এটি অগত্যা ইনপুট জন্য অপেক্ষা জড়িত না। সার্ভার-ক্লায়েন্ট সেটআপের প্রাথমিক ধারণাটি সংজ্ঞায়িত করার ক্ষেত্রে এটি সেই সরলতা যা আমি জোর দেওয়ার চেষ্টা করি। বেসিক এমভিসি ডায়াগ্রামটি এখানে দেখুন: en.wikedia.org/wiki/Model%E2%80%93 ভিউ ৯E2%80%93 নিয়ন্ত্রণকারী । একটি সাধারণ ক্লায়েন্ট-সার্ভার সেটআপে, ব্যবহারকারী কেবল ক্লায়েন্টের সাথে ইন্টারেক্ট করে, দুটি বস্তুর সাথে নয়, যেমন একটি ভিউ এবং একটি নিয়ামক। এমভিসির সাথে একাধিক দর্শন, একাধিক নিয়ামক এবং একাধিক মডেলও থাকতে পারে। এবং ইনপুট জন্য অপেক্ষা (জরুরী) জড়িত না।
মাইক রডেন্ট

উপরের পাশাপাশি, একটি সার্ভার একাধিক ব্যবহারকারীর পরিবেশন করতে পারে, যেখানে এমভিসি সেটআপের সাথে এমন কোনও প্রয়োজন নেই। একটি এমভিসি সেটআপটি ক্লাসিকাল কম্পিউটিংয়ের জগতের, অর্থাৎ স্ট্যান্ডসোনাল অ্যাপসের সাথে সম্পর্কিত। সার্ভারের সাহায্যে আমরা ইন্টারেক্টিভ কম্পিউটিংয়ের মহাবিশ্বে আমাদের প্রথম পদক্ষেপ নিই। এটি এমন নয় যে উপমাটি 100% ভুল, 90% বেশি ভুল এবং সর্বোপরি যে কোনও উপমা কেবল কোনও কাজে আসে না যদি তা বাস্তবে কাউকে বা কোনও কিছুতে কোনওভাবে সহায়তা না করে। একটি সার্ভার-ক্লায়েন্ট বিন্যাস এত সহজ যেহেতু ধারণাটির জন্য কারওও কোনও উপমা প্রয়োজন নেই , বোঝার জন্য কোনও ধরণের উপমা প্রয়োজন ।
মাইকে রডেন্ট

10

একটি সরলেট কি?

  • একটি সার্ভলেট হ'ল এমন একটি শ্রেণি যা কোনও নির্দিষ্ট ধরণের নেটওয়ার্কের অনুরোধে সাড়া দেয় - বেশিরভাগই এইচটিটিপি অনুরোধ।
  • মূলত সার্লেটলেটগুলি সাধারণত ওয়েব অ্যাপ্লিকেশনগুলি প্রয়োগ করতে ব্যবহৃত হয় - তবে সার্ভারলেটগুলির উপরেও কাজ করে এমন বিভিন্ন ফ্রেমওয়ার্ক রয়েছে (যেমন স্ট্রুটস) "এখানে একটি এইচটিটিপি অনুরোধ রইল, এই এইচটিটিপি প্রতিক্রিয়াটি লিখুন" স্তরটির তুলনায় সার্ভলেটগুলি প্রদান।
  • সার্লেটগুলি একটি সার্লেট পাত্রে চালিত হয় যা নেটওয়ার্কিংয়ের দিকটি পরিচালনা করে (যেমন একটি HTTP অনুরোধ পার্স করা, সংযোগ হ্যান্ডলিং ইত্যাদি)। টমকাট হ'ল সর্বাধিক পরিচিত ওপেন সোর্স সার্ভলেট পাত্রে।

  • একটি অনুরোধ / প্রতিক্রিয়া দৃষ্টান্তে, একটি ওয়েব সার্ভার ক্লায়েন্টকে কেবল স্থির পৃষ্ঠাগুলি সরবরাহ করতে পারে

  • গতিশীল পৃষ্ঠাগুলি পরিবেশন করতে, আমাদের সার্লেটলেট প্রয়োজন।
  • সার্লেটটি জাভা প্রোগ্রাম ব্যতীত আর কিছুই নয়
  • এই জাভা প্রোগ্রামটির একটি প্রধান পদ্ধতি নেই। এটিতে কেবল কিছু কলব্যাক পদ্ধতি রয়েছে।
  • ওয়েব সার্ভারটি কীভাবে সার্লেটে যোগাযোগ করে? ধারক বা সার্লেট ইঞ্জিনের মাধ্যমে।
  • সার্লেট একটি ওয়েব ধারক মধ্যে বাস করে এবং মারা যায়।
  • ওয়েব পাত্রে কোনও সার্লেটগুলিতে পদ্ধতি চালনার জন্য দায়ী। এটি জানে যে সার্লেটলে কী কলব্যাক পদ্ধতি রয়েছে।

অনুরোধের প্রবাহ

  • ক্লায়েন্ট ওয়েব সার্ভারে HTTP অনুরোধ প্রেরণ করে
  • ওয়েব সার্ভারটি ওয়েব ধারকটিতে সেই HTTP অনুরোধটি ফরোয়ার্ড করে।
  • সার্ভলেট যেহেতু এটি একটি জাভা প্রোগ্রাম এইচটিটিপি বুঝতে পারে না, এটি কেবলমাত্র বিষয়গুলি বোঝে, তাই ওয়েব ধারক সেই অনুরোধটিকে বৈধ অনুরোধ অবজেক্টে রূপান্তর করে
  • ওয়েব কন্টেইনার প্রতিটি অনুরোধের জন্য একটি থ্রেড স্পিন করে
  • সমস্ত ব্যবসায়ের যুক্তি সার্লেলেটের অভ্যন্তরে doGet () বা doPost () কলব্যাক পদ্ধতিগুলির মধ্যে যায়
  • সার্লেট একটি জাভা প্রতিক্রিয়া অবজেক্ট তৈরি করে এবং এটি পাত্রে প্রেরণ করে। এটি ক্লায়েন্টকে প্রেরণে এটিটিকে HTTP প্রতিক্রিয়াতে আবার রূপান্তর করে

কনটেইনার কীভাবে জানতে পারে যে কোন সার্লেট ক্লায়েন্টের জন্য অনুরোধ করেছে?

  • ওয়েব.এক্সএমএল নামে একটি ফাইল আছে
  • এটি একটি ওয়েব ধারকটির জন্য মাস্টার ফাইল
  • আপনার এই ফাইলটিতে সার্লেট সম্পর্কে তথ্য রয়েছে-

    • সার্ভলেট
      • সার্ভলেট-নাম
      • সার্ভলেট ক্লাসের
    • সার্লেট-ম্যাপিংস - লগইন বা / বিজ্ঞপ্তিগুলির মতো পথটি এখানে ম্যাপ করা হয়েছে
      • সার্ভলেট-নাম
      • URL-প্যাটার্ন
    • ইত্যাদি
  • ওয়েব অ্যাপ্লিকেশনের প্রতিটি সার্লেটের এই ফাইলটিতে একটি প্রবেশ হওয়া উচিত

  • সুতরাং এই চেহারাটি ঘটে - url- প্যাটার্ন -> সার্লেট-নাম -> সার্লেট-শ্রেণীর

সার্ভলেটগুলি "ইনস্টল" কীভাবে করবেন? * ঠিক আছে, সার্লেট বস্তুগুলি লাইব্রেরি থেকে পাওয়া যায় - জাভ্যাক্স.সার্ভলেট * টমকেট এবং স্প্রিং ব্যবহারের ক্ষেত্রে ফিট করার জন্য এই বিষয়গুলি ব্যবহার করতে ব্যবহার করা যেতে পারে।

রেফ- দেখুন 1.5x- এ https://www.youtube.com/watch?v=tkFRGdUgCsE । এটির একটি দুর্দান্ত ব্যাখ্যা রয়েছে।


1
একটি সমাধানের একটি লিঙ্ক স্বাগত, তবে দয়া করে আপনার উত্তরটি কার্যকর না হওয়া নিশ্চিত করুন: লিঙ্কটির চারপাশে প্রসঙ্গটি যুক্ত করুন যাতে আপনার সহ ব্যবহারকারীদের কিছু ধারণা থাকতে পারে এটি কী এবং কেন সেখানে রয়েছে, তবে আপনি পৃষ্ঠার সর্বাধিক প্রাসঙ্গিক অংশটি উদ্ধৃত করুন লক্ষ্য পৃষ্ঠাটি অনুপলব্ধ ক্ষেত্রে লিঙ্কটি পুনরায় সংযুক্ত করুন। লিঙ্কের চেয়ে সামান্য বেশি উত্তরগুলি মুছতে পারে।
মোগসদাদ

1
নোট করুন যে বিশ্ব এগিয়েছে। 2020-এ আমরা এক্সএমএলে কেন্দ্রীয় স্ট্রিং ভিত্তিক কনফিগারেশন ফাইলের পরিবর্তে কোডে টীকাগুলি ব্যবহার করি।
থোরবজর্ন রাভন অ্যান্ডারসন

5

সার্ভলেট হ'ল সার্ভার সাইড প্রযুক্তি যা ওয়েব অ্যাপ্লিকেশনটিতে গতিশীল ওয়েব পৃষ্ঠা তৈরি করতে ব্যবহৃত হয় । প্রকৃতপক্ষে সার্লেট একটি এপিআই যা শ্রেণি এবং ইন্টারফেসের গ্রুপ নিয়ে গঠিত, যার কিছু কার্যকারিতা রয়েছে। সার্ভলেট এপিআই ব্যবহার করার সময় আমরা সার্লেট ক্লাস এবং ইন্টারফেসগুলির পূর্বনির্ধারিত কার্যকারিতা ব্যবহার করতে পারি।

সার্ফলের জীবনচক্র:

ওয়েব পাত্রে সার্লেটের উদাহরণের জীবনকাল বজায় রাখা হয়।

ঘ। সার্লেট ক্লাস বোঝাই

ঘ। সার্ভলেট উদাহরণ তৈরি করা হয়েছে

ঘ। init () পদ্ধতিটি চাওয়া হয়েছে

ঘ। পরিষেবা () পদ্ধতি চালু করা হয়েছে

৫। ধ্বংস () পদ্ধতিতে অনুরোধ করা

যখন ক্লায়েন্ট (ব্রাউজার) দ্বারা অনুরোধ উত্থাপন করা হয় তখন ওয়েব-কন্টেনারটি সার্লেটটি চলমান কিনা তা যাচাই করে তা যদি হ্যাঁ হয় তবে এটি পরিষেবা () পদ্ধতিটি শুরু করে এবং ব্রাউজারকে প্রতিক্রিয়া জানায় ..

সার্ভলেট চলমান না থাকলে ওয়েব-ধারক নিম্নলিখিত পদক্ষেপগুলি অনুসরণ করুন ..

ক্লাসলোডার সার্লেট ক্লাসটি লোড করুন

২. সার্লেলেট ইনস্ট্যান্ট করে

3. সার্লেটটি শুরু করে

4. পরিষেবা () পদ্ধতিটি বাতিল করুন

অনুরোধটি পরিবেশন করার পরে ওয়েব-ধারক নির্দিষ্ট সময়ের জন্য অপেক্ষা করুন, এই সময়ের মধ্যে যদি অনুরোধ আসে তবে এটি কেবল পরিষেবা () পদ্ধতি কল করে অন্যথায় এটি ধ্বংস () পদ্ধতি কল করে ..


5

আপনি যদি শিক্ষানবিশ হন তবে আমার মনে হয় এই টিউটোরিয়ালটি সার্ভলেট কী তা সম্পর্কে প্রাথমিক ধারণা দিতে পারে ...

কিছু মূল্যবান পয়েন্ট নীচে প্রদত্ত লিঙ্কটি থেকে নিচে।

সার্ফলের প্রযুক্তিটি ওয়েব অ্যাপ্লিকেশন তৈরি করতে ব্যবহৃত হয় যা সার্ভারের পাশে থাকে এবং গতিশীল ওয়েব পৃষ্ঠা তৈরি করে।

সার্ভলেট প্রসঙ্গের উপর নির্ভর করে বিভিন্ন উপায়ে বর্ণনা করা যেতে পারে।

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

1
এটি একটি খুব ভাল টিউটোরিয়াল যা মৌলিক থেকে ধারণাগুলি ব্যাখ্যা করে
নিখিল সাহু

3

জাভা সার্লেটস হ'ল সার্ভার-সাইড জাভা প্রোগ্রাম মডিউল যা সেই পদ্ধতি এবং গ্রাহকের দাবির জবাব দেয় এবং সার্ভলেট ইন্টারফেসটি বাস্তবায়িত করে। এটি নগদ ওভারহেড, রক্ষণাবেক্ষণ এবং সমর্থন সহ ওয়েব সার্ভারের উপযোগিতা উন্নত করতে সহায়তা করে।

সার্ভলেট গ্রাহক এবং সার্ভারের মধ্যে মধ্যস্থতার কাজ করে। সার্লেটটিতে যেমন সার্ভলেট মডিউলগুলি চলতে থাকে, তারা গ্রাহকের দ্বারা করা দাবীগুলি পেতে এবং প্রতিক্রিয়া জানাতে পারে। সার্ভলেটের চাহিদা এবং প্রতিক্রিয়ার অবজেক্টগুলি HTTP এর সাথে ডিল করার জন্য একটি কার্যকর পদ্ধতি সরবরাহ করে এবং গ্রাহকের কাছে সামগ্রীর তথ্য ফেরত প্রেরণ করে।

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


2

এইচটিটিপি অনুরোধটির প্রতিক্রিয়া জানাতে এবং এইচটিটিপি প্রতিক্রিয়া তৈরি করার জন্য সার্ভলেট একটি জাভা শ্রেণি ...... যখন আমরা এইচটিএমএল ব্যবহার করে একটি পৃষ্ঠা তৈরি করি তখন এটি একটি স্ট্যাটিক পৃষ্ঠা হবে যাতে এটি গতিশীল করার জন্য আমরা সরল শব্দটি সরল্লেট ব্যবহার করি simple একটি বুঝতে পারে} সার্লেলেট ব্যবহার করতে জেএসপি পরাভূত হয় এটি কোড এবং এইচটিএমএল ট্যাগ উভয়ই নিজের মধ্যে ব্যবহার করে ..


2

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

বেশিরভাগ জাভা প্রোগ্রামগুলি main()এমন একটি পদ্ধতি ব্যবহার করে যা কোড চালায় যখন প্রোগ্রামটি চালিত হয়। জাভা সার্লেলেটগুলি রয়েছে doGet()এবং এমন doPost()পদ্ধতিগুলি যা পদ্ধতির মতোই কাজ করে main()। ব্যবহারকারীরা সেই সার্লেটে ম্যাপযুক্ত ইউআরএলটিতে একটি অনুরোধ GETবা POSTঅনুরোধ করলে এই ফাংশনগুলি কার্যকর করা হয়। সুতরাং ব্যবহারকারী একটি GETঅনুরোধের জন্য একটি পৃষ্ঠা লোড করতে পারেন , বা একটি POSTঅনুরোধ থেকে ডেটা সঞ্চয় করতে পারেন ।

যখন ব্যবহারকারী কোনও অনুরোধ GETবা POSTঅনুরোধ প্রেরণ করে, সার্ভারটি @WebServletআপনার ডিরেক্টরিতে প্রতিটি সার্লেট ক্লাসের শীর্ষে কোন সার্লেট ক্লাসটি কল করবে তা সিদ্ধান্ত নেবে। উদাহরণস্বরূপ, আসুন আমরা বলি যে আপনার একটি চ্যাটবক্স ক্লাস রয়েছে এবং এটি শীর্ষে রয়েছে:

@WebServlet("/chat")
public class ChatBox extends HttpServlet {

যখন কোনও ব্যবহারকারী /chatইউআরএল অনুরোধ করে তখন আপনার ChatBoxক্লাসটি কার্যকর করা হবে।


0

যেমন এই নিবন্ধটি বর্ণনা করেছে, একটি সার্লেট একটি জাভা সার্ভার প্রসারিত করার এবং এর ক্ষমতা অ্যাক্সেস করার একটি মানক উপায় standard

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

এগুলি হাতে নিয়ে, সার্লেটের জাভা কোডটি এইচটিএমএল ভিউ তৈরির জন্য কোনও জেএসপি পৃষ্ঠাতে সরিয়ে দেওয়ার সাথে সাথে প্রতিক্রিয়া জানাতে যেভাবে প্রয়োজন তার সাথে ইন্টারফেস করতে পারে।


-1

আমার মনে হয় সার্ভলেটটি মূলত একটি জাভা শ্রেণি যা এইচটিটিপি অনুরোধ এবং এইচটিটিপি প্রতিক্রিয়া মধ্যে একটি মাঝারি উপায় হিসাবে কাজ করে erv সার্ভলেট এছাড়াও আপনার ওয়েব পৃষ্ঠাকে গতিশীল করতে ব্যবহৃত হয়। ধরুন উদাহরণস্বরূপ আপনি যদি সার্ভারের অন্য কোনও ওয়েব পৃষ্ঠায় পুনর্নির্দেশ করতে চান তবে আপনাকে সার্লেটলেট ব্যবহার করতে হবে। আর একটি গুরুত্বপূর্ণ বিষয় হ'ল সার্ভলেট একটি স্থানীয় ব্রাউজারের পাশাপাশি লোকালহোস্টেও চালাতে পারে।


-2

আপনি একটি সাধারণ সার্লেটের জন্য সবেমাত্র উত্তর পেয়েছেন। তবে, আমি আপনাকে সার্লেট ৩.০ সম্পর্কে কিছু ভাগ করতে চাই

প্রথম একটি সার্লেট কী?

একটি সার্লেট একটি ওয়েব উপাদান যা একটি ধারক দ্বারা পরিচালিত হয় এবং গতিশীল সামগ্রী তৈরি করে। সার্ভলেটগুলি জাভা ক্লাস যা বাইট কোডে সংকলিত হয় যা একটি জাভা প্রযুক্তি-সক্ষম ওয়েব সার্ভার বা সার্ভলেট ধারক দ্বারা গতিশীলভাবে লোড করা যায় এবং চালানো যেতে পারে।

সার্ভলেট 3.0 বিদ্যমান সার্লেলেট 2.5 নির্দিষ্টকরণের আপডেট is সার্ভালেট 3.0 জাভা প্ল্যাটফর্মের এপিআই প্রয়োজনীয়, এন্টারপ্রাইজ সংস্করণ 6. সার্ভলেট 3.0 এক্সটেনসিবিলিটি এবং ওয়েব ফ্রেমওয়ার্ক প্লাগযোগ্যতার উপর ফোকাস করা হয়েছে। সার্লেটলেট ৩.০ আপনাকে কিছু বর্ধন এনে দেয় যেমন ইজ অফ ডেভলপমেন্ট (ইওডি), সাশ্রয়যোগ্যতা, অ্যাসিঙ্ক সমর্থন এবং সুরক্ষা বর্ধন

উন্নয়নের সহজতা

আপনি সার্লেলেটস, ফিল্টার, শ্রোতা, ইন প্যারামগুলি ঘোষণা করতে পারেন এবং টীকা ব্যবহার করে প্রায় সবকিছু কনফিগার করা যায়

Pluggability

আপনি ওয়েব-ফ্রেগমেন্ট.এক্সএমএল সহ একটি উপ-প্রকল্প বা মডিউল তৈরি করতে পারেন। এর অর্থ এটি প্লাগেবল ফাংশনাল প্রয়োজনীয়তাগুলি স্বাধীনভাবে প্রয়োগ করতে দেয়।

অ্যাসিঙ্ক সমর্থন

সার্লেটলেট 3.0 অ্যাসিক্রোনাস প্রসেসিংয়ের ক্ষমতা সরবরাহ করে, উদাহরণস্বরূপ: কোনও সংস্থান উপলব্ধ হওয়ার জন্য অপেক্ষা করা হচ্ছে, অ্যাসিঙ্ক্রোনালি প্রতিক্রিয়া উত্পন্ন করা।

সুরক্ষা বর্ধন

প্রমাণীকরণ, লগইন এবং লগআউট সার্লেট সুরক্ষা পদ্ধতিগুলির জন্য সমর্থন

আমি এটি জাভা সার্লেটলেট টিউটোরিয়াল থেকে পেয়েছি

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.