日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

第10课:JSP指令 Page指令 (JSP教程 JSP入门实战教程 黄菊华Java网站开发系列教程)

發(fā)布時間:2023/12/9 javascript 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 第10课:JSP指令 Page指令 (JSP教程 JSP入门实战教程 黄菊华Java网站开发系列教程) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

JSP 指令是為 JSP 引擎(比如 Tomcat)而設(shè)計的,它們并不直接產(chǎn)生任何可見輸出,而只是告訴引擎如何處理 JSP 頁面中的其余部分。
JSP 引擎會根據(jù) JSP 的指令信息來編譯 JSP,生成 Java 文件。在生成的 Java 文件中,指令就不存在了。
一般都會把 JSP 指令放到 JSP 文件的最上方,但這不是必須的。
指令通常以<%@標(biāo)記開始,以%>標(biāo)記結(jié)束,它的具體語法如下:

<%@ 指令名稱 屬性1="屬性值1" 屬性2="屬性值2" ... 屬性n="屬性值n" %>

JSP 中三大指令,它們分別是 page、include 和 taglib,下表是對它們的簡要說明。

Page指令

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

<%@ page attribute="value" %>

下表列出與Page指令相關(guān)的屬性:

示例:

<%@ page import="com.mysql.jdbc.Driver" %> <%@ page import="java.sql.*"%>

? 可以在一個頁面上使用多個 page 指令,其中的屬性只能使用一次(import 屬性除外)。
JSP page 指令將使用這些屬性的默認值來設(shè)置 JSP 頁面,下面介紹 page 指令的 13 個屬性。
示例:page-01.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ page import="com.mysql.jdbc.Driver" %> <%@ page import="java.sql.*"%> <html> <head><title>Title</title> </head> <body> page </body> </html>

其他

<%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ page import="java.util.Date" %> <%@ page import="java.text.SimpleDateFormat" %> <html> <head><title>Title</title> </head> <body> <%Date dNow = new Date( );out.print( "<h2 >" +dNow.toString()+"</h2>");SimpleDateFormat ft = new SimpleDateFormat ("yyyy-MM-dd HH:mm:ss");out.print( "<h2 >" + ft.format(dNow) + "</h2>"); %></body> </html>

(1) language 屬性

設(shè)置當(dāng)前頁面中編寫 JSP 腳本所使用的語言,默認值為 java。
例如:

<%@ page language="java" %>

目前只可以使用 Java 語言。

(2) contenType 屬性

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

<%@ page contenType="MIME 類型; charset=字符編碼" %>

MIME 類型被設(shè)置為 text/html,如果該屬性設(shè)置不正確,如設(shè)置為 text/css,則客戶端瀏覽器顯示 HTML 樣式時,不能對 HTML 標(biāo)識進行解釋,而直接顯示 HTML 代碼。
在 JSP 頁面中,默認情況下設(shè)置的字符編碼為 ISO-8859-1,即 contentType=“text/html;charset=ISO-8859-1”。但一般情況下,應(yīng)該將該屬性設(shè)置為

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

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

(3) import 屬性

用來導(dǎo)入程序中要用到的包或類,可以有多個值,無論是 Java 核心包中自帶的類還是用戶自行編寫的類,都要在 import 中引入。import 屬性的用法如下:

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

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

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

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

<%@ page import="包名.類1" %> <%@ page import="包名.類2" %>

或者通過逗號間隔來導(dǎo)入多個類:

<%@ page import="包名.類1,包名.類2" %>

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

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

所以,即使沒有用 import 屬性進行導(dǎo)入,在 JSP 頁面中也可以調(diào)用上述包中的類。
【例1】顯示歡迎信息和用戶登錄的日期時間。
本例通過導(dǎo)入 java.util.Date 類來顯示當(dāng)前的日期時間。具體步驟如下。
① 使用 page 指令的 import 屬性將 java.util.Date 類導(dǎo)入,然后向用戶顯示歡迎信息,并把當(dāng)前日期時間顯示出來。具體代碼如下:

<%@ page import="java.util.Date" language="java" contentType="text/html;charset=utf-8"%> <html> <body> 您好,歡迎光臨!<br/> 您登錄的時間是<%=new Date() %> </body> </html>

② 運行該頁面。

(4) info 屬性

設(shè)置 JSP 頁面的相關(guān)信息,如當(dāng)前頁面的作者、編寫時間等。此值可設(shè)置為任意字符串,由 Servlet.getServletInfo() 方法來獲取所設(shè)置的值。
【例2】設(shè)置并顯示 JSP 頁面的作者等相關(guān)信息。
本例通過 page 指令的 info 屬性來設(shè)置頁面的相關(guān)信息,通過 Servlet.getServletInfo() 方法來獲取所設(shè)置的值,具體步驟如下。
① 使用 page 指令的 info 屬性設(shè)置頁面的作者、版本以及編寫時間等。具體代碼如下:

<%@ page import="java.util.Date" language="java" contentType="text/html;charset=utf-8"%> <%@ page info="作者:黃菊華 <br/> 版本: v1.0 <br/> 編寫時間:2020年06月03 星期三 <br/> 敬請關(guān)注, 謝謝!"%> <html> <body> <% String str=this.getServletInfo(); out.print (str) ; %> </body> <html>

② 運行該頁面

(5) extends 屬性

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

