هي مواد "انٽرپرائز ڊولپمينٽ جو تعارف" سيريز جو حصو آهي. اڳيون مضمون: حصو 6. سروليٽ ڪنٽينر - 1گذريل مضمون ۾، اسان servlets سان واقف ٿي چڪا آهيون ۽ سکيو ته انهن کي ڪيئن استعمال ڪجي ويب ايپليڪيشن ٺاهڻ لاءِ. وقت اچي ويو آهي ته هن مزو جي هڪ لازمي حصي تي ويجهي نظر وٺو: سروليٽ ڪنٽينرز.

مواد جي جدول:

هڪ servlet ڪنٽينر ڇا آهي؟

اهو هڪ پروگرام آهي جيڪو سرور تي هلندو آهي ۽ اسان جي ٺاهيل سرورن سان رابطو ڪري سگهي ٿو. ٻين لفظن ۾، جيڪڏھن اسان پنھنجي ويب ايپليڪيشن کي سرور تي ھلائڻ چاھيون ٿا، اسان پھريائين ھڪ servlet ڪنٽينر لڳايو ۽ پوءِ ان ۾ servlets وجھون. ڪم فلو سادو آهي: جڏهن ڪلائنٽ سرور تائين رسائي ڪري ٿو، ڪنٽينر ان جي درخواست تي عمل ڪري ٿو، اهو طئي ڪرڻ ته ڪهڙي سرورٽ ان کي پروسيس ڪرڻ گهرجي، ۽ پوء درخواست کي گڏ ڪري ٿو. حصو 6. سروليٽ ڪنٽينر - 2

servlet ڪنٽينرز ڪيئن استعمال ڪيا ويا آهن؟

روٽنگ جي درخواستن جي علاوه، هڪ سروليٽ ڪنٽينر ٻين ڪمن کي انجام ڏئي ٿو:
  1. اهو متحرڪ طور تي JSP فائلن مان HTML صفحا ٺاهي ٿو.
  2. اهو HTTPS پيغامن کي انڪرپٽ/ڊيڪرپٽ ڪري ٿو.
  3. اهو servlet انتظاميه لاء محدود رسائي فراهم ڪري ٿو.
عام طور تي، اهو سڀ ڪجهه سٺو لڳندو آهي. هاڻي اسان کي صرف اهو سمجهڻ جي ضرورت آهي ته اهو سڀ ڪجهه ڪيئن ڪجي. خير، سکڻ لاءِ ته ڪنهن شيءِ کي ڪيئن استعمال ڪجي، بس ان ۾ غوطو لڳايو ۽ ان کي استعمال ڪرڻ جي ڪوشش ڪريو :) سو، اڄ اسين مشق ڪرڻ وارا آهيون! سڀ کان وڌيڪ مشهور سروليٽ ڪنٽينر Apache Tomcat آهي . اهو کليل ذريعو آهي ۽ مفت ۾ استعمال ڪري سگهجي ٿو. ڊائون لوڊ ڪريو Tomcat توھان جي آپريٽنگ سسٽم لاءِ ھتي ۽ اسان ڳولينداسين ڪم ڪندڙ ڪنٽينرز سان ”عمل ۾“.

