CodeGym/Java Blog/এলোমেলো/পার্ট 6. সার্ভলেট পাত্রে
John Squirrels
লেভেল 41
San Francisco

পার্ট 6. সার্ভলেট পাত্রে

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

সুচিপত্র:

একটি servlet ধারক কি?

এটি এমন একটি প্রোগ্রাম যা একটি সার্ভারে চলে এবং আমাদের তৈরি করা সার্লেটগুলির সাথে যোগাযোগ করতে পারে। অন্য কথায়, যদি আমরা একটি সার্ভারে আমাদের ওয়েব অ্যাপ্লিকেশন চালাতে চাই, আমরা প্রথমে একটি servlet কন্টেইনার স্থাপন করি এবং তারপরে servlets রাখি। ওয়ার্কফ্লো সহজ: যখন ক্লায়েন্ট সার্ভার অ্যাক্সেস করে, তখন কন্টেইনার তার অনুরোধ প্রক্রিয়া করে, কোন সার্লেটটি এটি প্রক্রিয়া করবে তা নির্ধারণ করে এবং তারপর অনুরোধটি পাস করে। পার্ট 6. সার্ভলেট পাত্র - 2

সার্লেট পাত্রে কিভাবে ব্যবহার করা হয়?

রাউটিং অনুরোধ ছাড়াও, একটি servlet ধারক অন্যান্য ফাংশন সঞ্চালন করে:
  1. এটি গতিশীলভাবে JSP ফাইল থেকে HTML পেজ তৈরি করে।
  2. এটি HTTPS বার্তাগুলিকে এনক্রিপ্ট/ডিক্রিপ্ট করে।
  3. এটি সার্লেট প্রশাসনের জন্য সীমাবদ্ধ অ্যাক্সেস প্রদান করে।
সাধারণভাবে, এই সব ভাল শোনাচ্ছে. এখন আমাদের কেবল এটিকে কীভাবে অনুশীলন করা যায় তা খুঁজে বের করতে হবে। ওয়েল, কিছু ব্যবহার কিভাবে শিখতে, শুধু ডুব এবং এটি ব্যবহার করার চেষ্টা করুন :) তাই, আজ আমরা অনুশীলন করতে যাচ্ছি! সবচেয়ে জনপ্রিয় সার্লেট কন্টেইনার হল Apache Tomcat । এটি ওপেন সোর্স এবং বিনামূল্যে ব্যবহার করা যায়। এখানে আপনার অপারেটিং সিস্টেমের জন্য Tomcat ডাউনলোড করুন এবং আমরা "অ্যাকশন" কন্টেইনারগুলির সাথে কাজ করার অন্বেষণ করব।

