大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

JSP教程
JSP高級(jí)教程

JSP page指令

JSP page 指令是頁(yè)面指令,可以定義在整個(gè) JSP 頁(yè)面范圍有效的屬性和相關(guān)的功能。利用 page 指令,可以指定腳本語(yǔ)言,導(dǎo)入需要的類(lèi),指明輸出內(nèi)容的類(lèi)型,指定處理異常的錯(cuò)誤頁(yè)面,以及指定頁(yè)面輸出緩存的大小,還可以一次設(shè)置多個(gè)屬性。

page 指令的屬性如下:

<%@ page
[language="java"]
[contentType="mimeType[ ;charset=CHARSET ]"]
[import="{package.class|package.*},..."]
[info="text"]
[extends="package.class"]
[session="true|false"]
[errorPage="relativeURL"]
[isThreadSafe="true|false"]
[buffer="none|8kb|size kb"]
[autoFlush="true|false"]
[isThreadSafe="true|false"]
[isELIgnored="true|false"]
[page Encoding="CHARSET"]
%>

提示:

語(yǔ)法格式說(shuō)明中的“[”和“]”符號(hào)括起來(lái)的內(nèi)容表示可選項(xiàng)。

可以在一個(gè)頁(yè)面上使用多個(gè) page 指令,其中的屬性只能使用一次(import 屬性除外)。

JSP page 指令將使用這些屬性的默認(rèn)值來(lái)設(shè)置 JSP 頁(yè)面,下面介紹 page 指令的 13 個(gè)屬性。

1、language 屬性:設(shè)置當(dāng)前頁(yè)面中編寫(xiě) JSP 腳本所使用的語(yǔ)言,默認(rèn)值為 java。

例如:

<%@ page language="java" %>

目前只可以使用 Java 語(yǔ)言。

2、contenType 屬性:設(shè)置發(fā)送到客戶(hù)端文檔響應(yīng)報(bào)頭的 MIME(Multipurpose Internet MailExtention)類(lèi)型和字符編碼,多個(gè)值之間用“;”分開(kāi)。contenType 的用法如下:

<%@ page contenType="MIME 類(lèi)型; charset=字符編碼" %>

MIME 類(lèi)型被設(shè)置為 text/html,如果該屬性設(shè)置不正確,如設(shè)置為 text/css,則客戶(hù)端瀏覽器顯示 HTML 樣式時(shí),不能對(duì) HTML 標(biāo)識(shí)進(jìn)行解釋?zhuān)苯语@示 HTML 代碼。

在 JSP 頁(yè)面中,默認(rèn)情況下設(shè)置的字符編碼為 ISO-8859-1,即 contentType="text/html;charset=ISO-8859-1"。但一般情況下,應(yīng)該將該屬性設(shè)置為

contentType="text/html;charset=utf-8"

此處設(shè)置 MIME 類(lèi)型為 text/html,網(wǎng)頁(yè)所用字符集為 utf-8。

3、import 屬性:用來(lái)導(dǎo)入程序中要用到的包或類(lèi),可以有多個(gè)值,無(wú)論是 Java 核心包中自帶的類(lèi)還是用戶(hù)自行編寫(xiě)的類(lèi),都要在 import 中引入。import 屬性的用法如下:

<%@ page import="包名.類(lèi)名" %>

如果想要導(dǎo)入包里的全部類(lèi),可以這樣使用:

<%@ page import="包名.*" %>

在 JSP page 指令中,可多次使用該屬性來(lái)導(dǎo)入多個(gè)類(lèi)。例如:

<%@ page import="包名.類(lèi)1" %> <%@ page import="包名.類(lèi)2" %>

或者通過(guò)逗號(hào)間隔來(lái)導(dǎo)入多個(gè)類(lèi):

<%@ page import="包名.類(lèi)1,包名.類(lèi)2" %>

在 JSP 中,已經(jīng)默認(rèn)導(dǎo)入了以下包:

java.lang.*
javax.servlet.*
javax.servlet.jsp.*
javax.servlet.http.*