Tomcat انسٽال ڪرڻ ۽ شروع ڪرڻ

  1. Tomcat کي انسٽال ڪرڻ لاءِ، بس ڊائون لوڊ ڪيل آرڪائيو کي مطلوب ڊاريڪٽري ۾ ان زپ ڪريو.

  2. مهرباني ڪري نوٽ ڪريو ته Tomcat کي شروع ڪرڻ ۽ هلائڻ لاءِ جاوا ورزن 8 يا وڌيڪ جي ضرورت آهي. تصديق ڪريو ته JAVA_HOME ماحوليات جي تبديلي JDK جي موجوده ورزن جو حوالو ڏئي ٿي.

  3. اڳيون، توهان کي Tomcat تائين صارف جي رسائي کي ترتيب ڏيڻ جي ضرورت آهي . اهو tomcat-users.xml فائل ۾ ڪيو ويندو آهي، جيڪو conf فولڊر ۾ واقع آهي.

    Tomcat ۾ چار اڳواٽ ڪردار آھن:

    • manager-gui - گرافڪ انٽرفيس ۽ اسٽيٽس پيج تائين رسائي
    • مينيجر-اسڪرپٽ - ٽيڪسٽ انٽرفيس ۽ اسٽيٽس پيج تائين رسائي
    • مينيجر-jmx - جي ايم ايڪس تائين رسائي ۽ اسٽيٽس پيج
    • manager-status — رسائي صرف اسٽيٽس پيج تائين

    اندر اندر <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 فائل (Linux تي startup.sh) هلايو.

  5. ڪجھ سيڪنڊن کان پوء، لنڪ کوليو http://localhost:8080/ توهان جي برائوزر ۾. توھان ڏسندا ھڪ گرافڪ ڊيش بورڊ:

    حصو 6. سروليٽ ڪنٽينر - 3

    جيڪڏهن توهان هن طرح هڪ مينيو ڏسي سگهو ٿا، پوء Tomcat ڊوڙندو آهي.

  6. جيڪڏهن اهو نه هلي رهيو آهي، دستي طور تي چيڪ ڪريو JAVA_HOME ۽ CATALINA_HOME ماحوليات متغير:

    • JAVA_HOME - ھن کي جاوا 8+ جي موجوده ورزن جو حوالو ڏيڻ گھرجي.
    • CATALINA_BASE - ھن کي Tomcat جو حوالو ڏيڻ گھرجي يا غير حاضر ھجڻ گھرجي (ھن کي Tomcat جي ٻئي ورزن جو حوالو نه ڏيڻ گھرجي).

Tomcat ۾ ايپليڪيشن کي ترتيب ڏيڻ