(6) session 屬性

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

(7) errorPage 屬性

用于指定JSP文件的相對路徑,在頁面出錯時,將轉(zhuǎn)到這個 JSP 文件來進行處理。與此相適應(yīng),需要將這個 JSP 文件的 isErrorPage 屬性設(shè)為 true。
設(shè)置 errorPage 屬性后,JSP 網(wǎng)頁中的異常仍然會產(chǎn)生,只不過此時捕捉到的異常將不由當(dāng)前網(wǎng)頁進行處理,而是由 errorPage 屬性所指定的網(wǎng)頁進行處理。如果該屬性值設(shè)置為以“/”開頭的路徑,則錯誤處理頁面在當(dāng)前應(yīng)用程序的根目錄下;否則在當(dāng)前頁面所在的目錄下。

(8) isErrorPage 屬性

指示一個頁面是否為錯誤處理頁面。設(shè)置為 true 時,在這個 JSP 頁面中的內(nèi)置對象 exception 將被定義,其值將被設(shè)定為調(diào)用此頁面的 JSP 頁面的錯誤對象,以處理該頁面所產(chǎn)生的錯誤。
isErrorPage 屬性的默認值為 false,此時不能使用內(nèi)置對象 exception 來處理異常,否則將產(chǎn)生編譯錯誤。
例如,在發(fā)生異常的頁面上有如下用法:
<%@ page errorPage=“error.jsp” %>
用上面的代碼,就可以指明當(dāng)該 JSP 頁面出現(xiàn)異常時,跳轉(zhuǎn)到 error.jsp 去處理異常。而在 error.jsp 中,需要使用下面的語句來說明可以進行錯誤處理:

<%@ page isErrorPage="true" %>

【例3】頁面出現(xiàn)異常的處理。
本例通過 page 指令的 errorPage 和 isErrorPage 兩個屬性來演示當(dāng)頁面出現(xiàn)異常時應(yīng)如何處理。具體步驟如下。
① 創(chuàng)建A.jsp 頁面,使用 page 指令的 errorPage 屬性指定頁面出現(xiàn)異常時所轉(zhuǎn)向的頁面。具體代碼如下:

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

該程序執(zhí)行的是除法運算,如果除數(shù)為 0,將會拋出一個數(shù)學(xué)運算異常,從 errorPage=“B.jsp” 可以看出,程序指定 B.jsp 為其處理異常。
② 創(chuàng)建B.jsp 頁面,使用 page 指令的 isErrorPage 屬性指定為出錯頁面,此頁面可以使用 exception 異常對象處理錯誤信息。具體代碼如下:

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

② 運行 A.jsp 頁面,結(jié)果如圖 所示。

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

(9) buffer 屬性

內(nèi)置輸出流對象 out 負責(zé)將服務(wù)器的某些信息或運行結(jié)果發(fā)送到客戶端顯示,buffer 屬性用來指定 out 緩沖區(qū)的大小。其值可以是 none、8KB 或是給定的 KB 值。
值為 none 表示沒有緩存,直接輸出至客戶端的瀏覽器中;如果將該屬性指定為數(shù)值,則輸出緩沖區(qū)的大小不應(yīng)小于該值,默認為 8KB(因不同的服務(wù)器而不同,但大多數(shù)情況下都為 8KB)。

(10) autoFlush 屬性

當(dāng)緩沖區(qū)滿時,設(shè)置是否自動刷新緩沖區(qū)。默認值為 true,表示當(dāng)緩沖區(qū)滿時,自動將其中的內(nèi)容輸出到客戶端;如果設(shè)為 false,則當(dāng)緩沖區(qū)滿時會出現(xiàn) JSP Buffer overflow 溢出異常。
提示:當(dāng) buffer 屬性的值設(shè)置為 none 時,autoFush 屬性的值不能設(shè)置為 false。

(11) isThreadSafe 屬性

設(shè)置 JSP 頁面是否可以多線程訪問。默認值為 true,表示當(dāng)前 JSP 頁面被轉(zhuǎn)換為 Servlet 后,會以多線程的方式處理來自多個用戶的請求;如果設(shè)置為 false,則轉(zhuǎn)換后的 Servlet 會實現(xiàn) SingleThreadMode 接口,并且將以單線程的方式來處理用戶請求。

(12) pageEncoding 屬性

設(shè)置 JSP 頁面字符的編碼,常見的編碼類型有 ISO-8859-1、gb2312、utf-8 和 GBK 等。默認值為 ISO-8859-1。其用法如下:

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

例如:

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

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

(13) isELIgnored 屬性

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

【Java網(wǎng)站開發(fā)參考資料】

(1)Java網(wǎng)站開發(fā)學(xué)習(xí)路線 http://www.hzyaoyi.cn/jsp/

(2)Javaweb新手入門學(xué)習(xí)實戰(zhàn)課 https://ke.qq.com/course/package/30139

(3)小白教程資料 http://www.2d5.net

(4)畢業(yè)設(shè)計網(wǎng)http://www.pc-365.net

(5)小程序編程網(wǎng)www.4317.org

(6)計算機編程網(wǎng)http://www.05423.com/

總結(jié)

以上是生活随笔為你收集整理的第10课:JSP指令 Page指令 (JSP教程 JSP入门实战教程 黄菊华Java网站开发系列教程)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。