Day10_22——Jsp的三大指令和動(dòng)作標(biāo)簽

JSP三大指令

一個(gè)jsp頁(yè)面中,可以有0~N個(gè)指令的定義
1、page --> 最復(fù)雜:<%@page language=”java” info=”xxx” ...%>

  • pageEncoding和contentType:

pageEncoding它指定當(dāng)前jsp頁(yè)面的編碼,只要和項(xiàng)目編碼相同,就不會(huì)有亂碼。在服務(wù)器要把jsp編譯成.java文件時(shí)需要使用pageEncoding
contentTyoe:它表示添加一個(gè)響應(yīng)頭:Content-Type。
等同于response.setContentType(“text/html;charset=utf-8”);
如果兩個(gè)屬性只提供一個(gè),那么另一個(gè)的默認(rèn)值為設(shè)置的那一個(gè)。
如果兩個(gè)都沒(méi)有設(shè)置,那么默認(rèn)值為ISO。

  • import:導(dǎo)包,可以出現(xiàn)多次
  • errorPage和isErrorPage

errorPage:當(dāng)前頁(yè)面如果拋出異常,那么轉(zhuǎn)發(fā)到哪一個(gè)頁(yè)面,由errorPage來(lái)指定
isErrorPage:它指定當(dāng)前頁(yè)面是否為處理錯(cuò)誤的頁(yè)面,當(dāng)該屬性為true時(shí),這個(gè)頁(yè)面會(huì)設(shè)置狀態(tài)碼為500,而且這個(gè)頁(yè)面可以使用9大內(nèi)置對(duì)象中的 exception

  <error-page>
    <error-code>404</error-code>
    <location>/errorPage/errorPage.jsp</location>
  </error-page>
  <error-page>
    <error-code>500</error-code>
    <location>/errorPage/errorPage.jsp</location>
  </error-page>
  <error-page>
    <exception-type>java.lang.RuntimeException</exception-type>
    <location>/errorPage/errorPage.jsp</location>
</error-page>
  • autoFlush和buffer

autoFlush:指定jsp的輸出流緩沖區(qū)滿時(shí),是否自動(dòng)刷新!默認(rèn)時(shí)true,如果為false,那么在緩沖區(qū)滿時(shí)就會(huì)拋出異常
buffer:指定緩沖區(qū)大小,默認(rèn)為8kb,通常不需要修改

  • isELIgnored:是否忽略el表達(dá)式,默認(rèn)為false,不忽略,即支持
  • 基本沒(méi)有:

language:指定當(dāng)前jsp編譯后的語(yǔ)言類型,默認(rèn)是java。
info:信息
isTHreadSafe:當(dāng)前的jsp是否支持并發(fā)訪問(wèn),默認(rèn)是false。
session:當(dāng)前頁(yè)面是否支持session,如果為false,那么當(dāng)前頁(yè)面就沒(méi)有session這個(gè)內(nèi)置對(duì)象
extends:讓jsp生成的servlet去繼承該屬性的指定的類
2、include --> 靜態(tài)包含

  • 與RequestDispatcher的include()方法的功能相似
  • <%@include%> 它是在Java編譯成java文件時(shí)完成的,它們共同生成一個(gè)java文件,讓后在共同生成一個(gè)class文件
  • RequestDispatcher的include()是一個(gè)方法,包含和被包含的是兩個(gè)Servlet,即兩個(gè).class,它們只是把響應(yīng)的內(nèi)容給合并了
  • 作用:把頁(yè)面分解了,使用包含的方式組合在一起,這樣一個(gè)頁(yè)面中不變的部分,就是一個(gè)獨(dú)立的jsp,而我們只需要處理變化的頁(yè)面。
    3、taglib --> 導(dǎo)入標(biāo)簽庫(kù)
  • 兩個(gè)屬性:
    prefix:指定標(biāo)簽庫(kù)在本頁(yè)面的前綴,由自己來(lái)起名稱
    uri:指定標(biāo)簽庫(kù)的位置
    <%@taglib prefix=”s” uri=”/ddddd”%> <s:text>

JSP的動(dòng)作標(biāo)簽

這些jsp的動(dòng)作標(biāo)簽,與html提供的標(biāo)簽有本質(zhì)的區(qū)別

  • 動(dòng)作標(biāo)簽是由tomcat(服務(wù)器)來(lái)解釋執(zhí)行,它與java代碼一樣,都是在服務(wù)器端執(zhí)行的
  • html由瀏覽器來(lái)執(zhí)行
  • <jsp:forward>:轉(zhuǎn)發(fā)!它與RequestDispatcher的forward方法是一樣的,一個(gè)是在Servlet中使用,一個(gè)是在jsp中使用
  • <jsp:include>:包含!它與RequestDispatcher的include方法是一樣的,一個(gè)是在Servlet中使用,一個(gè)是在jsp中使用

<%@include%>和<jsp:include>有什么不同?——前者是真正的合并,而后者相當(dāng)于調(diào)用。

  • <jsp:param>:它用來(lái)作為forward和include的子標(biāo)簽,用來(lái)給轉(zhuǎn)發(fā)或包含的頁(yè)面?zhèn)鬟f參數(shù)

Jsp中的配置

在\cong\context.xml中,添加reloadable=”true” 自動(dòng)加載tomcat(適合在開發(fā)階段使用)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • JSP總結(jié)(經(jīng)典) day1 JSP 定義: 1)Java Server Page, Java EE 組件,本...
    java日記閱讀 3,500評(píng)論 0 13
  • JSP內(nèi)置對(duì)象、指令和動(dòng)作 一、內(nèi)置對(duì)象 在 JSP 的 Java 代碼塊、表達(dá)式塊等中可以直接使用的引用,稱為 ...
    我可能是個(gè)假開發(fā)閱讀 880評(píng)論 1 5
  • Jsp技術(shù)總結(jié) 1. 什么是JSP JSP即Java Server Pages,它和servlet技術(shù)一樣...
    java日記閱讀 1,689評(píng)論 0 18
  • IOC 控制反轉(zhuǎn)容器控制程序?qū)ο笾g的關(guān)系,而不是傳統(tǒng)實(shí)現(xiàn)中,有程序代碼之間控制,又名依賴注入。All 類的創(chuàng)建,...
    irckwk1閱讀 970評(píng)論 0 0
  • 1.學(xué)習(xí)內(nèi)容 JSP技術(shù)入門和常用指令 JSP的內(nèi)置對(duì)象&標(biāo)簽介紹 EL表達(dá)式&EL的內(nèi)置對(duì)象 2.JSP技術(shù)入門...
    WendyVIV閱讀 2,161評(píng)論 1 18