Java Web 的工作原理


Java Web 的工作原理

爪哇

解析 HTTP 協議

什麼是 HTTP 協議
HTTP 遵循請求/響應模型
HTTP協議是無狀態協議

重要性:
要真正了解 Web 的工作原理,您需要完全了解 HTTP 協議。

網絡服務器漏洞

服務器端網絡編程

構建服務器端動態內容的過程
CG技術
微軟的 ASP 和 ASP.NET 技術
基於Java的servlet/JSP技術

解決方案 CGI

網絡容器
Web 容器負責管理和運行 servlet。
Servlet 容器支持包括:
通訊支持
生命週期管理
多線程支持
JSP 支持
處理安全

Web 容器主要用於為容器內的應用程序組件(servlet、JSP)提供環境。這允許 servlet 和 JSP 直接與容器內的環境變量進行交互。這樣,您可以專注於使用 servlet 實現業務邏輯,而不是其他系統問題。

Servlet 概述

導入 javax.servlet.http.*;
公共類 HelloWorld 擴展 HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException,ServletException{
response.setContentType(“text/html”);
PrintWriter out = response.getWriter();
out.println(““);
out.println(“<ヘッド>“);
out.println(“<タイトル>你好世界!“);
out.println(“”);
out.println(“<本文>“);
out.println(“

你好世界!

”);
out.println(“ ”);
out.println(““);
}
}

1:Servlet 是常規的 Java 代碼。該代碼使用了一些新的 API,但不包含新的語法。
2:您的 servlet 代碼中有一個您可能不熟悉的重要語句。 Servlet 是一個單獨的規範,不是 J2SE 的一部分。
3:Servlets擴展了一個標準類(HttpServlet)。
4:Servlet 沒有 main() 方法。

Servlet的主要任務

讀取客戶端發送的顯式和隱式數據
產生結果
向客戶端發送顯式數據(如文檔)和隱式數據(HTTP 響應數據)

Servlet 規範

規範只定義了容器必須實現的標準特性
Servlet 容器有不同的實現
雄貓
老闆
網絡邏輯
韋伯
Oracle9iAS

Servlet 與 Web 容器一起處理請求和響應
1) 客戶端向 Web 服務器發起 HTTP 請求。

2)HTTP請求被web服務器接受,如果請求是靜態頁面,則web服務器負責處理。如果請求是Java web組件(servlet或JSP),則將請求傳遞給web容器. Web 容器可以在主機上的同一進程中啟動,也可以在不同進程中啟動,也可以在不同 Web 服務主機的進程中啟動。

3)web容器根據servlet配置文件確定要調用的具體servlet類,並將request和response對像傳遞給它。

4)servlet通過request對象知道客戶端的用戶是誰,客戶端的請求信息等信息。 servlet 處理完請求後,將返回的信息放入一個響應對像中,返回給客戶端。

5) 當 servlet 處理完請求後,Web 容器更新響應並將控制權返回給 Web 服務器。

Java Web 應用程序組件
該規範指出,Java Web 應用程序主要由以下部分組成:
配置文件
靜態文件和 JSP
類文件和包

介紹Tomcat

來自 Apache Software Foundation Jakarta 項目
滿足 servlet 和 JSP 規範要求
可單獨用作 Web 服務器
也是 Servlet 和 JSP 的容器
Tomcat目錄結構概述

網絡應用發布

使應用程序目錄成為一個war包
部署
配置 server.xml 文件
配置 web.xml 文件