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è)都沒有設(shè)置眼五,那么默認(rèn)值為ISO妆艘。
- import:導(dǎo)包,可以出現(xiàn)多次
- errorPage和isErrorPage
errorPage:當(dāng)前頁(yè)面如果拋出異常看幼,那么轉(zhuǎn)發(fā)到哪一個(gè)頁(yè)面批旺,由errorPage來指定
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瞎惫,不忽略失暴,即支持
- 基本沒有:
language:指定當(dāng)前jsp編譯后的語(yǔ)言類型,默認(rèn)是java微饥。
info:信息
isTHreadSafe:當(dāng)前的jsp是否支持并發(fā)訪問逗扒,默認(rèn)是false。
session:當(dāng)前頁(yè)面是否支持session欠橘,如果為false矩肩,那么當(dāng)前頁(yè)面就沒有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è)面的前綴殿怜,由自己來起名稱
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ù)器)來解釋執(zhí)行,它與java代碼一樣头谜,都是在服務(wù)器端執(zhí)行的
- html由瀏覽器來執(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>:它用來作為forward和include的子標(biāo)簽甲脏,用來給轉(zhuǎn)發(fā)或包含的頁(yè)面?zhèn)鬟f參數(shù)
Jsp中的配置
在\cong\context.xml中眶熬,添加reloadable=”true” 自動(dòng)加載tomcat(適合在開發(fā)階段使用)