北大青鳥課程講解之:JSP中的include的兩種用法

      通州北大青鳥學校學術部專家介紹北大青鳥課程:我們都知道在jsp中include有兩種形式,分別是
      <%@ include file=” ”%>
      <jsp:include page=” ” flush=”true”/>

      前者是指令元素、后者是行為元素。具體它們將在何處用?如何用及它們有什么區別?下面,通州北大青鳥學校學術部老師為大家講解:

      通常當應用程序中所有的頁面的某些部分(例如標題、頁腳和導航欄)都相同的時候,我們就可以考慮用include。具體在哪些時候 用<%@ include file=” ”%>,哪些時候用< jsp:include page=” ” flush=”true”/>.這種形式。首先要明白的是它們之間的區別。只有了解了它們用法的不同才 理解該在何時去用以及如何選擇。(北大青鳥課程)

      通州北大青鳥學校老師介紹:<%@ include file=” ”%>,jsp的include指令元素讀入指定頁面的內容。并把這些內容和原來的頁面融合到一起。(這個過程是在翻譯階段:也就是jsp被轉化成servlet的階段進行的。

      這里對翻譯階段進行一下說明:我們知道,jsp頁面不能原封不動地被傳送給瀏覽器,所有的jsp元素都必須首先由服務器進行處理。這是通過將jsp頁面轉達化成servlet,然后執行這個servlet來完成的。服務器需要一個jsp容器來處理jsp頁面。jsp容器通常以servlet的形式來實現,這個servlet經過配置,可以處理對jsp頁面的所有請求。(北大青鳥課程

      Jsp容器負責將jsp頁面轉化成servlet(稱為jsp頁面實現類?JSP Page implementation class),并編譯這個servlet。這兩步就構成了翻譯階段。(北大青鳥課程)

      由此我們就會知道:jsp頁面是把include指令元素所指定的頁面的實際內容(也就是代碼段)加入到引入它的jsp頁面中,合成一個文件后被jsp容器將它轉化成servlet?梢钥吹竭@時會產生一個臨時class文件和一個java文件。下面舉個例子。(北大青鳥課程)

      服務器用tomcat,引入頁面的jsp文件叫test.jsp。被引入的頁面叫date.jsp.這個jsp文件里存放的是一個有關時間的jsp代碼,當前的上下文根設為test
      //======date.jsp的源文件=====//
      <%@ page language=”java” contentType="text/html;charset=gb2312"%>
      <%
      java.util.Date date=new java.util.Date();
      String date_cn ="";
      String dateStr = "";
      switch(date.getDay())
      {
      case 0:date_cn ="日"; break;
      case 1:date_cn ="一"; break;
      case 2:date_cn ="二"; break;
      case 3:date_cn ="三"; break;
      case 4:date_cn ="四"; break;
      case 5:date_cn ="五"; break;
      case 6:date_cn ="六"; break;
      }
      dateStr = (1900+date.getYear()) + "年" + (date.getMonth()+1) + "月" + date.getDate() + "日(星期" + date_cn + ")";(北大青鳥課程)
      %>
      document.write("<%=dateStr%>");

      //======以下是test.jsp的源文件=============//
      <%@ page language=”java” contentType=”text/html;charset=gb2312”%>
      <html>
      <head>
      <title>include的兩種用法</title>
      <jsp:include page=”date.jsp” flush=”true”/>
      <%--@ include file=”date.jsp” %-->
      //我們在這里用include的兩種不同形式來引入date.jsp這個文件.
      <head>
      <body>
      <table><tr><td>
      有關jsp中include的兩種用法.敬請關注。
      </td></tr></table>
      </body>
      </html>
      北大青鳥課程
      test.jsp 文件中,我們只輸出了一行文本“ 有關jsp中include的兩種用法.敬請關注。”,現在讓我們先 用<%@ include file=”date.jsp” %>這種形式引入date.jsp這個文件。你想會出現什么問題了嗎?此時出現 了錯誤提示:
      HTTP Status 500 ?
      org.apache.jasper.JasperException: /date.jsp(0,0) Page directive: can't have multiple occurrences of contentType

      以下還有一堆錯誤,但我們只要看這里就知道問題的所在了。狀態碼為http 500服務器內部錯誤。再看下面的提示。在date.jsp頁面中不能指定多個contentType.原因就在這里了。是因為在翻譯階段,date.jsp文件的代碼被原封不動地加入到了test.jsp頁面從而合成一個文件。合成后的文件中就會相同的:
      <%@ page language=”java” contentType=”text/html;charset=gb2312”%>
      這句代碼。解決的辦法是把date.jsp文件中的這句刪掉。刷新后再請求test.jsp頁面。(北大青鳥課程)

      以上內容由北大青鳥學校學術部老師提供

      北大青鳥網上報名
      北大青鳥招生簡章
      主站蜘蛛池模板: 亚洲爆乳精品无码一区二区三区| A国产一区二区免费入口| 搜日本一区二区三区免费高清视频 | 一区二区三区在线观看免费| 99在线精品一区二区三区| 中文日韩字幕一区在线观看| 国产一区二区三区视频在线观看| 久久中文字幕一区二区| 国产午夜精品免费一区二区三区| 一区二区三区精品高清视频免费在线播放 | 久久国产精品无码一区二区三区 | 一区二区国产精品| 蜜桃视频一区二区| 韩国福利视频一区二区| 波多野结衣AV一区二区三区中文 | 亚洲乱色熟女一区二区三区丝袜| 福利视频一区二区牛牛| 亚州国产AV一区二区三区伊在| 国产精品亚洲综合一区在线观看| 亚洲国产成人久久一区二区三区| 亚洲欧美一区二区三区日产| 久久亚洲日韩精品一区二区三区| 亚洲av日韩综合一区在线观看| 国产suv精品一区二区33| 亚洲AV综合色一区二区三区| 久久精品国产第一区二区三区| 91在线一区二区| 无码精品尤物一区二区三区| 亚洲国产欧美日韩精品一区二区三区| 一区二区三区无码被窝影院| 成人在线观看一区| 高清一区二区三区| 国产一区二区三区久久| 人妻少妇久久中文字幕一区二区 | 国产免费一区二区三区不卡| 免费av一区二区三区| 中文字幕精品一区二区2021年 | 日本精品少妇一区二区三区 | 中文字幕AV无码一区二区三区| 亚洲A∨精品一区二区三区下载| 国产伦精品一区二区三区视频小说|