所以,即使沒(méi)有用 import 屬性進(jìn)行導(dǎo)入,在 JSP 頁(yè)面中也可以調(diào)用上述包中的類(lèi)。

【例1】顯示歡迎信息和用戶(hù)登錄的日期時(shí)間。

本例通過(guò)導(dǎo)入 java.util.Date 類(lèi)來(lái)顯示當(dāng)前的日期時(shí)間。具體步驟如下。

① 使用 page 指令的 import 屬性將 java.util.Date 類(lèi)導(dǎo)入,然后向用戶(hù)顯示歡迎信息,并把當(dāng)前日期時(shí)間顯示出來(lái)。具體代碼如下:

<%@ page import="java.util.Date" language="java" contentType="text/html;charset=utf-8"%>
<html>
<body>
您好,歡迎光臨動(dòng)力節(jié)點(diǎn)Java學(xué)院!<br/>
您登錄的時(shí)間是<%=new Date()  %>
</body>
</html>

② 運(yùn)行該頁(yè)面,結(jié)果如圖 1 所示。

圖1 顯示歡迎信息和用戶(hù)登錄的日期時(shí)間

4、info 屬性:設(shè)置 JSP 頁(yè)面的相關(guān)信息,如當(dāng)前頁(yè)面的作者、編寫(xiě)時(shí)間等。此值可設(shè)置為任意字符串,由 Servlet.getServletInfo() 方法來(lái)獲取所設(shè)置的值。

【例2】設(shè)置并顯示 JSP 頁(yè)面的作者等相關(guān)信息。

本例通過(guò) page 指令的 info 屬性來(lái)設(shè)置頁(yè)面的相關(guān)信息,通過(guò) Servlet.getServletInfo() 方法來(lái)獲取所設(shè)置的值,具體步驟如下。

① 使用 page 指令的 info 屬性設(shè)置頁(yè)面的作者、版本以及編寫(xiě)時(shí)間等。具體代碼如下:

<%@ page import="java.util.Date" language="java" contentType="text/html;charset=utf-8"%>
<%@ page info="作者:m.dabaquan.cn <br/> 版本: v1.0 <br/> 編寫(xiě)時(shí)間:2018年11月21 星期三 <br/> 敬請(qǐng)關(guān)注, 謝謝!"%>
<html>
<body>
<%
String str=this.getServletInfo();
out.print (str) ;
%>
</body>
<html>

② 運(yùn)行該頁(yè)面,結(jié)果如圖 2 所示。

圖2 設(shè)置并顯示JSP頁(yè)面的作者相關(guān)信息

5、extends 屬性:指定將 JSP 頁(yè)面轉(zhuǎn)換為 Servlet 后繼承的類(lèi)。在 JSP 中,通常不會(huì)設(shè)置該屬性,JSP 容器會(huì)提供繼承的父類(lèi)。并且,如果設(shè)置了該屬性,一些改動(dòng)會(huì)影響 JSP 的編譯能力。

6、session 屬性:表示當(dāng)前頁(yè)面是否支持 session,如果為 false,則在 JSP 頁(yè)面中不能使用 session 對(duì)象以及 scope=session 的 JavaBean 或 EJB。該屬性的默認(rèn)值為 true。

7、errorPage 屬性:用于指定JSP文件的相對(duì)路徑,在頁(yè)面出錯(cuò)時(shí),將轉(zhuǎn)到這個(gè) JSP 文件來(lái)進(jìn)行處理。與此相適應(yīng),需要將這個(gè) JSP 文件的 isErrorPage 屬性設(shè)為 true。

設(shè)置 errorPage 屬性后,JSP 網(wǎng)頁(yè)中的異常仍然會(huì)產(chǎn)生,只不過(guò)此時(shí)捕捉到的異常將不由當(dāng)前網(wǎng)頁(yè)進(jìn)行處理,而是由 errorPage 屬性所指定的網(wǎng)頁(yè)進(jìn)行處理。如果該屬性值設(shè)置為以“/”開(kāi)頭的路徑,則錯(cuò)誤處理頁(yè)面在當(dāng)前應(yīng)用程序的根目錄下;否則在當(dāng)前頁(yè)面所在的目錄下。

