JSP常規使用

<%@ page info="a hello world example" %> 這句話沒什麼大用,只是簡要的說明一下這段代碼的作用。而且這是jsp標籤需要下載html上面


<%@ include file="dukebanner.html" %>   是表示包含本地的一個html 或者jsp 文件. html表示包含靜態頁面。

包含jsp表示動態頁面。

- 首先,<%@include file="abc.jsp" %> 這個是include directive
如果,你選用這個include,那麼意味着,abc.jsp裏的所有Java,HTML代碼原封不動的都被複制粘貼到當前的文件。和你手動複製粘貼效果是一樣。這個的作用就是省了複製粘貼的功夫了。當訪問index.jsp的時候,這個request(請求),是一次性完成。

- 其次,
<jsp:include page="abc.jsp" flush="true">
  <jsp:param name="name" value="abc" />
</jsp:include>
這個是include action, 或叫include tag。當你使用這個的時候,意味着你訪問abc.jsp,然後把abc.jsp輸出的HTML(注意,和在IE裏看到的HTML是一樣)全部放到你include的位置。當訪問index.jsp的時候,這個request(請求),是用戶先請求index.jsp,然後服務器再自動請求abc.jsp,合成最終的index.jsp,然後response(迴應)給客戶端。

- 二者比較:
1. 二者一個是直接包含原代碼,一個是包含請求出的HTML。
2. 用<jsp:include>的話,如果abc.jsp裏有response.redirect("")或者response.addCookie("")等等關於response的操作,都回被忽視。也就是說用戶不回被送到另一個頁面。
   但此時用<%@include>的話,abc.jsp裏所有動response的操作都會正常運行。
3. 用<jsp:include>因爲它是向abc.jsp發送一個請求,所以請求可包含<jsp:param>,就是parameter(參數)。
   若用<%@include>,就不可以加參數。
4. 速度上,<%@include>會快一些,因爲他只是處理一個請求。而<jsp:include>是處理兩個請求,所以慢一點。
5. <jsp:include page="http://www.google.com/search?q=abc" />這樣都可以,相當於把有HTML包含。
   但在<%@include file="abc.jsp" />中,只可以包含你自己網站裏的原始代碼,也就是說abc.jsp必須存在,若不存在,會出現Compilation Error(編譯錯誤)。
6. 使用上<%@include>比較常用,一般用於檢測用戶是否登陸,或者網站的LOGO,網站的一些靜態不變的信息。
   <jsp:include>一般用於發送一個請求,並接受所迴應的HTML。可以加入Parameter(參數)。

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