好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > jsp中page指令用法詳解

jsp中page指令用法詳解

熱門標簽:電銷機器人好賣么 杭州語音電銷機器人軟件 北票市地圖標注 四川保險智能外呼系統(tǒng)商家 高德地圖標注樣式 電銷機器人是有一些什么技術 地圖標注線上教程 商洛電銷 杭州ai語音電銷機器人功能

本文實例講述了jsp中page指令用法。分享給大家供大家參考。具體如下:

一、JSP 指令

JSP 指令(directive)影響由 JSP 頁面生成的 servlet 的整體結構。下面的模板給出指令的兩種可能形式。屬性值兩邊的雙引號可以替換為單引號,但引號標記不能完全省略。如果要在屬性值中使用引號,則要在它們之前添加反斜杠,' 使用 \'," 使用 \"

% directive attribute="value" %>
% directive attribute1="value1"
attribute2="value2"
......
attribute3="value3" %>

在 JSP 中,主要有3種類型的指令:page,include 和 taglib。page 指令允許通過類的導入、servlet 超類的定制、內(nèi)容類型的設置、以及諸如此類的事物來控制 servlet 的結構。page 指令可以放在文檔中的任何地方。第二個指令,include 允許在 JSP 文件轉換到 servlet 時,將一個文件插入到 JSP 頁面中。include 指令應該放 置在文檔中希望插入文件的地方。第三個指令,taglib,定義自 定義的標記標簽。

二、JSP page 指令

page 指令可以定義下面這些大小寫敏感的屬性(大致按照使用的頻率列出):import、contentType、pageEncoding、session、isELIgnored(只限 JSP 2.0)、buffer、autoFlush、info、errorPage、isErrorPage、isThreadSafe、language 和 extends。

2.1 import 屬性

使用 page 指令的 import 屬性指定 JSP 頁面轉換成的 servlet 應該輸入的包。在 JSP 中,包是絕對必需的。原因是,如果沒有使用包,系統(tǒng)則認為所引用的類與當前類在同一個包中。例如,假定一個 JSP 頁面包含下面的 scriptlet:

復制代碼 代碼如下:
% Test t=new Test(); %>

在此,如果 Test 在某個輸入包中,則沒有歧義。但是,如果 Test 不在包中,或者頁面沒有明確地導入 Test 所屬的包,那么系統(tǒng)將會認為 Test 就在這個自動生成的 servlet 所在的包中。但問題是自動生成的 servlet 所在的包是未知的!服務器在創(chuàng)建 servlet 時,常常會根據(jù) JSP 頁面所在的目錄來決定它的包。別的服務器可能使用其他不同的方式。因此,不能指望不使用包的類能夠正常工作。對于 bean 也同樣如此,因為 bean 不過是遵循某些簡單命名約定和結構約定的類。

默認情況下,servlet 導入 java.lang.*、javax.servlet.*、javax.servlet.jsp.*、javax.servlet.http.*,也許還包括一些服務器特有的包。編寫 JSP 代碼時,絕不要依靠任何自動導入的服務器特有類。這樣做會使得代碼不可移植。

使用 import 屬性時,可以采用下面兩種形式:

%@ page import="package.class" %>
%@ page import="package.class1, ..., package.classN" %>

例如,下面的指令表示 java.util 包和 cn.foololdfat 包中的所有類在使用時無需給出明確的包標識符:

復制代碼 代碼如下:
%@ page import="java.uti1.*, cn.foololdfat.*" %>

import 是 page 的屬性中惟一允許在同一文檔中多次出現(xiàn)的屬性。盡管 page 指令可以出現(xiàn)在文檔中的任何地方,但一般不是將 import 語句放在文檔頂部附近,就是放在相應的包首次使用之前。

2.2 contentType 和 pageEncoding 屬性

contentType 屬性設置 Content-Type 響應報頭,標明即將發(fā)送到客戶程序的文檔的 MIME 類型。有關MIME 類型的更多信息,參見Java Web 開發(fā) (5) HTTP 響應報頭。

使用 contentType 屬性時,可以采用下面兩種形式:

%@ page contentType="MIME-TYPE" %>
%@ page contentType="MIME-Type; charset=Character-Set" %>

例如,指令

復制代碼 代碼如下:
%@ page contentType="application/vnd.ms-excel" %>

和下面的 scriptlet 所起到的作用基木相同

復制代碼 代碼如下:
% responce.setContentType("application/vnd.ms-excel"); %>

兩種形式的第一點不同是,response.setContentType 使用明確的 Java 代碼(這是一些開發(fā)人員力圖避免使用的方式),而 page 指令只用到 JSP 語法。第二點不同是,指令被特殊處理,它們不是在出現(xiàn)的位置直接成為 _jspService 代碼。這意味著 response.setContentType 能夠有條件地調用,而 page 指令不能。條件性地設置內(nèi)容的類型主要用在同一內(nèi)容能夠以多種不同的形式進行顯示的情況下。

不同于常規(guī) servlet (默認的 MIME 類型為 text/plain),JSP 頁面的默認 MIME 類型是 text/html (默認字符集為 ISO-8859-1)。因此,如果 JSP 頁曲以 Latin 字符集輸出 HTML則根本無需使用 contentType,如果希望同時更改內(nèi)容的類型和字符集,可以使用下面的語句:

復制代碼 代碼如下:
%@ page contentType="someMimeType; charset=someCharacterSet" %>

但是,如果只想更改字符集,使用 pageEncoding 屬性更為簡單。例如,中文 JSP 頁面可以使用下面的語句:

復制代碼 代碼如下:
%@ page pageEncoding="GBK" %>

可考慮將Java Web 開發(fā) (5) HTTP 響應報頭中生成 Excel 表格的例子用 JSP 實現(xiàn),以體會 contentType 的作用。
2.3 session 屬性
session 屬性控制頁面是否參與 HTTP 會話。使用這個屬性時,可以采用下面兩種形式:

%@ page session="true" %> %--Default--%>
%@ page session="false" %>

true 值(默認)表示,如果存在已有會話,則預定義變量 session (類型為HttpSession)應該綁定到現(xiàn)有的會話;否則,創(chuàng)建新的會話并將其綁定到 session。false 值表示不自動創(chuàng)建會話,在 JSP 頁面轉換成 servlet 時,對變量 session 的訪問會導致錯誤。
對于高流量的網(wǎng)站,使用 session="false" 可以節(jié)省大量的服務器內(nèi)存。但要注意,session="false" 并不禁用會話跟蹤,它只是阻止 JSP 頁面為那些尚不擁有會話的用戶創(chuàng)建新的會話。由于會話是針對用戶,不是針對貞面,所以,關閉某個頁面的會話跟蹤沒有任何益處,除非有可能在同一客戶會話中訪問到的相關頁面都關閉會話跟蹤。
2.4 isELIgnored 屬性
isELIgnored 屬性控制的是:忽略(true)JSP 2.0 表達式語言(EL),還是進行正常的求值(false)。這是 JSP 2.0 新引入的屬性;在只支持 JSP 1.2 及早期版本的服務器中,使用這項屬性是不合法的。這個屬性的默認值依賴于 Web 應用所使用的 web.xml 的版本。如果 web.xml 指定 servlet 2.3(對應JSP 1.2)或更早版本,默認值為 true(但變更默認值依舊是合法的,JSP 2.0 兼容的服務器中都允許使用這項屬性,不管 web.xml 的版本如何)。如果 web.xml 指定 servlet 2.4(對應 JSP 2.0)或之后的版本,那么默認值為false。使用這個屬性時,可以采用下面兩種形式:

%@ page isELIgnored="false" %>
%@ page isELIgnored="true" %>

2.5 buffer 和 autoFlush 屬性
buffer 屬性指定 out 變量(類型為 JspWriter )使用的緩沖區(qū)的大小。使用這個屬性時,可以采用下面兩種形式:

%@ page buffer="sizekb" %>
%@ page buffer="none" %>

服務器實際使用的緩沖區(qū)可能比指定的更大,但不會小于指定的大小。例如,%@ page buffer="32kb" %> 表示應該對文檔的內(nèi)容進行緩存,除非累積至少為32KB、頁面完成或明確地對輸出執(zhí)行清空(例如使用 response. flushBuffer),否則不將文檔發(fā)送給客戶。

默認的緩沖區(qū)大小與服務器相關,但至少8KB。如果要將緩沖功能關閉,應該十分小心:這樣做要求設置報頭或狀態(tài)代碼的 JSP 元素都要出現(xiàn)在文件的頂部,位于任何 HTML 內(nèi)容之前。另一方面,有時輸出內(nèi)容的每一行都需要較長的生成時間,此時禁用緩沖或使用小緩沖區(qū)會更有效率;這樣,用戶能夠在每一行生成之后立即看到它們,而不是等待更長的時間看到成組的行。

autoFlush 屬性控制當緩沖區(qū)充滿之后,是應該自動清空輸出緩沖區(qū)(默認),還是在緩沖區(qū)溢出后拋出一個異常(autoFlush="false")。使用這個屬性時,可以采用下面兩種形式:

%@ page autoFlush="true" %> %--Default--%>
%@ page autoFlush="false" %>

在 buffer="none" 時,false 值是不合法的。如果客戶程序是常規(guī)的 Web 瀏覽器,那么 autoFlush="false" 的使用極為罕見。但是,如果客戶程序是定制應用程序,可能希望確保應用程序要么接收到完整的消息,要么根本沒有消息。false 值還可以用來捕獲產(chǎn)生過多數(shù)據(jù)的數(shù)據(jù)庫查詢,但是,一般說來,將這些邏輯放在數(shù)據(jù)訪問代碼中(而非表示代碼)要更好一些。