8、isErrorPage 屬性:指示一個(gè)頁(yè)面是否為錯(cuò)誤處理頁(yè)面。設(shè)置為 true 時(shí),在這個(gè) JSP 頁(yè)面中的內(nèi)置對(duì)象 exception 將被定義,其值將被設(shè)定為調(diào)用此頁(yè)面的 JSP 頁(yè)面的錯(cuò)誤對(duì)象,以處理該頁(yè)面所產(chǎn)生的錯(cuò)誤。

isErrorPage 屬性的默認(rèn)值為 false,此時(shí)不能使用內(nèi)置對(duì)象 exception 來(lái)處理異常,否則將產(chǎn)生編譯錯(cuò)誤。

例如,在發(fā)生異常的頁(yè)面上有如下用法:

<%@ page errorPage="error.jsp" %>

用上面的代碼,就可以指明當(dāng)該 JSP 頁(yè)面出現(xiàn)異常時(shí),跳轉(zhuǎn)到 error.jsp 去處理異常。而在 error.jsp 中,需要使用下面的語(yǔ)句來(lái)說(shuō)明可以進(jìn)行錯(cuò)誤處理:

<%@ page isErrorPage="true" %>

【例3】頁(yè)面出現(xiàn)異常的處理。

本例通過(guò) page 指令的 errorPage 和 isErrorPage 兩個(gè)屬性來(lái)演示當(dāng)頁(yè)面出現(xiàn)異常時(shí)應(yīng)如何處理。具體步驟如下。

① 創(chuàng)建 2-18.jsp 頁(yè)面,使用 page 指令的 errorPage 屬性指定頁(yè)面出現(xiàn)異常時(shí)所轉(zhuǎn)向的頁(yè)面。具體代碼如下:

<%@ page contentType="text/html; charset=utf-8" errorPage="2-18error.jsp" %>
<html>
<body>
<%
//此頁(yè)面如果發(fā)生異常,將向2-18error.jsp拋出異常,并令其進(jìn)行處理
int x1=5;
int x2=0;
int x3=x1/x2;
out .print (x3);
%>
</body>
</html>

該程序執(zhí)行的是除法運(yùn)算,如果除數(shù)為 0,將會(huì)拋出一個(gè)數(shù)學(xué)運(yùn)算異常,從 errorPage="2-18error.jsp" 可以看出,程序指定 2-18error.jsp 為其處理異常。

② 創(chuàng)建 2-18error.jsp 頁(yè)面,使用 page 指令的 isErrorPage 屬性指定為出錯(cuò)頁(yè)面,此頁(yè)面可以使用 exception 異常對(duì)象處理錯(cuò)誤信息。具體代碼如下:

<%@ page contentType="text/html; charset=utf-8" isErrorPage="true" %>
<html>
<body>
出現(xiàn)錯(cuò)誤,錯(cuò)誤如下:<br/>
<hr>
<%=exception.getMessage() %>
</body>
</html>

③ 運(yùn)行 2-18.jsp 頁(yè)面,結(jié)果如圖 3 所示。

圖3 頁(yè)面出現(xiàn)異常處理

提示:

為了確譯當(dāng)頁(yè)面出錯(cuò)時(shí)跳轉(zhuǎn)到 errorPage 所指的頁(yè)面,需要打開(kāi) IE 瀏覽器,選擇“工具”→“Internet 選項(xiàng)”菜單命令,在彈出的對(duì)話(huà)框中選擇“高級(jí)”選項(xiàng)卡,取消選中“顯示友好 HTTP 錯(cuò)誤信息”復(fù)選框。

9、 buffer 屬性:內(nèi)置輸出流對(duì)象 out 負(fù)責(zé)將服務(wù)器的某些信息或運(yùn)行結(jié)果發(fā)送到客戶(hù)端顯示,buffer 屬性用來(lái)指定 out 緩沖區(qū)的大小。其值可以是 none、8KB 或是給定的 KB 值。