টমক্যাট ইনস্টল এবং শুরু করা হচ্ছে

  1. টমক্যাট ইনস্টল করতে, ডাউনলোড করা সংরক্ষণাগারটিকে পছন্দসই ডিরেক্টরিতে আনজিপ করুন।

  2. অনুগ্রহ করে মনে রাখবেন যে টমক্যাটের জাভা সংস্করণ 8 বা উচ্চতর শুরু এবং চালানোর জন্য প্রয়োজন। যাচাই করুন যে JAVA_HOME এনভায়রনমেন্ট ভেরিয়েবল JDK-এর বর্তমান সংস্করণের উল্লেখ করে।

  3. এর পরে, আপনাকে Tomcat-এ ব্যবহারকারীর অ্যাক্সেস কনফিগার করতে হবে । এটি tomcat-users.xml ফাইলে করা হয়, যা conf ফোল্ডারে অবস্থিত।

    টমক্যাটে চারটি প্রিসেট ভূমিকা রয়েছে:

    • manager-gui — গ্রাফিকাল ইন্টারফেস এবং স্থিতি পৃষ্ঠায় অ্যাক্সেস
    • ম্যানেজার-স্ক্রিপ্ট — টেক্সট ইন্টারফেস এবং স্ট্যাটাস পেজে অ্যাক্সেস
    • manager-jmx — JMX এবং স্ট্যাটাস পেজে অ্যাক্সেস
    • ম্যানেজার-স্ট্যাটাস — শুধুমাত্র স্ট্যাটাস পেজে অ্যাক্সেস

    <tomcat-users> ট্যাগের ভিতরে, আমরা স্পষ্টভাবে এই ভূমিকাগুলি নির্দিষ্ট করি এবং সেগুলি আমাদের ব্যবহারকারীকে বরাদ্দ করি:

    <role rolename="manager-gui"/>
    <role rolename="manager-script"/>
    <role rolename="manager-jmx"/>
    <role rolename="manager-status"/>
    <user username="user" password="password"
        roles="manager-gui, manager-script, manager-jmx, manager-status"/>

    এখন সবকিছু চালু করার জন্য প্রস্তুত!

  4. বিন ফোল্ডারে, startup.bat ফাইলটি চালান (লিনাক্সে startup.sh)।

  5. কয়েক সেকেন্ড পর, আপনার ব্রাউজারে http://localhost:8080/ লিঙ্কটি খুলুন । আপনি একটি গ্রাফিক্যাল ড্যাশবোর্ড দেখতে পাবেন:

    পার্ট 6. সার্ভলেট পাত্র - 3

    আপনি যদি এই জাতীয় মেনু দেখতে পান তবে টমক্যাট চলছে।

  6. যদি এটি চলমান না হয়, ম্যানুয়ালি JAVA_HOME এবং CATALINA_HOME এনভায়রনমেন্ট ভেরিয়েবল চেক করুন:

    • JAVA_HOME — এটি অবশ্যই Java 8+ এর বর্তমান সংস্করণ উল্লেখ করতে হবে।
    • CATALINA_BASE — এটি অবশ্যই টমক্যাটকে উল্লেখ করতে হবে বা অনুপস্থিত থাকতে হবে (এটি টমক্যাটের অন্য সংস্করণের উল্লেখ করা উচিত নয়)।

টমক্যাটে একটি অ্যাপ্লিকেশন স্থাপন করা হচ্ছে

আমরা টমক্যাট চালু করতে পেরেছি, তাই এখন এটিতে কিছু প্রকল্প স্থাপন করার সময়। আগের নিবন্ধ থেকে servlets ব্যবহার করা যাক . প্রধান সার্ভলেট:
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;
import java.io.PrintWriter;

@WebServlet("/hello")
public class MainServlet extends HttpServlet {

   @Override
   protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
       HttpSession session = req.getSession();
       Integer visitCounter = (Integer) session.getAttribute("visitCounter");
       if (visitCounter == null) {
           visitCounter = 1;
       } else {
           visitCounter++;
       }
       session.setAttribute("visitCounter", visitCounter);
       String username = req.getParameter("username");
       resp.setContentType("text/html");
       PrintWriter printWriter = resp.getWriter();
       if (username == null) {
           printWriter.write("Hello, Anonymous" + "");
       } else {
           printWriter.write("Hello, " + username + "");
       }
       printWriter.write("Page was visited " + visitCounter + " times.");
       printWriter.close();
   }
}
IndexServlet:
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@WebServlet("/")
public class IndexServlet extends HttpServlet {