اسان Tomcat لانچ ڪرڻ جو انتظام ڪيو، تنهنڪري اهو هاڻي ان ۾ ڪجهه پروجيڪٽ کي ترتيب ڏيڻ جو وقت آهي. اچو ته اڳئين مضمون مان 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");
   }
}
ترتيب ڏيڻ کان پهريان، اسان کي اسان جي سرورز کي WAR فائل ۾ پيڪ ڪرڻ جي ضرورت آهي. Maven عام طور تي اهو ڪرڻ لاء استعمال ڪيو ويندو آهي، پر هڪ WAR فائل ٺاهڻ لاء توهان کي هڪ web.xml فائل جي ضرورت آهي جيڪا سڀني سرورن لاء ميپنگ آهي. اسان servlets لکڻ لاءِ نئين @WebServlet تشريح استعمال ڪئي، تنهنڪري اسان وٽ web.xml فائل ناهي. خوشقسمتيء سان، IDEA اسان لاء گندي ڪم ڪري سگهي ٿو، اسان جي منصوبي کي WAR فائل ۾ لپيندي. هن کي ڪرڻ لاءِ، پراجيڪٽ جي ڍانچي کي کوليو (Ctrl+Shift+Alt+S) -> آرٽيفيڪٽس -> مطلوبه WAR فائل چونڊيو -> "شامل ڪريو پروجيڪٽ ۾ شامل ڪريو" جي اڳيان چيڪ بڪس چونڊيو -> "OK" تي ڪلڪ ڪريو. حصو 6. سروليٽ ڪنٽينر - 4اچو ته Ctrl+F9 ڪيئي ميلاپ استعمال ڪندي پروجيڪٽ ٺاهيون. ھاڻي اسان جي WAR فائل ھدف ڊاريڪٽري ۾ آھي حصو 6. سروليٽ ڪنٽينر - 5فائل جو نالو تبديل ڪري ڪجھ آسان ڪري سگھجي ٿو، مثال طور servlet.war، ۽ وڌيڪ آسان جڳھ ڏانھن منتقل ٿي سگھي ٿو، مثال طور C:\\my\\. هڪ دفعو WAR فائل استعمال ڪرڻ لاء تيار آهي، اسان ان کي هڪ ڪنٽينر ۾ رکون ٿا . هن کي ڪرڻ جا ٻه طريقا آهن.
  1. گرافڪ انٽرفيس استعمال ڪندي

    هن کي ڪرڻ لاء، هن لنڪ تي عمل ڪريو: http://localhost:8080/manager/html . Tomcat هڪ صارف نالو ۽ پاسورڊ لاء پڇڻ گهرجي.

    جيڪڏھن توھان ھن نقطي تائين مون سان گڏ ھليو ٿا، ته پوءِ يوزر نالو آھي ”صارف“، ۽ پاسورڊ آھي ”پاسورڊ“ .

    ڪاميابيءَ سان سائن ان ٿيڻ کان پوءِ، توھان ڏسندؤ Tomcat ويب ايپليڪيشن مئنيجر. "ايپليڪيشنون" سيڪشن ۾ اڳ ۾ ئي 5 ايپليڪيشنون شامل آهن - اهي Tomcat يوٽيلٽيون آهن، جيڪي Tomcat سان ڪم ڪرڻ آسان بڻائين ٿيون. ان کي مستقبل ۾ ختم ڪري سگهجي ٿو.

    حصو 6. سروليٽ ڪنٽينر - 6

    هيٺ ڏنل "تعمير" سيڪشن آهي. هتي توهان ترتيب ڏيڻ لاءِ WAR آرڪائيو چونڊي سگهو ٿا. اچو ته رستو ۽ حوالو دستي طور داخل ڪريون:

    حصو 6. سروليٽ ڪنٽينر - 7

    "ڊپلائي" تي ڪلڪ ڪريو ۽ اسان ڏسون ٿا ته اسان جي ايپليڪيشن "ايپليڪيشن" سيڪشن ۾ ظاهر ٿيو آهي:

    حصو 6. سروليٽ ڪنٽينر - 8Tomcat جي گرافڪ انٽرفيس کي استعمال ڪندي، اسان سيشن کي روڪي، ٻيهر شروع ڪري، ۽ ختم ڪري سگھون ٿا، ۽ گڏوگڏ سيشن جي ڊيگهه مقرر ڪري سگھون ٿا. جڏهن ترتيب ڏيڻ، اسان /demo جي حوالي سان وضاحت ڪئي، جنهن جو مطلب آهي ته اسان جي اپليڪيشن تائين رسائي آهي http://localhost:8080/demo . چيڪ ڪندا ، چيڪ ڪيو. هر شي کي ڪم ڪرڻ گهرجي.

  2. فائل سسٽم ذريعي

    هن طريقي سان ايپليڪيشن کي ترتيب ڏيڻ لاء، توهان کي ڊاريڪٽري کولڻ جي ضرورت آهي جتي Tomcat unzipped هئي. پوء "webapps" فولڊر ڏانھن وڃو. هتي توهان کي اهي افاديت ملنديون جيڪي اسان اڳ ۾ ئي منهن ڪيون آهن:

    حصو 6. سروليٽ ڪنٽينر - 9

    اهو سڀ ڪجهه گهربل آهي اسان لاءِ اسان جي servlet.war فائل کي هتي منتقل ڪرڻ لاءِ.

    اسان ڪجھ سيڪنڊن جو انتظار ڪريو ۽ پوء ڏسو ته ھڪڙو نئون "servlet" فولڊر ظاهر ٿيو آھي. ان جو مطلب اهو آهي ته اسان جي ايپليڪيشن کي ترتيب ڏني وئي آهي. وڃو ايپليڪيشن مئنيجر انٽرفيس تي http://localhost:8080/manager/ . هتي اسان ڏسون ٿا ته اسان جي درخواست /servlet حوالي سان ترتيب ڏني وئي آهي:

    حصو 6. سروليٽ ڪنٽينر - 10

    جڏهن هن طريقي سان ترتيب ڏني وئي، حوالو خودڪار طور تي مقرر ڪيل WAR فائل جي نالي تي ٻڌل آهي. حوالن کي تبديل ڪرڻ لاء، توهان نئين ٺاهيل فولڊر جو نالو تبديل ڪري سگهو ٿا جنهن ۾ ايپليڪيشن شامل آهي، پر اهو ڪرڻ کان پهريان توهان کي WAR فائل کي هٽائڻ جي ضرورت آهي. ٻي صورت ۾، Tomcat آرڪائيو نالي سان ايپليڪيشن کي ٻيهر ترتيب ڏيندو.

    جئين توهان ڏسي سگهو ٿا، Tomcat ۾ ايپليڪيشنن کي ترتيب ڏيڻ تمام آسان آهي ان کان وڌيڪ لڳي سگھي ٿو. پر ان جا ٻيا ڪم به استعمال ڪرڻ آسان آهن. اچو ته چيڪ ڪريو.

