第一章 Java Web工作原理


一:在本章我們將學到如下的內容

》HTTP協議原理

》服務器端Web編程原理

》Servlet與Web容器

》Java Web應用程序的組成

》Tomcat介紹

 

一:1.1解析HTTP協議

HTTP:超文本傳輸協議(HyperText Transfer Protocol)

HTTP是一種無狀態的協議,意思是指在Web瀏覽器和Web服務器之間不需要建立持久的連接。

HTTP是遵循請求/響應(Request/Response)模型的。

HTTP處理流程:

 

 

1.1.1建立連接

在java底層代碼中是這樣實現的,子不過瀏覽器已經幫我們做了!

1.1.2 發送請求信息  一旦建立的TCP連接,Web瀏覽器就會向Web服務器發送請求命令。HTTP協議將請求封裝成HTTP請求,他包括請求行,請求頭,空行,消息體。

1.1.3 回送響應信息

1.1.4 關閉連接

 

1.2 Web服務器的缺陷;

只能向客戶端提供靜態網頁內容
增加一個輔助應用生成動態頁面 

輔助的在服務器端進行注冊,根據參數查找並運行。

1.3 服務器端網頁編程

建動態服務器端內容的過程
–CGI技術
–微軟的ASP和ASP.NET技術
–基於Java的Servlet/JSP技術
 
 
1)CGI技術
CGI即通用網關接口(Common Gateway Interface)
最大優點是它可以用Shell、Perl、C、PHP、Python等編寫  
但是CGI技術也有缺陷:

每次請求就打開一個CGI進程,嚴重消耗服務器資源。極大地限制了一個服務器可以支持的並發 CGI用戶數量 。

2)java的解決法案

 

    Web容器;

Web容器負責管理和運行Servlet
容器對Servlet的支持包括
–通信支持
–生命周期管理
–多線程支持
–JSP支持

-處理安全性

    Servlet

1:Servlet是常規的Java代碼。代碼中用了一些新的API,但是不涉及新的語法。

2:Servlet代碼中有我們不熟悉的重要語句。Servlet不屬於J2SE,它屬於單獨的規范。

3:Servlet對標准類(HttpServlet)進行了擴展。

4:Servlet沒有main()方法。

如:

 1 import javax.servlet.http.*;
 2 public class HelloWorld extends HttpServlet {
 3     public void doGet(HttpServletRequest request,HttpServletResponse response) throws IOException,ServletException{
 4         response.setContentType("text/html");
 5         PrintWriter out = response.getWriter();
 6         out.println("<html>");
 7         out.println("<head>");
 8         out.println("<title>Hello World!</title>");
 9         out.println("</head>");
10         out.println("<body>");
11         out.println("<h1>Hello World!</h1>");
12         out.println("</body>");
13         out.println("</html>");
14     }
15 }
View Code

 

Servlet主要任務

讀取客戶端發送的顯式和隱式數據
生成結果
向客戶端發送顯式數據(即文檔)和隱式數據(HTTP響應數據) 
 
Servlet規范;
規范只定義了一個容器必須實現的標准功能
Servlet容器有很多不同的實現
–Tomcat
–Jboss
–WebLogic
–WebSphere
–Oracle9i AS 
 
     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處理完請求后把要返回的信息放入response對象返回到客戶端。 

5)一旦Servlet完成了請求的處理,Web容器就會刷新response,把控制權返回給web服務器。

 

1.4 Java Web應用程序的組成

   

–配置文件
–靜態文件和JSP
–類文件和包 
 
 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM