常見的Java Servlet問題

這篇文章優銳課來回答你的Java servlet問題...

一、什麼是 Servlet?

Java servlet是服務器組件,其中serv表示服務器,let表示組件。 Servlet是一個Java文件,用於接收來自客戶端的請求,處理該請求並生成指向該客戶端的HTML頁面。

image.png


二、爲什麼需要Servlet

Servlet是使用Java創建動態數據驅動的Web應用程序的基本基礎單元。現在,出現了一個問題:爲什麼我們甚至需要動態Web應用程序?在當今世界,內容是由用戶驅動的,並根據用戶設置進行顯示。網站還將數據存儲在後端。靜態網站的功能有限。如今,幾乎每個網站都是數據驅動的,除非它是公司簡介。這些網站的一些常見示例是AmazonFacebookeBay

image.png


三、爲什麼Servlet沒有Main() 它是如何工作的?

如果你已經用Java創建了一個基本程序,那麼你必須知道每個Java程序都有一個main() 方法,這是該程序的起點。那麼,servlet爲什麼沒有main() ?這是因爲servlet是通過Web容器使用的。當客戶端請求Servlet時,服務器會將請求移交給部署ServletWeb容器。

image.png


四、爲什麼我們使用Web容器?

爲什麼我們需要Web容器?使用Web容器不是額外的開銷嗎? 並不是的。Web容器是一種部署Web組件的方法。容器運行自己的容器,並提供Servlet需要運行的所有資源和支持。Web容器還具有其他一些好處,包括部署和維護。


五、我們如何翻譯JSP

servlet中,我們用HTML編寫Java代碼,但是JSP允許我們用HTML編寫Java代碼。JSP允許輕鬆開發網頁,並允許Web設計人員和Web開發人員獨立工作。所有JSP頁面都被翻譯成servlet,並且Web容器負責將JSP翻譯成servlet

image.png


六、什麼是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時,我們可以藉助servletservlet映射標記將請求映射到servlet<servlet-name> 用於將 <servlet> <servlet-mapping>映射。在此示例中,我們將 <servlet-name> 作爲FilterFirstServlet(在<servlet><servlet-mapping>中),它將映射<servlet> <servlet-mapping>。在<servlet-class>中,我們指定一個完全限定的類名。在<url-paatern>中,我們指定客戶端可以通過其調用servletURL。我們可以在<url-paatern>中使用通配符。


希望這些概念對你有幫助。


學習愉快!


歡迎留言或私信深入探討~

抽絲剝繭 細說架構那些事——【優銳課】


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章