HTTP جي بدران HTTPS استعمال ڪندي

جيڪڏهن توهان کي ياد آهي، اسان هڪ الڳ مضمون ۾ HTTP ۽ HTTPS جي وچ ۾ فرق ڏٺو . HTTPS ساڳيو ئي پروٽوڪول HTTP آهي، پر اهو منتقل ٿيل ڊيٽا کي انڪوپ ڪري ٿو. ڪلائنٽ جي پاسي تي، برائوزر انڪرپشن لاء ذميوار آهي، پر اسان کي سرور جي پاسي تي انڪوشن مهيا ڪرڻ گهرجي. جيئن ته Tomcat HTTP درخواستن کي قبول ڪري ٿو ۽ رستو وٺي ٿو، اهو ان کي انڪوشن کي نمائندو ڪرڻ جو احساس آهي. هن کي ڪرڻ لاء، اسان کي گهرجي:
  1. هڪ خود دستخط ٿيل سرٽيفڪيٽ ٺاهيو
  2. اضافي سرور سيٽنگون ٺاهيو
اچو ته ائين ڪرڻ جي مشق ڪريون.

سرٽيفڪيٽ ٺاهڻ

نسخ کان سواء، JDK ۾ وڏي تعداد ۾ افاديت شامل آهن. انهن مان هڪ آهي keytool . هي هڪ اوزار آهي پيدا ڪرڻ ۽ ڪم ڪرڻ لاءِ انڪرپشن ڪنجيون. ان کي استعمال ڪرڻ لاءِ، ڪمانڊ لائن تي، وڃو C:\\Program Files\\Java\\jdk1.8.0_181\\bin ڊاريڪٽري ۽ ڪمانڊ ڪيٽول -genkey -alias tomcat -keyalg RSA کي هلايو .
  • keytool - يوٽيلٽي جو نالو جنهن کي اسان ڪمانڊ لائن آپشنز سان هلائي رهيا آهيون
  • -genkey - ظاھر ڪيو ته اسان ھڪ نئين ڪيچ پيدا ڪرڻ چاھيون ٿا
  • -alias tomcat - هڪ اهم عرف ٺاهيو
  • -keyalg RSA - RSA کي ڪيئي نسل الورورٿم طور چونڊيو
