আন্তঃ-সার্ভলেট যোগাযোগ কি?

0
13912

নামটি বলে, এটি সার্লেটগুলির মধ্যে যোগাযোগ। সার্ভলেট একে অপরের সাথে কথা বলছে। [সার্ভলেটের মধ্যে যোগাযোগ করার অনেক উপায় রয়েছে, সহ

  • অনুরোধ প্রেরণ
  • HTTP পুনর্নির্দেশ
  • সার্ভলেট চেইনিং
  • HTTP অনুরোধ (সকেট বা URL সংযোগ শ্রেণী ব্যবহার করে)
  • শেয়ার করা সেশন, অনুরোধ, বা অ্যাপ্লিকেশন বস্তু (মটরশুটি)
  • প্রত্যক্ষ পদ্ধতি আহ্বান (অপ্রচলিত)
  • শেয়ার্ড স্ট্যাটিক বা ইনস্ট্যান্স ভেরিয়েবল (অপ্রচলিত)

এই কৌশলগুলির প্রতিটি সম্পর্কে তথ্যের জন্য প্রায়শই জিজ্ঞাসিত প্রশ্নাবলী অনুসন্ধান করুন, বিশেষ করে বার্তা পাসিং (অনুরোধ প্রেরণ সহ)। -আলেক্স]

মূলত, ইন্টারসার্ভলেট যোগাযোগ সার্লেট চেইনিংয়ের মাধ্যমে অর্জন করা হয়। এটি এমন একটি প্রক্রিয়া যেখানে আপনি একটি সার্লেটের আউটপুট অন্যটিতে ইনপুট হিসাবে পাস করেন। এই servlets একই সার্ভারে চলমান করা উচিত.

যেমন ServletContext.getRequestDispatcher(HttpRequest, HttpResponse).forward("NextServlet"); আপনি পরবর্তী সার্লেট/জেএসপিতে সর্বশেষ ফর্ম জমা থেকে বর্তমান অনুরোধ এবং প্রতিক্রিয়া অবজেক্টে পাস করতে পারেন। আপনি এই বস্তুগুলি পরিবর্তন করতে পারেন এবং তাদের পাস করতে পারেন যাতে পরবর্তী সার্লেট/জেএসপি এই সার্লেটের ফলাফলগুলি ব্যবহার করতে পারে।

সার্ভলেট চেইনিংয়ের জন্য কিছু সার্ভলেট ইঞ্জিন-নির্দিষ্ট কনফিগারেশন রয়েছে।

Servlets একই সার্ভারে চলমান অন্যান্য servlets এর পাবলিক ফাংশন কল করতে পারে। এটি সার্ভলেট কনটেক্সট অবজেক্টের মাধ্যমে কাঙ্খিত সার্লেটে একটি হ্যান্ডেল পাওয়ার মাধ্যমে সার্ভলেট নামটি পাস করে করা যেতে পারে (এই বস্তুটি সার্ভারে চলমান যেকোনো সার্লেট ফিরিয়ে দিতে পারে)। এবং তারপর ফেরত Servlet অবজেক্টে ফাংশন কল.

যেমন TestServlet test= (TestServlet)getServletConfig().getServletContext().getServlet("অন্যান্য সার্ভলেট"); otherServletDetails= Test.getServletDetails();

আপনি অন্য servlet এর পদ্ধতি কল করার সময় সতর্কতা অবলম্বন করা আবশ্যক. আপনি যে সার্লেটটিকে কল করতে চান সেটি যদি SingleThreadModel ইন্টারফেস প্রয়োগ করে, আপনার কলটি সার্লেটের একক-থ্রেড প্রকৃতির সাথে বিরোধ করতে পারে। (সার্ভার হস্তক্ষেপ করতে পারে না এবং নিশ্চিত করতে পারে যে সার্লেট অন্য ক্লায়েন্টের সাথে ইন্টারঅ্যাক্ট না করলে আপনার কল ঘটে।) এই ক্ষেত্রে, আপনার সার্লেটটি সরাসরি কলের পরিবর্তে অন্য সার্লেটের কাছে একটি HTTP অনুরোধ করা উচিত।

Servlets একটি HTTP অনুরোধ পাঠিয়ে প্রোগ্রাম্যাটিকভাবে অন্যান্য servlets আহ্বান করতে পারে। এটি পছন্দসই সার্ভলেটে একটি URL সংযোগ খোলার মাধ্যমে করা যেতে পারে।