<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # 適用于初學者的 Servlet 教程 > 原文: [https://beginnersbook.com/2013/05/servlet-tutorial/](https://beginnersbook.com/2013/05/servlet-tutorial/) Servlet 是一個在 Web 服務器上的 JVM 內運行的 java 程序。它用于開發動態 Web 應用。 在我們繼續之前,讓我們了解什么是**動態 Web 應用?** Web 應用可以被描述為網頁集合(例如網站),當我們稱之為動態時,它只是意味著所有用戶的網頁都不相同,網頁將在服務器端生成根據客戶端(用戶的瀏覽器)的請求。 靜態和動態網頁之間的主要區別在于,名稱建議的靜態頁面對于所有用戶保持相同,但是動態網頁基于來自客戶端(用戶的瀏覽器)的請求而改變。例如,考慮一個 Web 應用,它向您顯示兩個輸入字段和添加按鈕,當您輸入兩個數字并單擊添加時,它會顯示另一個網頁,其中包含兩個數字的結果,此 Web 應用本質上是動態的,作為第二個網頁,顯示結果更改基于用戶輸入,對所有用戶都不是靜態的。 但是你可以很好地說,一個 servlet 可以通過 CGI(通用網關接口)完成什么,這是真的,但這就是事情 - CGI 有一些限制,如性能,可伸縮性,可重用性等等。我不打算詳細討論 CGI,但我要告訴你,servlet 如何比 CGI 更好。 ### CGI 的局限性 服務器必須為每個客戶端請求創建一個新的 CGI 進程。例如,如果 100 個用戶正在訪問 Web 應用,則服務器必須創建 100 個 CGI 進程來處理它們發出的請求。由于服務器資源有限,每次為新請求創建新進程都不是一個可行的選擇,這會對服務器造成限制,因為服務器無法同時處理超過指定數量的用戶。 ### Servlet 如何比 CGI 更好 每次發出新請求時,CGI 程序都由新進程處理。與 CGI 不同,servlet 程序由可以更高效地并發運行的單獨線程處理。 CGI 程序可以用任何編程語言編寫,使其主要依賴于平臺,因為并非所有編程語言都是獨立于平臺的。Servlet 僅使用 Java 作為編程語言,使其與平臺無關且可移植。使用 java 的另一個好處是 servlet 可以利用 java 的面向對象編程功能。 #### Servlet 如何工作 正如我上面提到的,對服務器的并發請求由線程處理,這里是相同的圖形表示: ![How Servlet Works](https://img.kancloud.cn/34/f2/34f278492bc302075f00750396c9f103_500x400.jpg) ## Servlet 的特點 現在我們已經了解了什么是 servlet 以及它正在被使用的目的。讓我們進一步討論它的主要特征。 **1.便攜式:** 正如我上面提到的,Servlet 使用 Java 作為編程語言,因為 java 是獨立于平臺的,所以對于 servlet 也是如此。例如,您可以在 Windows 操作系統上創建一個 servlet,用戶將 GlassFish 作為 Web 服務器,然后在任何其他操作系統(如 Unix,Linux 和 Apache tomcat Web 服務器)上運行它,此功能使 servlet 可移植,這是 servlet 優于 CGI 的主要優點。 **2.高效且可擴展:** 一旦 servlet 被部署并加載到 Web 服務器上,它就可以立即開始滿足客戶端的請求。 Web 服務器使用輕量級線程調用 servlet,因此可以使用 Java 的多線程功能同時通過 servlet 填充多個客戶端請求。與服務器必須為每個客戶端請求啟動新進程的 CGI 相比,servlet 真正高效且可擴展。 **3.強大:** 通過繼承 Java 的主要功能(例如垃圾收集,異常處理,Java 安全管理器等),servlet 不易出現內存管理問題和內存泄漏。這使得 servlet 中的 Web 應用開發安全且不易出錯。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看