2.6 info 屬性

info 屬性定義一個可以在 servlet 中通過 getServletInfo 方法獲取的字符串,使用 info 屬性時,采用下面的形式:

復制代碼 代碼如下:
%@ page info="Some Message" %>

2.7 errorPage 和 isErrorPage 屬性

errorPage 屬性用來指定一個 JSP 頁面,由該頁面來處理當前頁面中拋出但未被捕獲的任何異常(即類型為 Throwable 的對象)。它的應用方式如下:

復制代碼 代碼如下:
%@ page errorPaqe="Relative URL" %>

指定的錯誤頁面可以通過 exception 變量訪問拋出的異常。
isErrorPage 屬性表示當前頁是否可以作為其他 JSP 頁面的錯誤頁面。使用 isErrorPage 屬性時,可以采用下面兩種形式:

%@ page isErrorPage="true" %>
%@ page isErrorPage="false" %> %--Default--%>

2.8 isThreadSafe 屬性

isThreadSafe 屬性控制由 JSP 頁面生成的 servlet 是允許并行訪問(默認),還是同一時間不允許多個請求訪問單個 servlet 實例(isThreadSafe="false")。使用 isThreadSafe 屬性時,可以采用下面兩種形式:

%@ page isThreadSafe="true" %> %--Default--%>
%@page isThreadSafe="false" %>

遺憾的是,阻止并發(fā)訪問的標準機制是實現(xiàn) SingleThreadModel接口。盡管在早期推薦使用 SingleThreadModel 和 isThreadSafe="false",但最近的經(jīng)驗表明 SingleThreadModel 的設計很差,使得它基本土毫無用處。因而,應該避免使用 isThreadSafe,采用顯式的同步措施取而代之。

2.9 extends 屬性

extends 屬性指定 JSP 頁面所生成的 servlet 的超類(superclass )。它采用下面的形式:

復制代碼 代碼如下:
%@ page extends="package.class" %>

這個屬性一般為開發(fā)人員或提供商保留,由他們對頁面的運作方式做出根本性的改變(如添加個性化特性)。一般人應該避免使用這個屬性,除非引用由服務器提供商專為這種目的提供的類。

2.10 language 屬性

從某種角度講,language 屬性的作用是指定頁面使用的腳本語言,如下所示:

復制代碼 代碼如下:
%@ page language="java" %>

就現(xiàn)在來說,由于 Java 既是默認選擇,也是惟一合法的選擇,所以沒必要再去關心這個屬性。

希望本文所述對大家的JSP程序設計有所幫助。

您可能感興趣的文章:
  • JSP常見的三個編譯指令page、include、taglib
  • JSP編譯指令page、include詳解
  • JSP指令元素(page指令/include指令/taglib指令)復習整理
  • JSP語法Page指令
  • JSP頁面pageEncoding和contentType屬性
  • JSP errorPage設置方法
  • 一個通用的jsp分頁PageBean
  • JSP中的編譯指令和動作指令的兩點區(qū)別
  • jsp的常用指令有哪些(編譯指令/動作指令整理)

標簽:江西 云浮 青島 丹東 西藏 宿州 貴州 紅河

巨人網(wǎng)絡通訊聲明:本文標題《jsp中page指令用法詳解》,本文關鍵詞  jsp,中,page,指令,用法,詳解,;如發(fā)現(xiàn)本文內(nèi)容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《jsp中page指令用法詳解》相關的同類信息!
  • 本頁收集關于jsp中page指令用法詳解的相關信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 我年轻漂亮的继坶9| 国产一级a毛一级a毛观看视频网站 | 一级裸片潘金莲| 日本午夜网站| 高潮大量喷潮videos| 看全色黄大色黄女片爽直播| 国产涩| 力得摸太嗯哼嗯哼嗯哼什么歌| 麻豆免费无码AV在线播放| 北条麻妃一区二区三区免费 | 免费的黄色毛片| 97精品伊人久久大香线蕉价格| 亚洲做受???高潮深喉| 另类视频综合| 久热久| 91av在线视频观看| 国产亚洲精品久久久久久移动网络| 日本人69视频jiZZ免费| 日本s色大片在线观看| 白月光被强啪到腿软H| 国产精品嫩草影院入口介绍| 欧美日韩在线第一页| 亚洲综合视频| 戏梦电影在线观看| 肉秘?小说| 一级女性全黄A片色情女狼| 91精品在线国产| 一区二区在线免费观看| 一级A片无码免费久久真人视果冻| 天天she综合台湾中文| 亚洲视频黄| 班长的手灵活的按着遥控器| 极品穴| 中国真人性做爰视频 | 啪啪1000部| 高校教师在线| 撕开校花的乳罩揉捏娇乳小说 | 啊……用力| 性插动图| 中文字幕人妻在线一区| 麻豆精品秘?国产传媒|