這篇文章優銳課來回答你的Java servlet問題...
一、什麼是 Servlet?
Java servlet是服務器組件,其中serv表示服務器,let表示組件。 Servlet是一個Java文件,用於接收來自客戶端的請求,處理該請求並生成指向該客戶端的HTML頁面。
二、爲什麼需要Servlet?
Servlet是使用Java創建動態數據驅動的Web應用程序的基本基礎單元。現在,出現了一個問題:爲什麼我們甚至需要動態Web應用程序?在當今世界,內容是由用戶驅動的,並根據用戶設置進行顯示。網站還將數據存儲在後端。靜態網站的功能有限。如今,幾乎每個網站都是數據驅動的,除非它是公司簡介。這些網站的一些常見示例是Amazon,Facebook和eBay。
三、爲什麼Servlet沒有Main()? 它是如何工作的?
如果你已經用Java創建了一個基本程序,那麼你必須知道每個Java程序都有一個main() 方法,這是該程序的起點。那麼,servlet爲什麼沒有main() ?這是因爲servlet是通過Web容器使用的。當客戶端請求Servlet時,服務器會將請求移交給部署Servlet的Web容器。
四、爲什麼我們使用Web容器?
爲什麼我們需要Web容器?使用Web容器不是額外的開銷嗎? 並不是的。Web容器是一種部署Web組件的方法。容器運行自己的容器,並提供Servlet需要運行的所有資源和支持。Web容器還具有其他一些好處,包括部署和維護。
五、我們如何翻譯JSP?
在servlet中,我們用HTML編寫Java代碼,但是JSP允許我們用HTML編寫Java代碼。JSP允許輕鬆開發網頁,並允許Web設計人員和Web開發人員獨立工作。所有JSP頁面都被翻譯成servlet,並且Web容器負責將JSP翻譯成servlet。
六、什麼是Servlet生命週期?
當用戶請求Servlet時,Web容器將檢查Servlet實例是否可用。 如果不是,則Web容器將實例化Servlet的新實例。如果已經創建了實例,則Web容器將創建該實例的新線程。如果Web容器長期未收到對Servlet的請求(在Web容器中指定),則Web容器將銷燬Servlet的實例。
專注於業務邏輯
你可以將Web容器視爲你的應用程序助手,它將代表你執行所有必要的額外工作。Web容器使你可以通過構建服務器套接字,偵聽端口並執行所有基礎服務來專注於業務邏輯。
提供安全
你可以將Web容器視爲Servlet的守護者。Web容器控件的可訪問性權限,例如用戶訪問文件或網絡。
七、Web容器如何構建頁面?
當我們在Web容器中部署servlet時,它被簡單地轉換爲XML文檔,這稱爲部署描述符(web.xml),這將使我們能夠將特定的servlet映射到用戶請求(URL pattern)。讓我們來看一個簡單的例子。
<servlet>
<servlet-name>FilterFirstServlet</servlet-name>
<servlet-class>Filter.FilterFirstServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>FilterFirstServlet</servlet-name>
<url-pattern>/FilterFirstServlet</url-pattern>
</servlet-mapping>
當用戶請求servlet時,我們可以藉助servlet和servlet映射標記將請求映射到servlet。<servlet-name>
用於將 <servlet>
與<servlet-mapping>
映射。在此示例中,我們將 <servlet-name>
作爲FilterFirstServlet
(在<servlet>
和<servlet-mapping>
中),它將映射<servlet>
和 <servlet-mapping>
。在<servlet-class>
中,我們指定一個完全限定的類名。在<url-paatern>
中,我們指定客戶端可以通過其調用servlet的URL。我們可以在<url-paatern>
中使用通配符。
希望這些概念對你有幫助。
學習愉快!
歡迎留言或私信深入探討~
抽絲剝繭 細說架構那些事——【優銳課】