国产无码免费,人妻口爆,国产V在线,99中文精品7,国产成人无码AA精品一,制度丝袜诱惑av,久久99免费麻辣视频,蜜臀久久99精品久久久久久酒店
        訂閱
        糾錯
        加入自媒體

        Java技術標準:服務器端小程序實戰入門

        2021-06-03 18:07
        動力節點
        關注

        Servlet

        Servlet 是 Server Applet 的簡稱,譯為“服務器端小程序”。Servlet 是 Java 的一套技術標準,規定了如何使用 Java 來開發動態網站。換句話說,Java 可以用來開發網站后臺,但是要提前定義好一套規范,并編寫基礎類庫,這就是 Servlet 所做的事情。

        Java Servlet 可以使用所有的 Java API,Java 能做的事情,Servlet 都能做。

        Servlet只是古老的CGI技術的替代品,直接使用Servle開發還是很麻煩,所以Java后來又對Servlet 進行了升級,推出了 JSP 技術。JSP 只是對 Servlet 加了一層殼,JSP 經過編譯后還是 Servlet。

        Servlet是什么?

        Java Servlet 是運行在 Web 服務器或應用服務器上的程序,它是作為來自 Web 瀏覽器或其他 HTTP 客戶端的請求和 HTTP 服務器上的數據庫或應用程序之間的中間層。

        使用 Servlet,您可以收集來自網頁表單的用戶輸入,呈現來自數據庫或者其他源的記錄,還可以動態創建網頁。

        Java Servlet 通常情況下與使用 CGI(Common Gateway Interface,公共網關接口)實現的程序可以達到異曲同工的效果。但是相比于 CGI,Servlet 有以下幾點優勢:

        ? 性能明顯更好。

        ? Servlet 在 Web 服務器的地址空間內執行。這樣它就沒有必要再創建一個單獨的進程來處理每個客戶端請求。

        ? Servlet 是獨立于平臺的,因為它們是用 Java 編寫的。

        ? 服務器上的 Java 安全管理器執行了一系列限制,以保護服務器計算機上的資源。因此,Servlet 是可信的。

        ? Java 類庫的全部功能對 Servlet 來說都是可用的。它可以通過 sockets 和 RMI 機制與 applets、數據庫或其他軟件進行交互。

        Servlet 架構

        下圖顯示了 Servlet 在 Web 應用程序中的位置。

               Servlet實現過程

        最早支持 Servlet 技術的是 JavaSoft 的 Java Web Server。此后,一些其它的基于 Java 的 Web Server 開始支持標準的 Servlet API。Servlet 的主要功能在于交互式地瀏覽和修改數據,生成動態 Web 內容。這個過程為:

        ? 客戶端發送請求至服務器端;

        ? 服務器將請求信息發送至 Servlet;

        ? Servlet 生成響應內容并將其傳給服務器。響應內容動態生成,通常取決于客戶端的請求;

        ? 服務器將響應返回給客戶端。

        ? Servlet 看起來像是通常的 Java 程序。Servlet 導入特定的屬于 Java Servlet API 的包。因為是對象字節碼,可動態地從網絡加載,可以說 Servlet 對 Server 就如同 Applet對 Client 一樣,但是,由于 Servlet 運行于 Server 中,它們并不需要一個圖形用戶界面。從這個角度講,Servlet 也被稱為 FacelessObject。

        ? 一個 Servlet 就是 Java 編程語言中的一個類,它被用來擴展服務器的性能,服務器上駐留著可以通過“請求-響應”編程模型來訪問的應用程序。雖然 Servlet 可以對任何類型的請求產生響應,但通常只用來擴展 Web 服務器的應用程序。

        Servlet命名

        Servlet 的命名可以看出 sun 命名的特點,如 Applet 表示小應用程序;Scriptlet = Script + Applet,表示小腳本程序;同樣 Servlet = Service + Applet,表示小服務程序。

        生命周期編輯

        客戶端請求該 Servlet;

        加載 Servlet 類到內存;

        實例化并調用init()方法初始化該 Servlet;

        service()(根據請求方法不同調用doGet() 或者 doPost(),此外還有doHead()、doPut()、doTrace()、doDelete()、doOptions());

        destroy()。

        加載和實例化 Servlet。這項操作一般是動態執行的。然而,Server 通常會提供一個管理的選項,用于在 Server 啟動時強制裝載和初始化特定的 Servlet。

        Server 創建一個 Servlet的實例

        第一個客戶端的請求到達 Server

        Server 調用 Servlet 的 init() 方法(可配置為 Server 創建 Servlet 實例時調用,在 web.xml 中 標簽下配置 標簽,配置的值為整型,值越小 Servlet 的啟動優先級越高)

        一個客戶端的請求到達 Server

        Server 創建一個請求對象,處理客戶端請求

        Server 創建一個響應對象,響應客戶端請求

        Server 激活 Servlet 的 service() 方法,傳遞請求和響應對象作為參數

        service() 方法獲得關于請求對象的信息,處理請求,訪問其他資源,獲得需要的信息

        service() 方法使用響應對象的方法,將響應傳回Server,最終到達客戶端。service()方法可能激活其它方法以處理請求,如 doGet() 或 doPost() 或程序員自己開發的新的方法。

        對于更多的客戶端請求,Server 創建新的請求和響應對象,仍然激活此 Servlet 的 service() 方法,將這兩個對象作為參數傳遞給它。如此重復以上的循環,但無需再次調用 init() 方法。一般 Servlet 只初始化一次(只有一個對象),當 Server 不再需要 Servlet 時(一般當 Server 關閉時),Server 調用 Servlet 的 destroy() 方法。

        1  2  下一頁>  
        聲明: 本文由入駐維科號的作者撰寫,觀點僅代表作者本人,不代表OFweek立場。如有侵權或其他問題,請聯系舉報。

        發表評論

        0條評論,0人參與

        請輸入評論內容...

        請輸入評論/評論長度6~500個字

        您提交的評論過于頻繁,請輸入驗證碼繼續

        暫無評論

        暫無評論

          人工智能 獵頭職位 更多
          掃碼關注公眾號
          OFweek人工智能網
          獲取更多精彩內容
          文章糾錯
          x
          *文字標題:
          *糾錯內容:
          聯系郵箱:
          *驗 證 碼:

          粵公網安備 44030502002758號

          主站蜘蛛池模板: www.youjizz日本| 久久久久亚洲AV色欲av| av大香蕉| 亚洲AV一卡| 啊片在线观看| 五十路熟妇| 衡阳县| 精品自拍偷拍| metart亚洲裸体中国| 国产成人做爰A片免费胖人| 日韩操逼网| jizzjizz亚洲| 超碰人人干| 国产成人亚洲日韩欧美婷婷亚片| 国产chinese男男网站| 亚洲日韩第9页| 欧美3p视频| 青州市| 影音先锋成人网| 91资源总站| 德州市| 色墦五月丁香| 亚洲?变态?欧美?另类?精品| 人妻精品视频| 成人三级精品| 97人妻在线| 永靖县| 日本中文字幕在线| 人妻熟女在线网址| 宜都市| 人妻白浆| www香蕉成人片com| 91在线视频| 波多野结衣AV一区| 一本色道久久综合亚洲精东小说| 国产麻豆天美果冻无码视频| 福利在线视频导航| 99人妻| 九一AV| 兰西县| 熟女中文字幕|