問題之 “JSP 與 Servlet比較”

來源:互聯網
上載者:User

      這是我今天期末複習Web編程碰到的一個問題和隨之爆炸出來其他問題,自己雖然對這些JAVA,JSP等的語言只是處於瞭解的基礎之上,但提出的問題自己剛好也能夠自圓其說。可能很多不對,時間有限,還要完成實驗報告,先放在這裡一下,過後等找到答案後再來訂正。過路的朋友如有瞭解這些方面知識的朋友不妨支支招,感激不盡!

      元問題來自JSP與Servlet的比較。
      我們知道Servlet能夠使得JAVA代碼不用像Applet那樣在客戶瀏覽器中運行,它會在你控制的一個應用伺服器上運行。在沒有什麼背景知識的前提下我預設這是一種規則,即Servlet就是這樣發展起來的。在實際應用中當我們請求一個JSP頁面的時候,JSP首先被轉化為Servlet,然後再進行編譯,執行,最後將結果返回給瀏覽器。

問題一: 那麼既然是這樣,也就是說先有JSP後有Servlet,那麼為何要把它們拿到一些來進行比較呢?是我這種"先有JSP後有Servlet"的認為有錯嗎?

自己這樣認為:
不一定是先有JSP後才有Servlet的,因為同是一種語言,JSP只是在HTML中“封裝”了JAVA 語言,JSP 標籤。而Servlet 是在JAVA 中“封裝”了JSP標籤,HTML標籤。因此它們是平等的。我們可以直接編寫Servlet,當然我們也可以直接編寫JSP羅。

問題二:為什麼要把JSP先交給伺服器進行處理?

自己這樣認為:
1.因為JSP是一種伺服器端嵌入了JAVA代碼的指令碼語言因為JAVA代碼是不能沒有JVM的條件下編譯,執行,再啟動並執行。所以要將處理JAVA代碼的這一步交給能夠處理JAVA代碼的伺服器來進行處理。
2.因為JSP頁面中包含有JSP標籤,JAVA代碼,HTML代碼。其中JSP標籤,JAVA代碼是不能夠被瀏覽器解釋執行的。因此必須通過某種手段將它轉變成瀏覽器能夠理解的代碼。

問題三:將JSP頁面交給伺服器進行處理也就罷了,但為什麼不是直接進行處理而是先將其轉為Servlet呢?
 

自己這樣認為:
因為JSP頁面中包含有JSP標籤,JAVA代碼,HTML代碼。我們的目的是要得到瀏覽器能夠理解的代碼,所以為了把它們進行統一處理必須把它們變成一致的格式,即另外一種語言---Servlet。

引出的一個新問題
那到底瀏覽器能夠理解哪些代碼呢?我又作如下想法:
最開始的時候,瀏覽器是只能夠理解HTML的,隨著時間的推移人們對WEB頁面的要求逐漸層高,以往的靜態頁面慢慢的過渡到動態網頁面。因此瀏覽器不得不努力健身以承擔更為艱巨的翻譯任務。所以慢慢的就開始支援 VBscript,Javascript等指令碼語言了。並且又因為要常常支援一下動態頁面效果如FLASH等,所以就必須得需要一些額外的控制項了。

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.