حڪم تي عمل ڪرڻ کان پوء، افاديت اسان سان هڪ گفتگو شروع ڪري ٿو: حصو 6. سروليٽ ڪنٽينر - 11ضروري معلومات داخل ڪريو. ھاڻي اسان پنھنجي ھوم ڊاريڪٽري ۾ ڪي اسٽور ٺاھيو آھي (ونڊوز لاءِ، ھي آھي C:\\Users\\{username}\\.keystore) ۽ ان ۾ ھڪ ٽام ڪيٽ ڪي. اسان ھڪڙو سادو سرٽيفڪيٽ ٺاھيو آھي جنھن بابت گھڻا برائوزر شڪايت ڪندا. اهڙي سند تجارتي ايپليڪيشنن لاء مناسب ناهي: اهو صرف امتحان جي مقصدن لاء استعمال ڪري سگهجي ٿو. پيداوار جي سرور تي، توهان کي سرٽيفڪيشن اٿارٽي کان هڪ سرٽيفڪيٽ استعمال ڪرڻ جي ضرورت آهي (مثال طور، https://letsencrypt.org/ ).

سرور کي ترتيب ڏيڻ

هاڻي ته سرٽيفڪيٽ تيار آهي، اسان کي سرور جي سيٽنگن کي ترتيب ڏيڻ جي ضرورت آهي، يعني، SSL کنیکٹر. اهو سرور.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 ڪوڊ کي بور ڪرڻ جي بدران، توهان جاوا ڪوڊ لکي سگهو ٿا، متغير، لوپس، صفن ۽ ٻين ٻولين جي تعميرات کي استعمال ڪندي. ڇا توهان ان کي تصور ڪرڻ جي قابل هئا؟ سٺي خبر اها آهي ته ڪجهه ساڳيو ئي موجود آهي. خراب خبر اها آهي ته اهو مڪمل طور تي هن تصور کي حاصل نٿو ڪري. جيڪڏهن توهان اندازو نه ڪيو آهي، اسان جاوا سرور صفحا (JSP) بابت ڳالهائي رهيا آهيون. مختصر ۾، هي ٽيڪنالاجي آهي جيڪا توهان کي جاوا ڪوڊ جا ٽڪرا هڪ HTML صفحي ۾ داخل ڪرڻ جي اجازت ڏئي ٿي. صحيح، هي جاوا ڪوڊ اڃا تائين ڪلائنٽ ڏانهن موڪلڻ کان اڳ 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 ۾ بدلائي ٿو. جڏهن هڪ servlet جواب جي طور تي JSP مواد واپس ڪرڻ وارو آهي، ڪنٽينر نوٽ وٺندو آهي ۽ پهريون ڀيرو ان کي برائوزر-دوست HTML پيج ۾ تبديل ڪري ٿو اڳ ۾ ئي اهڙي مواد ڪلائنٽ ڏانهن موڪلڻ کان اڳ. اڄ، JSP ٽيڪنالاجي جا ڪيترائي اينالاگ آهن - Thymeleaf، FreeMarket، Mustache، ۽ ٻيا. اهي سڀ هڪ ئي انداز ۾ ڪم. انهن مان ڪهڙو توهان جي ڪم لاء چونڊڻ جو ذائقو آهي. اهو پڻ لاڳو ٿئي ٿو هڪ سروليٽ ڪنٽينر چونڊڻ تي. انهن مثالن ۾، اسان استعمال ڪيو Tomcat، سڀ کان وڌيڪ عام ڪنٽينر، پر ڪجهه منصوبا ٻيا ڪنٽينر استعمال ڪندا آهن. اهو قابل قدر آهي ته مختصر طور تي سڀ کان وڌيڪ مشهور ماڻهن جو جائزو وٺو ۽ غور ڪيو ته اهي Tomcat کان ڪيئن مختلف آهن.

Tomcat لاء متبادل

  1. GlassFish هڪ اوپن سورس ڪنٽينر آهي جنهن جي ترقي Oracle جي مدد سان آهي.

    Tomcat جي برعڪس، اهو هڪ مڪمل ويب سرور آهي، جيڪو، servlets کان علاوه، JavaEE فريم ورڪ جي ٻين حصن سان هلائي سگھي ٿو. اهو چيو ته، اهو تمام گهڻو وڌيڪ رام استعمال ڪري ٿو. اتي وڌيڪ لچڪ آهي جڏهن سرور کي ٺيڪ ڪيو وڃي، جيڪو ان جي استعمال کي پيچيده ڪري ٿو. اهو استعمال ٿيڻ گهرجي جڏهن JavaEE فريم ورڪ تي ايپليڪيشنن کي ترقي ڪندي.

  2. WildFly اڳ ۾ JBoss طور سڃاتو ويندو هو . اهو پڻ کليل ذريعو آهي. اهو Red Hat پاران ترقي يافته آهي. ڪمپني جي پروڊڪٽس مان هڪ ٻئي سان مونجهاري کان بچڻ لاءِ نالو تبديل ڪيو ويو - JBoss Enterprise Application Platform.

    GlassFish وانگر، WildFly هڪ مڪمل ويب سرور آهي. اتفاق سان، هود جي هيٺان، WildFly Tomcat کي هڪ سروليٽ ڪنٽينر طور استعمال ڪري ٿو. GlassFish جي برعڪس، WildFly وڌيڪ ہلڪو وزن ۽ ترتيب ڏيڻ ۾ آسان آهي.

  3. Jetty ، اڳئين وانگر، کليل ذريعو آهي. اهو Eclipse پاران ترقي ڪئي وئي آهي.

    Tomcat وانگر، اهو هڪ سادي سروليٽ ڪنٽينر آهي، بغير جاوا اي اي فريم ورڪ جي سڀني اجزاء جي حمايت کان سواء. ساڳئي وقت، اهو وڌيڪ ہلڪو وزن آهي ۽ موبائل فون تي پڻ هلائي سگهجي ٿو. اهو شروع ٿئي ٿو ۽ جلدي بند ٿئي ٿو ۽ چڱي طرح اسڪيل. Tomcat جي برعڪس، ان وٽ ھڪڙو ننڍڙو ڪميونٽي ۽ علم جو بنياد آھي.

  4. WebLogic لائسنس يافته سافٽ ويئر آهي جيڪو استعمال ڪرڻ کان پهريان خريد ڪيو وڃي. اهو Oracle سان تعلق رکي ٿو.

    اهو Tomcat جي ڀيٽ ۾ ٿورڙي وسيع ڪارڪردگي آهي. اهو FTP پروٽوڪول سان ڪم ڪري سگهي ٿو. پر اهو ايترو لچڪدار ناهي جڏهن ايپليڪيشنن کي ترقي ۽ جانچ ڪندي.

  5. WebSphere (WebSphere ايپليڪيشن سرور، صحيح طور تي) ادا ڪيل سافٽ ويئر آهي. اهو IBM پاران ترقي يافته آهي. WildFly ۽ GlassFish وانگر، اهو هڪ مڪمل ايپليڪيشن سرور آهي. پر اهو هڪ دوستانه ترتيب واري انٽرفيس آهي، انهي سان گڏ آپريشن ۾ اعلي اعتبار.

    ان جي نقصن ۾ اها حقيقت شامل آهي ته اهو تمام گهڻا وسيلا استعمال ڪري ٿو ۽ شروع ڪرڻ ۽ بند ڪرڻ ۾ گهڻو وقت وٺندو آهي، جيڪو تمام آسان ناهي جڏهن ننڍن منصوبن کي ترقي ڪندي.

صحيح سرورٽ ڪنٽينر يا ايپليڪيشن سرور جو انتخاب خاص منصوبي تي منحصر آهي. اهڙا منصوبا آهن جتي هڪ صاف انڊر ڊاگ پڻ هڪ بهترين انتخاب ثابت ٿي سگهي ٿو، پر پهرين ۾ اهو بهتر آهي ته هڪ سرليٽ ڪنٽينر جو هڪ گهرو مطالعو ڪيو وڃي. Tomcat شايد هن مطالعي لاء ڀرپور اميدوار آهي. ۽ اسان اڳ ۾ ئي ان جي مطالعي ۾ پهريون قدم کنيا آهن، پر اتان کان اهو توهان تي آهي! "انٽرپرائز ڊولپمينٽ جو تعارف" سيريز جي آخري مضمونن ۾، اسان MVC نموني جي ڄاڻ حاصل ڪنداسين. حصو 7. متعارف ڪرائڻ MVC (ماڊل-ڏسو-ڪنٽرولر) نمونو