   @Override
   protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
       resp.sendRedirect(req.getContextPath() + "/hello");
   }
}
স্থাপন করার আগে, আমাদের একটি ওয়ার ফাইলে আমাদের সার্লেট প্যাকেজ করতে হবে। Maven সাধারণত এটি করার জন্য ব্যবহৃত হয়, কিন্তু একটি WAR ফাইল তৈরি করার জন্য আপনার একটি web.xml ফাইল প্রয়োজন যাতে সমস্ত সার্লেটের জন্য একটি ম্যাপিং থাকে। আমরা servlets লিখতে নতুন @WebServlet টীকা ব্যবহার করেছি, তাই আমাদের কাছে web.xml ফাইল নেই। সৌভাগ্যবশত, আইডিইএ আমাদের জন্য নোংরা কাজ করতে পারে, আমাদের প্রকল্পটি একটি ওয়ার ফাইলে মোড়ানো। এটি করার জন্য, প্রকল্পের কাঠামো খুলুন (Ctrl+Shift+Alt+S) -> শিল্পকর্ম -> পছন্দসই WAR ফাইল নির্বাচন করুন -> "প্রকল্প বিল্ডে অন্তর্ভুক্ত করুন" এর পাশের চেকবক্সটি নির্বাচন করুন -> "ঠিক আছে" ক্লিক করুন। পার্ট 6. সার্ভলেট পাত্র - 4Ctrl+F9 কী সমন্বয় ব্যবহার করে প্রজেক্টটি তৈরি করা যাক। এখন আমাদের WAR ফাইলটি টার্গেট ডিরেক্টরিতে রয়েছে পার্ট 6. সার্ভলেট পাত্র - 5ফাইলটির নাম পরিবর্তন করে সহজ কিছু করা যেতে পারে, যেমন servlet.war, এবং আরও সুবিধাজনক জায়গায়, যেমন C:\\my\\।আমরা এটি একটি পাত্রে রাখব । এই কাজটি করার দুটি পদ্ধতি আছে।
  1. গ্রাফিকাল ইন্টারফেস ব্যবহার করে

    এটি করতে, এই লিঙ্কটি অনুসরণ করুন: http://localhost:8080/manager/html । Tomcat একটি ব্যবহারকারীর নাম এবং পাসওয়ার্ড জিজ্ঞাসা করা উচিত.

    আপনি যদি এই বিন্দু পর্যন্ত আমার সাথে অনুসরণ করেন, তাহলে ব্যবহারকারীর নামটি "ব্যবহারকারী" এবং পাসওয়ার্ডটি "পাসওয়ার্ড"

    সফলভাবে সাইন ইন করার পরে, আপনি টমক্যাট ওয়েব অ্যাপ্লিকেশন ম্যানেজার দেখতে পাবেন। "অ্যাপ্লিকেশন" বিভাগে ইতিমধ্যে 5টি অ্যাপ্লিকেশন রয়েছে — এগুলি টমক্যাট ইউটিলিটি, যা টমক্যাটকে কাজ করা সহজ করে তোলে। এগুলি ভবিষ্যতে মুছে ফেলা যেতে পারে।

    পার্ট 6. সার্ভলেট পাত্র - 6

    নিচে "Deploy" সেকশন আছে। এখানে আপনি স্থাপন করতে WAR সংরক্ষণাগার নির্বাচন করতে পারেন। আসুন ম্যানুয়ালি পথ এবং প্রসঙ্গ প্রবেশ করি:

    পার্ট 6. সার্ভলেট পাত্র - 7

    "Deploy" এ ক্লিক করুন এবং আমরা দেখতে পাই যে আমাদের অ্যাপ্লিকেশন "অ্যাপ্লিকেশন" বিভাগে উপস্থিত হয়েছে:

    পার্ট 6. সার্ভলেট পাত্র - 8টমক্যাটের গ্রাফিকাল ইন্টারফেস ব্যবহার করে, আমরা একটি সেশন থামাতে, পুনরায় চালু করতে এবং মুছে ফেলতে পারি, সেইসাথে সেশনের দৈর্ঘ্য সেট করতে পারি। স্থাপন করার সময়, আমরা /demo প্রসঙ্গ নির্দিষ্ট করেছি, যার অর্থ হল আমাদের অ্যাপ্লিকেশনটি http://localhost:8080/demo ব্যবহার করে অ্যাক্সেস করা হয়েছে । এটা পরীক্ষা করুন. সবকিছু কাজ করা উচিত.

  2. ফাইল সিস্টেমের মাধ্যমে

    এইভাবে অ্যাপ্লিকেশনটি স্থাপন করতে, আপনাকে সেই ডিরেক্টরিটি খুলতে হবে যেখানে টমক্যাট আনজিপ করা হয়েছিল। তারপর "webapps" ফোল্ডারে যান। আমরা ইতিমধ্যে যে ইউটিলিটিগুলির সম্মুখীন হয়েছি তা এখানে আপনি পাবেন:

    পার্ট 6. সার্ভলেট পাত্র - 9

    আমাদের servlet.war ফাইলটি এখানে সরানোর জন্য যা প্রয়োজন।

    আমরা কয়েক সেকেন্ড অপেক্ষা করি এবং তারপর দেখি যে একটি নতুন "সার্ভলেট" ফোল্ডার উপস্থিত হয়েছে। এর মানে হল যে আমাদের অ্যাপ্লিকেশন স্থাপন করা হয়েছে। http://localhost:8080/manager/ এ অ্যাপ্লিকেশন ম্যানেজার ইন্টারফেসে যান । এখানে আমরা দেখতে পাচ্ছি যে আমাদের অ্যাপ্লিকেশন /servlet প্রসঙ্গে স্থাপন করা হয়েছে:

    পার্ট 6. সার্ভলেট পাত্রে - 10টি

    এইভাবে স্থাপন করা হলে, প্রসঙ্গটি স্থাপন করা WAR ফাইলের নামের উপর ভিত্তি করে স্বয়ংক্রিয়ভাবে নির্ধারিত হয়। প্রসঙ্গ পরিবর্তন করতে, আপনি নতুন তৈরি করা ফোল্ডারটির নাম পরিবর্তন করতে পারেন যাতে অ্যাপ্লিকেশনটি রয়েছে, তবে এটি করার আগে আপনাকে WAR ফাইলটি সরাতে হবে। অন্যথায়, Tomcat আর্কাইভ নামের সাথে অ্যাপ্লিকেশনটি পুনরায় স্থাপন করবে।

    আপনি দেখতে পাচ্ছেন, টমক্যাটে অ্যাপ্লিকেশন স্থাপন করা মনে হতে পারে তার চেয়ে অনেক সহজ। তবে এর অন্যান্য ফাংশনগুলিও ব্যবহার করা সহজ। এর চেক করা যাক.