值為 none 表示沒(méi)有緩存,直接輸出至客戶(hù)端的瀏覽器中;如果將該屬性指定為數(shù)值,則輸出緩沖區(qū)的大小不應(yīng)小于該值,默認(rèn)為 8KB(因不同的服務(wù)器而不同,但大多數(shù)情況下都為 8KB)。

10、 autoFlush 屬性:當(dāng)緩沖區(qū)滿(mǎn)時(shí),設(shè)置是否自動(dòng)刷新緩沖區(qū)。默認(rèn)值為 true,表示當(dāng)緩沖區(qū)滿(mǎn)時(shí),自動(dòng)將其中的內(nèi)容輸出到客戶(hù)端;如果設(shè)為 false,則當(dāng)緩沖區(qū)滿(mǎn)時(shí)會(huì)出現(xiàn) JSP Buffer overflow 溢出異常。

提示:

當(dāng) buffer 屬性的值設(shè)置為 none 時(shí),autoFush 屬性的值不能設(shè)置為 false。

11、isThreadSafe 屬性:設(shè)置 JSP 頁(yè)面是否可以多線程訪問(wèn)。默認(rèn)值為 true,表示當(dāng)前 JSP 頁(yè)面被轉(zhuǎn)換為 Servlet 后,會(huì)以多線程的方式處理來(lái)自多個(gè)用戶(hù)的請(qǐng)求;如果設(shè)置為 false,則轉(zhuǎn)換后的 Servlet 會(huì)實(shí)現(xiàn) SingleThreadMode 接口,并且將以單線程的方式來(lái)處理用戶(hù)請(qǐng)求。

12、pageEncoding 屬性:設(shè)置 JSP 頁(yè)面字符的編碼,常見(jiàn)的編碼類(lèi)型有 ISO-8859-1、gb2312、utf-8 和 GBK 等。默認(rèn)值為 ISO-8859-1。其用法如下:

<%@ page pageEncoding="字符編碼" %>

例如:

<%@ page pageEncoding="utf-8" %>

這表示網(wǎng)頁(yè)使用了 utf-8 編碼,與 contentType 屬性中的字符編碼設(shè)置作用相同。

13、isELIgnored 屬性:其值可設(shè)置為 true 或 false,表示是否在此 JSP 網(wǎng)頁(yè)中執(zhí)行或忽略表達(dá)式語(yǔ)言 ${}。設(shè)置為 true 時(shí),JSP 容器將忽略表達(dá)式語(yǔ)言。

全部教程
主站蜘蛛池模板: 日本午夜影院 | 国产精品久久久久久久小唯西川 | 男人午夜剧场 | 久久久久综合网 | 国产成人夜色91 | 亚洲欧美另类精品久久久 | 激情影院在线 | 最近中文字幕无吗高清视频 | 四虎网站在线观看 | 亚洲日本va中文字幕婷婷 | 色偷偷亚洲第一成人综合网址 | 欧美一级aⅴ毛片 | 国产精品成人扳一级aa毛片 | 欧美日韩亚洲国产精品一区二区 | 国产一区二区精品久久岳 | 天天综合色天天综合网 | 亚洲国产综合视频 | 日本一区精品久久久久影院 | 天天干天天拍天天射天天添天天爱 | 国产亚洲精品自在久久77 | 日本色综合| 成人午夜爱爱爱爱爱 | 福利午夜影院 | 欧美一级美片在线观看免费 | 日韩久久久精品中文字幕 | 欧美影院一区二区三区 | 四虎在线视频观看大全影视 | 欧美视频免费在线播放 | 久久久久国产精品免费免费不卡 | 日日噜噜噜夜夜爽爽狠狠 | 91亚洲国产三上悠亚在线播放 | 丁香激情综合色伊人久久 | 精品成人一区二区 | 手机看片福利盒子久久 | 欧美综合专区 | 免费观看黄色a一级录像 | 在线视频综合视频免费观看 | 欧洲美女高清一级毛片 | 欧美亚洲天堂 | 成年女人色毛片免费看 | 久久精品国产国产 |