JavaWeb - apache和tomcat是如何配合工作的


ref: https://jingyan.baidu.com/article/47a29f246f354ec0142399dc.html

網上有很多的介紹apache和tomcat的區別,但大部分都是介紹他們性能啊之類的區別,看了還是不懂,這里小編將從使用流程上介紹,雖然都是簡單的東西,但肯定能看懂就是了。

方法/步驟

 
  1. 1

    首先,用戶通過瀏覽器訪問一個網址,我們叫他URL,格式可能是:

    http://www.*********com/alspweb/form.html

    也可能是

    http://www.************.com/alspweb/form.jsp

    這樣子.

  2. 2

    這個請求會發送到WEB服務器上,而web服務器上搭建了web服務器軟件,就是apache了。所以,apache是一個web服務器軟件。

  3. 3

    apache發現請求的是一個靜態的web頁面,這個簡單啊,apache自己就可以處理。所以,apache獲取這個頁面。這個頁面在服務器上存儲的樣子類似於下圖所示

    apache和tomcat是如何配合工作的(簡單易懂)
  4. 4

    然后,apache將這個頁面放在HTTP響應的消息體中(可以理解是,apache將發送一個HTTP響應給瀏覽器,而這個頁面就粘貼在這個響應中一起帶過去了。你好像你郵寄了一封信,里面順便插入了一張HTML頁面一樣)

  5. 5

    瀏覽器收到了HTML頁面,OK,此時他還是一段代碼,然后解析成具體的頁面

    apache和tomcat是如何配合工作的(簡單易懂)
  6. 6

    那么問題來了,apache怎么知道你請求的是個靜態網頁呢?看名字嘍,你請求的是form.html,后綴名是.html,肯定是個靜態的啦,apache自己就處理了。

  7.  

    但是apache處理不了動態的網頁。比如,我訪問

    。。。。。。。。。。。。/form.jsp

    后綴名是.jsp,肯定是個動態的東西,apache說,這個我處理不了,需要找其他的軟件幫我處理。

  8.  

    找誰呢?就是tomcat,所以tomcat是一個容器,也可以叫應用服務器。tomcat本身也可以處理靜態網頁,所以tomcat是可以脫離apache自己單獨存在的,但是tomcat對靜態網頁處理的不好,所以往往和apache共同使用。

  9.  

    此時,apache直接將請求發送給tomcat,也就是請求

    http:/············································/alspweb/form.jsp的頁面。

  10.  

    tomcat說,這個我能干啊,於是找到了form.jsp的頁面

    apache和tomcat是如何配合工作的(簡單易懂)
  11.  

    其中,這一段代碼就是jsp寫的動態的東西了。小編這里寫的簡單,一般來說,會有一個請求發送到jsp頁面,jsp進行處理后再把結果寫入到網頁。正因為輸入的不同會得到不同的結果,也會生成不同的頁面,所以是個動態的頁面。動態的頁面就是說你在請求前這個頁面還不存在,請求后通過請求的參數才能得到最后的頁面。

    apache和tomcat是如何配合工作的(簡單易懂)
  12.  

    tomcat對jsp進行解析,然后把jsp的文件解析成一個靜態的html頁面,再把這個頁面交給了apahce

  13.  

    apache說,嘿這個是html,我可以處理啊,然后把這個html直接給到了瀏覽器了。

    apache和tomcat是如何配合工作的(簡單易懂)
  14.  

    我們通過瀏覽器看下源碼(右鍵->查看網頁的源代碼),可以看到,之前的<%  %>符號已經不見了

    apache和tomcat是如何配合工作的(簡單易懂)
  15.  

    所以,我們把apache叫為web服務器軟件,他只能處理靜態的頁面,動態的處理不了。而tomcat可以處理動態的,靜態的也能處理,但處理的沒有apache厲害。

  16.  

    你們可以自己試試,只搭建一個apche,然后在里面放一個.jsp頁面,直接訪問看看什么結果。


免責聲明!

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



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