HTTP এর পরিবর্তে HTTPS ব্যবহার করা

যদি আপনার মনে থাকে, আমরা একটি পৃথক নিবন্ধে HTTP এবং HTTPS এর মধ্যে পার্থক্য দেখেছি । HTTPS হল HTTP এর মতো একই প্রোটোকল, তবে এটি প্রেরণ করা ডেটা এনক্রিপ্ট করে। ক্লায়েন্ট সাইডে, ব্রাউজার এনক্রিপশনের জন্য দায়ী, কিন্তু আমাদের অবশ্যই সার্ভার সাইডে এনক্রিপশন প্রদান করতে হবে। যেহেতু টমক্যাট HTTP অনুরোধগুলি গ্রহণ করে এবং রুট করে, তাই এটিতে এনক্রিপশন অর্পণ করা বোধগম্য হয়। এটি করার জন্য, আমাদের অবশ্যই:
  1. একটি স্ব-স্বাক্ষরিত শংসাপত্র তৈরি করুন
  2. অতিরিক্ত সার্ভার সেটিংস করুন
আসুন এটি করার অনুশীলন করি।

একটি শংসাপত্র তৈরি করা হচ্ছে

সংস্করণ নির্বিশেষে, JDK বিপুল সংখ্যক ইউটিলিটি অন্তর্ভুক্ত করে। তাদের মধ্যে একটি হল কী টুল । এটি এনক্রিপশন কীগুলির সাথে তৈরি এবং কাজ করার জন্য একটি সরঞ্জাম। এটি ব্যবহার করতে, কমান্ড লাইনে, C:\\Program Files\\Java\\jdk1.8.0_181\\bin ডিরেক্টরিতে যান এবং কমান্ড কীটুল -genkey -alias tomcat -keyalg RSA চালান ।
  • keytool — কমান্ড লাইন বিকল্পের সাথে আমরা যে ইউটিলিটি চালাচ্ছি তার নাম
  • -জেনকি — নির্দেশ করুন যে আমরা একটি নতুন কী তৈরি করতে চাই
  • -alias tomcat — একটি কী উপনাম তৈরি করুন
  • -keyalg RSA — মূল প্রজন্মের অ্যালগরিদম হিসাবে RSA নির্বাচন করুন
কমান্ডটি কার্যকর করার পরে, ইউটিলিটি আমাদের সাথে একটি কথোপকথন শুরু করে: পার্ট 6. সার্ভলেট পাত্র - 11প্রয়োজনীয় তথ্য লিখুন। এখন আমরা আমাদের হোম ডিরেক্টরিতে একটি কীস্টোর তৈরি করেছি (উইন্ডোজের জন্য, এটি হল C:\\Users\\{username}\\.keystore) এবং এতে একটি টমক্যাট কী। আমরা একটি সাধারণ শংসাপত্র তৈরি করেছি যা বেশিরভাগ ব্রাউজার অভিযোগ করবে। এই ধরনের একটি শংসাপত্র বাণিজ্যিক অ্যাপ্লিকেশনের জন্য উপযুক্ত নয়: এটি শুধুমাত্র পরীক্ষার উদ্দেশ্যে ব্যবহার করা যেতে পারে। একটি প্রোডাকশন সার্ভারে, আপনাকে একটি শংসাপত্র কর্তৃপক্ষের কাছ থেকে একটি শংসাপত্র ব্যবহার করতে হবে (উদাহরণস্বরূপ, https://letsencrypt.org/ )।

সার্ভার কনফিগার করা হচ্ছে

এখন শংসাপত্র প্রস্তুত, আমাদের সার্ভার সেটিংস সামঞ্জস্য করতে হবে, যথা, SSL সংযোগকারী৷ এটি server.xml ফাইলে করা হয়, যা apache-tomcat-9.0.30/conf/ এ অবস্থিত । এতে, আমরা এই জাতীয় ব্লকগুলি খুঁজে পাই:
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
               maxThreads="150" SSLEnabled="true">
        <SSLHostConfig>
            <Certificate certificateKeystoreFile="conf/localhost-rsa.jks"
                         type="RSA" />
        </SSLHostConfig>
 </Connector>
এবং আমরা আমাদের কনফিগারেশন তাদের পাশে রাখি:
<Connector
       protocol="org.apache.coyote.http11.Http11NioProtocol"
       port="8443" maxThreads="200"
       scheme="https" secure="true" SSLEnabled="true"
       keystoreFile="C:\Users\user\.keystore" keystorePass="mypass"
       clientAuth="false" sslProtocol="TLS"/>
আমরা keystoreFile এবং keystorePass প্যারামিটারে সর্বশেষ মান নির্ধারণ করি, ফাইলটি সংরক্ষণ করি এবং তারপর shutdown.bat এবং startup.bat ফাইলগুলি ব্যবহার করে Tomcat পুনরায় চালু করি। এখন সার্ভার HTTPS অনুরোধ প্রক্রিয়া করার জন্য প্রস্তুত. ঠিকানাটি একটু পরিবর্তিত হয়েছে: https://localhost:8443/demo/hello । আপনি যখন লিঙ্কটিতে ক্লিক করবেন তখন আপনি শংসাপত্রের বিশ্বস্ততা সম্পর্কে একটি সতর্কতা পাবেন, যা আশ্চর্যজনক নয়। যেমনটি আমরা একটু আগে বলেছি, আপনাকে একটি সাধারণ শংসাপত্র পাওয়ার জন্য সার্টিফিকেশন কর্তৃপক্ষের একটি পরিষেবা ব্যবহার করতে হবে। কিন্তু আপাতত, আমরা আমাদের লক্ষ্য অর্জন করেছি: অ্যাপ্লিকেশনটি HTTPS প্রোটোকল ব্যবহার করে চলে এবং এটি গুরুত্বপূর্ণ!

গতিশীলভাবে HTML পেজ তৈরি করা

এখন আমরা আরেকটি বৈশিষ্ট্য বিবেচনা করে সার্লেট কন্টেইনারগুলির আমাদের ওভারভিউ চালিয়ে যাব: HTML পৃষ্ঠাগুলির গতিশীল প্রজন্ম। একটি নিখুঁত বিশ্বের কল্পনা করুন যেখানে, বিরক্তিকর স্ট্যাটিক HTML কোডের পরিবর্তে, আপনি ভেরিয়েবল, লুপ, অ্যারে এবং অন্যান্য ভাষা নির্মাণ ব্যবহার করে জাভা কোড লিখতে পারেন। আপনি এটা কল্পনা করতে সক্ষম ছিল? ভাল খবর হল অনুরূপ কিছু বিদ্যমান. খারাপ খবর হল যে এটি সম্পূর্ণরূপে এই ফ্যান্টাসি অর্জন করে না। আপনি যদি অনুমান না করে থাকেন, আমরা JavaServer Pages (JSP) সম্পর্কে কথা বলছি। সংক্ষেপে, এটি এমন প্রযুক্তি যা আপনাকে একটি HTML পৃষ্ঠায় জাভা কোডের টুকরো সন্নিবেশ করতে দেয়। সত্য, এই জাভা কোডটি ক্লায়েন্টের কাছে পাঠানোর আগে এখনও HTML-এ রূপান্তরিত হয়, কিন্তু সেই এইচটিএমএলটি গতিশীলভাবে তৈরি হবে, বিভিন্ন বিষয় বিবেচনা করে। উদাহরণ স্বরূপ, আপনি শর্তসাপেক্ষ বিবৃতি ব্যবহার করতে পারেন এবং কিছু শর্তের উপর নির্ভর করে বিভিন্ন বিষয়বস্তু ফেরত দিতে পারেন। উদাহরণ JSP পৃষ্ঠা:
<%@ page language="java"" %>
<html>
<head>
<title>JSP</title>
</head>

<body>
<%
String firstName="name";
String secondName="surname";

    if (firstName.equals("name")){
      out.print("Hello: "+firstName+"<br>");
    }

    if (firstName.equals("name") && secondName.equals("surname"))
    {
      out.print("Hello, my dear friend! <br>");
    }
    else
    {
      out.print("I don't know you. Go away! <br>");
    }
%>
</body>
</html>
আপনি এখানে JSP সম্পর্কে আরও পড়তে পারেন. দিনের শেষে, এই নিবন্ধটি JSP সম্পর্কে নয় — আমরা এখানে সার্লেট কন্টেইনার সম্পর্কে কথা বলতে এসেছি! তাহলে কেন আমরা JSP উল্লেখ করলাম? এটা সহজ: একটি সার্লেট কন্টেইনার হল যা জাভা কোডকে JSP থেকে HTML-এ রূপান্তর করে। যখন একটি সার্লেট প্রতিক্রিয়া হিসাবে JSP বিষয়বস্তু ফেরত দিতে যাচ্ছে, তখন ক্লায়েন্টকে এই ধরনের সামগ্রী পাঠানোর আগে কন্টেইনার নোট নেয় এবং প্রথমে এটি একটি ব্রাউজার-বান্ধব HTML পৃষ্ঠায় রূপান্তর করে। আজ, JSP প্রযুক্তির অনেক অ্যানালগ রয়েছে — Thymeleaf, FreeMarket, Mustache এবং অন্যান্য। তারা সব একই ফ্যাশনে কাজ করে। আপনার কাজের জন্য তাদের মধ্যে কোনটি বেছে নেবেন তা স্বাদের বিষয়। এটি একটি সার্লেট ধারক নির্বাচন করার ক্ষেত্রেও প্রযোজ্য। এই উদাহরণগুলিতে, আমরা Tomcat ব্যবহার করেছি, সবচেয়ে সাধারণ ধারক, কিন্তু কিছু প্রকল্প অন্যান্য পাত্র ব্যবহার করে। সংক্ষিপ্তভাবে সর্বাধিক জনপ্রিয়গুলি পর্যালোচনা করা এবং টমক্যাট থেকে তারা কীভাবে আলাদা তা বিবেচনা করা উপযুক্ত।

টমক্যাটের বিকল্প

  1. গ্লাসফিশ একটি ওপেন সোর্স কন্টেইনার যার বিকাশ ওরাকল দ্বারা সমর্থিত।

    টমক্যাটের বিপরীতে, এটি একটি পূর্ণাঙ্গ ওয়েব সার্ভার, যা সার্লেট ছাড়াও JavaEE ফ্রেমওয়ার্কের অন্যান্য উপাদানগুলির সাথে কাজ করতে পারে। যে বলে, এটি অনেক বেশি RAM ব্যবহার করে। সার্ভারটি সূক্ষ্ম-টিউন করার সময় আরও নমনীয়তা রয়েছে, যা এর ব্যবহারকে জটিল করে তোলে। JavaEE ফ্রেমওয়ার্কে অ্যাপ্লিকেশন তৈরি করার সময় এটি ব্যবহার করা উচিত।

  2. WildFly আগে JBoss নামে পরিচিত ছিল । এটি ওপেন সোর্সও বটে। এটি রেড হ্যাট দ্বারা বিকাশ করা হয়েছে। কোম্পানির অন্য একটি পণ্য - JBoss এন্টারপ্রাইজ অ্যাপ্লিকেশন প্ল্যাটফর্মের সাথে বিভ্রান্তি এড়াতে নামটি পরিবর্তন করা হয়েছিল।

    গ্লাসফিশের মতো, ওয়াইল্ডফ্লাই একটি পূর্ণাঙ্গ ওয়েব সার্ভার। ঘটনাক্রমে, হুডের নীচে, ওয়াইল্ডফ্লাই টমক্যাটকে সার্লেট কন্টেইনার হিসাবে ব্যবহার করে। গ্লাসফিশের বিপরীতে, ওয়াইল্ডফ্লাই আরও হালকা এবং কনফিগার করা সহজ।

  3. জেটি , পূর্ববর্তীগুলির মত, ওপেন সোর্স। এটি Eclipse দ্বারা বিকাশ করা হয়েছে।

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

  4. WebLogic হল লাইসেন্সকৃত সফ্টওয়্যার যা ব্যবহারের আগে অবশ্যই ক্রয় করতে হবে। এটি ওরাকলের অন্তর্গত।

    টমক্যাটের তুলনায় এটির কিছুটা বিস্তৃত কার্যকারিতা রয়েছে। এটি FTP প্রোটোকলের সাথে কাজ করতে পারে। কিন্তু অ্যাপ্লিকেশন বিকাশ এবং পরীক্ষা করার সময় এটি এত নমনীয় নয়।

  5. WebSphere (ওয়েবস্ফিয়ার অ্যাপ্লিকেশন সার্ভার, সুনির্দিষ্টভাবে) হল অর্থপ্রদানকারী সফ্টওয়্যার। এটি আইবিএম দ্বারা তৈরি করা হয়েছে। WildFly এবং GlassFish এর মত, এটি একটি সম্পূর্ণ অ্যাপ্লিকেশন সার্ভার। তবে এটির একটি বন্ধুত্বপূর্ণ কনফিগারেশন ইন্টারফেস রয়েছে, এবং অপারেশনে উচ্চ নির্ভরযোগ্যতা রয়েছে।

    এর ত্রুটিগুলির মধ্যে রয়েছে যে এটি প্রচুর সংস্থান ব্যবহার করে এবং শুরু করতে এবং বন্ধ করতে দীর্ঘ সময় নেয়, যা ছোট প্রকল্পগুলি বিকাশ করার সময় খুব সুবিধাজনক নয়।

সঠিক সার্লেট ধারক বা অ্যাপ্লিকেশন সার্ভারের পছন্দ নির্দিষ্ট প্রকল্পের উপর নির্ভর করে। এমন কিছু প্রকল্প রয়েছে যেখানে এমনকি একটি স্পষ্ট আন্ডারডগ একটি চমৎকার পছন্দ হিসাবে প্রমাণিত হতে পারে, তবে প্রথমে একটি সার্লেট পাত্রে গভীরভাবে অধ্যয়ন করা ভাল। টমক্যাট সম্ভবত এই গবেষণার জন্য নিখুঁত প্রার্থী। এবং আমরা ইতিমধ্যে এটি অধ্যয়নের প্রথম পদক্ষেপ নিয়েছি, কিন্তু এখান থেকে এটি আপনার উপর নির্ভর করে! "এন্টারপ্রাইজ ডেভেলপমেন্টের ভূমিকা" সিরিজের চূড়ান্ত নিবন্ধগুলিতে, আমরা MVC প্যাটার্নটি জানতে পারব। অংশ 7. MVC (মডেল-ভিউ-কন্ট্রোলার) প্যাটার্ন প্রবর্তন করা হচ্ছে
মন্তব্য
  • জনপ্রিয়
  • নতুন
  • পুরানো
মন্তব্য লেখার জন্য তোমাকে অবশ্যই সাইন ইন করতে হবে
এই পাতায় এখনও কোনো মন্তব্য নেই