本文目錄一覽:
java中include動作和include指令的區別
include指令是編譯階段的指令,即include所包含的文件的內容是編譯的時候插入到JSP文件中,JSP引擎在判斷JSP頁面未被修改,否則視為已被修改。由於被包含的文件是在編譯時才插入的,因此如果只修改了include文件內容,而沒有對JSP修改,得到的結構將不會改變,所以直接執行已經存在的字節碼文件,而沒有重新編譯。因此對不經常變化的內容,用include指令是合適的,如果需要的內容是經常變化的,則需要動作元素jsp:include.下面將詳細區分他們之間的不同
1.include指令
include可以在JSP頁面轉換成Servlet之前,將JSP代碼插入其中。它的主要優點是功能強大,所包含的代碼可以含有總體上影響主頁面的JSP構造,比如屬性、方法的定義和文檔類型的設定。它的缺點是難於維護只要被包含的頁面發生更改,就得更改主頁面,這是因為主頁面不會自動地查看被包含的頁面是否發生更改。
語法:%@ include file=”sample.jsp” %
2.include動作
jsp:include動作是在主頁面被請求時,將次級頁面的輸出包含進來。儘管被包含的頁面的輸出中不能含有JSP,但這些頁面可以是其他資源所產生的 結果。服務器按照正常的方式對指向被包含資源的URL進行解釋,因而這個URL可以是Servlet或JSP頁面。服務器以通常的方式運行被包含的頁面, 將產生的輸出放到主頁面中,這種方式與RequestDispatcher類的include方法一致。它的優點是在被包含的頁面發生更改時,無須對主頁 面做出修改。它的缺點是所包含的是次級頁面的輸出,而非次級頁面的實際代碼,所以在被包含的頁面中不能使用任何有可能在整體上影響主頁面的JSP構造。
語法: jsp:include page=”sample.jsp” flush=”true” jsp:param name=”name” value=”value”/ /jsp:include
其中參數設置可以沒有,如果沒有參數設置,則必須採用jsp:include page=”sample.jsp” flush=”true”/形式
3. 使用include動作還是include指令?
使用include指令,如果被包含的文件發生改變,那麼,用到它的所有Jsp頁面都需要更新。
僅當include動作不能滿足要求時,我們才應該使用include指令。
有 些開發人員認為include指令生成的代碼執行起來比使用include動作的代碼更快。儘管原則上由可能的確如此,但性能上的差異很小,以致難以測 量,同時,include動作在維護上的優勢十分巨大,當兩種方法都可以使用時,include動作幾乎肯定是首選的方法。
對於文件包含,應該儘可能地使用include動作。僅在所包含的文件中定義了主頁面要用到的字段或方法,或所包含的文件設置了主頁面的響應報頭時,才應該使用include指令。
既然include指令產生難以維護的代碼,為什麼人們還要使用它呢?
因為include指令更為強大。include指令允許所包含的文件中含有影響主頁面的Jsp代碼,比如響應報頭的設置和字段、方法的定義。
例子://subpage.jsp
%! int num=0; %
//mainpage.jsp
html
body
%@ include file=”subpage.jsp” %
%= num %
/body
/html
當然使用include動作時這是不可能的,因為num變量未定義,主頁面不能成功的轉換成servlet。
java 問題
一.①1、request對象:客戶端的請求信息被封裝在request對象中,通過它才能了解到客戶的需求,然後做出響應。
2、response對象:response對象包含了響應客戶請求的有關信息。
3、session對象:session對象指的是客戶端與服務器的一次會話,從客戶連到服務器的一個WebApplication開始,直到客戶端與服務器斷開連接為止。
4、out對象:是向客戶端輸出內容常用的對象
5、page對象:page對象就是指向當前JSP頁面本身,有點象類中的this指針。
6、application對象:application對象實現了用戶間數據的共享,可存放全局變量。它開始於服務器的啟動,直到服務器的關閉,在此期間,此對象將一直存在;這樣在用戶的前後連接或不同用戶之間的連接中,可以對此對象的同一屬性進行操作;在任何地方對此對象屬性的操作,都將影響到其他用戶對此的訪問。服務器的啟動和關閉決定了application對象的生命。
7、exception對象:exception對象是一個例外對象,當一個頁面在運行過程中發生了例外,就產生這個對象。如果一個JSP頁面要應用此對象,就必須把isErrorPage設為true,否則無法編譯。
8、pageContext對象:pageContext對象提供了對JSP頁面內所有的對象及名字空間的訪問,也就是說他可以訪問到本頁所在的SESSION,也可以取本頁面所在的application的某一屬性值,他相當於頁面中所有功能的集大成者,它的本 類名也叫pageContext。
9、config對象:config對象是在一個Servlet初始化時,JSP引擎向它傳遞信息用的,此信息包括Servlet初始化時所要用到的參數(通過屬性名和屬性值構成)以及服務器的有關信息(通過傳遞一個ServletContext對象)。
1、request對象:客戶端的請求信息被封裝在request對象中,通過它才能了解到客戶的需求,然後做出響應。
2、response對象:response對象包含了響應客戶請求的有關信息。
3、session對象:session對象指的是客戶端與服務器的一次會話,從客戶連到服務器的一個WebApplication開始,直到客戶端與服務器斷開連接為止。
4、out對象:是向客戶端輸出內容常用的對象
5、page對象:page對象就是指向當前JSP頁面本身,有點象類中的this指針。
6、application對象:application對象實現了用戶間數據的共享,可存放全局變量。它開始於服務器的啟動,直到服務器的關閉,在此期間,此對象將一直存在;這樣在用戶的前後連接或不同用戶之間的連接中,可以對此對象的同一屬性進行操作;在任何地方對此對象屬性的操作,都將影響到其他用戶對此的訪問。服務器的啟動和關閉決定了application對象的生命。
7、exception對象:exception對象是一個例外對象,當一個頁面在運行過程中發生了例外,就產生這個對象。如果一個JSP頁面要應用此對象,就必須把isErrorPage設為true,否則無法編譯。
8、pageContext對象:pageContext對象提供了對JSP頁面內所有的對象及名字空間的訪問,也就是說他可以訪問到本頁所在的SESSION,也可以取本頁面所在的application的某一屬性值,他相當於頁面中所有功能的集大成者,它的本 類名也叫pageContext。
9、config對象:config對象是在一個Servlet初始化時,JSP引擎向它傳遞信息用的,此信息包括Servlet初始化時所要用到的參數(通過屬性名和屬性值構成)以及服務器的有關信息(通過傳遞一個ServletContext對象)。
② JSP共有以下6種基本動作
jsp:include:在頁面被請求的時候引入一個文件。
jsp:useBean:尋找或者實例化一個JavaBean。
jsp:setProperty:設置JavaBean的屬性。
jsp:getProperty:輸出某個JavaBean的屬性。
jsp:forward:把請求轉到一個新的頁面。
jsp:plugin:根據瀏覽器類型為Java插件生成OBJECT或EMBED標記
③ 前者是include動作
後者是 include指令
④1.forward跳轉:jsp:forward page=”跳轉頁面地址” /2.response跳轉:response.sendRedirect(“跳轉頁面地址”);兩種跳轉的區別如下:1.forward跳轉:a.服務器端跳轉,地址欄不改變;b.執行到跳轉語句後馬上無條件跳轉,之後的代碼不再執行(跳轉之前一定要釋放全部資源);c.request設置的屬性在跳轉後的頁面仍可以使用;d.使用jsp:param name=”參數名” value=”參數值” /傳遞參數。2.response跳轉:a.客戶端跳轉,地址欄改變;b.所有代碼執行完畢後跳轉;c.跳轉後的頁面不能使用上一個頁面的request屬性;d.使用地址重寫傳遞參數(response.sendRedirect(“URL?參數名=參數值”))。
二。① 只有一個對象
第一次請求的時候被初始化,只一遍
初始化後先調用init方法,只一遍
每個請求,調用一遍service-受保護的service-doGet/doPost。 以多線程的方式運行。不要在servlet中設計成員變量。
卸載前調用destroy方法
② 前者僅是容器中控制權的轉向,在客戶端瀏覽器地址欄中不會顯示出轉向後的地址;後者則是完全的跳轉,瀏覽器將會得到跳轉的地址,並重新發送請求鏈接。這樣,從瀏覽器的地址欄中可以看到跳轉後的鏈接地址。所以,前者更加高效,在前者可以滿足需要時,盡量使用forward()方法,並且,這樣也有助於隱藏實際的鏈接。在有些情況下,比如,需要跳轉到一個其它服務器上的資源,則必須使用sendRedirect()方法。
③ Servlet類 沒有簡單與不簡單,分常用不常用:、javax.servlet.GenericServlet類(協議無關版本) 很多類
JAVA指令大全
指令碼
助記符
說明
0x00
nop
什麼都不做
0x01
aconst_null
將null推送至棧頂
0x02
iconst_m1
將int型-1推送至棧頂
0x03
iconst_0
將int型0推送至棧頂
0x04
iconst_1
將int型1推送至棧頂
0x05
iconst_2
將int型2推送至棧頂
0x06
iconst_3
將int型3推送至棧頂
0x07
iconst_4
將int型4推送至棧頂
0x08
iconst_5
將int型5推送至棧頂
0x09
lconst_0
將long型0推送至棧頂
0x0a
lconst_1
將long型1推送至棧頂
0x0b
fconst_0
將float型0推送至棧頂
0x0c
fconst_1
將float型1推送至棧頂
0x0d
fconst_2
將float型2推送至棧頂
0x0e
dconst_0
將double型0推送至棧頂
0x0f
dconst_1
將double型1推送至棧頂
0x10
bipush
將單字節的常量值(-128~127)推送至棧頂
0x11
sipush
將一個短整型常量值(-32768~32767)推送至棧頂
0x12
ldc
將int, float或String型常量值從常量池中推送至棧頂
0x13
ldc_w
將int, float或String型常量值從常量池中推送至棧頂(寬索引)
0x14
ldc2_w
將long或double型常量值從常量池中推送至棧頂(寬索引)
0x15
iload
將指定的int型本地變量推送至棧頂
0x16
lload
將指定的long型本地變量推送至棧頂
0x17
fload
將指定的float型本地變量推送至棧頂
0x18
dload
將指定的double型本地變量推送至棧頂
0x19
aload
將指定的引用類型本地變量推送至棧頂
0x1a
iload_0
將第一個int型本地變量推送至棧頂
0x1b
iload_1
將第二個int型本地變量推送至棧頂
0x1c
iload_2
將第三個int型本地變量推送至棧頂
0x1d
iload_3
將第四個int型本地變量推送至棧頂
0x1e
lload_0
將第一個long型本地變量推送至棧頂
0x1f
lload_1
將第二個long型本地變量推送至棧頂
0x20
lload_2
將第三個long型本地變量推送至棧頂
0x21
lload_3
將第四個long型本地變量推送至棧頂
0x22
fload_0
將第一個float型本地變量推送至棧頂
0x23
fload_1
將第二個float型本地變量推送至棧頂
0x24
fload_2
將第三個float型本地變量推送至棧頂
0x25
fload_3
將第四個float型本地變量推送至棧頂
0x26
dload_0
將第一個double型本地變量推送至棧頂
0x27
dload_1
將第二個double型本地變量推送至棧頂
0x28
dload_2
將第三個double型本地變量推送至棧頂
0x29
dload_3
將第四個double型本地變量推送至棧頂
0x2a
aload_0
將第一個引用類型本地變量推送至棧頂
0x2b
aload_1
將第二個引用類型本地變量推送至棧頂
0x2c
aload_2
將第三個引用類型本地變量推送至棧頂
0x2d
aload_3
將第四個引用類型本地變量推送至棧頂
0x2e
iaload
將int型數組指定索引的值推送至棧頂
0x2f
laload
將long型數組指定索引的值推送至棧頂
0x30
faload
將float型數組指定索引的值推送至棧頂
0x31
daload
將double型數組指定索引的值推送至棧頂
0x32
aaload
將引用型數組指定索引的值推送至棧頂
0x33
baload
將boolean或byte型數組指定索引的值推送至棧頂
0x34
caload
將char型數組指定索引的值推送至棧頂
0x35
saload
將short型數組指定索引的值推送至棧頂
0x36
istore
將棧頂int型數值存入指定本地變量
0x37
lstore
將棧頂long型數值存入指定本地變量
0x38
fstore
將棧頂float型數值存入指定本地變量
0x39
dstore
將棧頂double型數值存入指定本地變量
0x3a
astore
將棧頂引用型數值存入指定本地變量
0x3b
istore_0
將棧頂int型數值存入第一個本地變量
0x3c
istore_1
將棧頂int型數值存入第二個本地變量
0x3d
istore_2
將棧頂int型數值存入第三個本地變量
0x3e
istore_3
將棧頂int型數值存入第四個本地變量
0x3f
lstore_0
將棧頂long型數值存入第一個本地變量
0x40
lstore_1
將棧頂long型數值存入第二個本地變量
0x41
lstore_2
將棧頂long型數值存入第三個本地變量
0x42
lstore_3
將棧頂long型數值存入第四個本地變量
0x43
fstore_0
將棧頂float型數值存入第一個本地變量
0x44
fstore_1
將棧頂float型數值存入第二個本地變量
0x45
fstore_2
將棧頂float型數值存入第三個本地變量
0x46
fstore_3
將棧頂float型數值存入第四個本地變量
0x47
dstore_0
將棧頂double型數值存入第一個本地變量
0x48
dstore_1
將棧頂double型數值存入第二個本地變量
0x49
dstore_2
將棧頂double型數值存入第三個本地變量
0x4a
dstore_3
將棧頂double型數值存入第四個本地變量
0x4b
astore_0
將棧頂引用型數值存入第一個本地變量
0x4c
astore_1
將棧頂引用型數值存入第二個本地變量
0x4d
astore_2
將棧頂引用型數值存入第三個本地變量
0x4e
astore_3
將棧頂引用型數值存入第四個本地變量
0x4f
iastore
將棧頂int型數值存入指定數組的指定索引位置
0x50
lastore
將棧頂long型數值存入指定數組的指定索引位置
0x51
fastore
將棧頂float型數值存入指定數組的指定索引位置
0x52
dastore
將棧頂double型數值存入指定數組的指定索引位置
0x53
aastore
將棧頂引用型數值存入指定數組的指定索引位置
0x54
bastore
將棧頂boolean或byte型數值存入指定數組的指定索引位置
0x55
castore
將棧頂char型數值存入指定數組的指定索引位置
0x56
sastore
將棧頂short型數值存入指定數組的指定索引位置
0x57
pop
將棧頂數值彈出 (數值不能是long或double類型的)
0x58
pop2
將棧頂的一個(long或double類型的)或兩個數值彈出(其它)
0x59
dup
複製棧頂數值並將複製值壓入棧頂
0x5a
dup_x1
複製棧頂數值並將兩個複製值壓入棧頂
0x5b
dup_x2
複製棧頂數值並將三個(或兩個)複製值壓入棧頂
0x5c
dup2
複製棧頂一個(long或double類型的)或兩個(其它)數值並將複製值壓入棧頂
0x5d
dup2_x1
待補充
0x5e
dup2_x2
待補充
0x5f
swap
將棧最頂端的兩個數值互換(數值不能是long或double類型的)
0x60
iadd
將棧頂兩int型數值相加並將結果壓入棧頂
0x61
ladd
將棧頂兩long型數值相加並將結果壓入棧頂
0x62
fadd
將棧頂兩float型數值相加並將結果壓入棧頂
0x63
dadd
將棧頂兩double型數值相加並將結果壓入棧頂
0x64
isub
將棧頂兩int型數值相減並將結果壓入棧頂
0x65
lsub
將棧頂兩long型數值相減並將結果壓入棧頂
0x66
fsub
將棧頂兩float型數值相減並將結果壓入棧頂
0x67
dsub
將棧頂兩double型數值相減並將結果壓入棧頂
0x68
imul
將棧頂兩int型數值相乘並將結果壓入棧頂
0x69
lmul
將棧頂兩long型數值相乘並將結果壓入棧頂
0x6a
fmul
將棧頂兩float型數值相乘並將結果壓入棧頂
0x6b
dmul
將棧頂兩double型數值相乘並將結果壓入棧頂
0x6c
idiv
將棧頂兩int型數值相除並將結果壓入棧頂
0x6d
ldiv
將棧頂兩long型數值相除並將結果壓入棧頂
0x6e
fdiv
將棧頂兩float型數值相除並將結果壓入棧頂
0x6f
ddiv
將棧頂兩double型數值相除並將結果壓入棧頂
0x70
irem
將棧頂兩int型數值作取模運算並將結果壓入棧頂
0x71
lrem
將棧頂兩long型數值作取模運算並將結果壓入棧頂
0x72
frem
將棧頂兩float型數值作取模運算並將結果壓入棧頂
0x73
drem
將棧頂兩double型數值作取模運算並將結果壓入棧頂
0x74
ineg
將棧頂int型數值取負並將結果壓入棧頂
0x75
lneg
將棧頂long型數值取負並將結果壓入棧頂
0x76
fneg
將棧頂float型數值取負並將結果壓入棧頂
0x77
dneg
將棧頂double型數值取負並將結果壓入棧頂
0x78
ishl
將int型數值左移位指定位數並將結果壓入棧頂
0x79
lshl
將long型數值左移位指定位數並將結果壓入棧頂
0x7a
ishr
將int型數值右(符號)移位指定位數並將結果壓入棧頂
0x7b
lshr
將long型數值右(符號)移位指定位數並將結果壓入棧頂
0x7c
iushr
將int型數值右(無符號)移位指定位數並將結果壓入棧頂
0x7d
lushr
將long型數值右(無符號)移位指定位數並將結果壓入棧頂
0x7e
iand
將棧頂兩int型數值作“按位與”並將結果壓入棧頂
0x7f
land
將棧頂兩long型數值作“按位與”並將結果壓入棧頂
0x80
ior
將棧頂兩int型數值作“按位或”並將結果壓入棧頂
0x81
lor
將棧頂兩long型數值作“按位或”並將結果壓入棧頂
0x82
ixor
將棧頂兩int型數值作“按位異或”並將結果壓入棧頂
0x83
lxor
將棧頂兩long型數值作“按位異或”並將結果壓入棧頂
0x84
iinc
將指定int型變量增加指定值(i++, i–, i+=2)
0x85
i2l
將棧頂int型數值強制轉換成long型數值並將結果壓入棧頂
0x86
i2f
將棧頂int型數值強制轉換成float型數值並將結果壓入棧頂
0x87
i2d
將棧頂int型數值強制轉換成double型數值並將結果壓入棧頂
0x88
l2i
將棧頂long型數值強制轉換成int型數值並將結果壓入棧頂
0x89
l2f
將棧頂long型數值強制轉換成float型數值並將結果壓入棧頂
0x8a
l2d
將棧頂long型數值強制轉換成double型數值並將結果壓入棧頂
0x8b
f2i
將棧頂float型數值強制轉換成int型數值並將結果壓入棧頂
0x8c
f2l
將棧頂float型數值強制轉換成long型數值並將結果壓入棧頂
0x8d
f2d
將棧頂float型數值強制轉換成double型數值並將結果壓入棧頂
0x8e
d2i
將棧頂double型數值強制轉換成int型數值並將結果壓入棧頂
0x8f
d2l
將棧頂double型數值強制轉換成long型數值並將結果壓入棧頂
0x90
d2f
將棧頂double型數值強制轉換成float型數值並將結果壓入棧頂
0x91
i2b
將棧頂int型數值強制轉換成byte型數值並將結果壓入棧頂
0x92
i2c
將棧頂int型數值強制轉換成char型數值並將結果壓入棧頂
0x93
i2s
將棧頂int型數值強制轉換成short型數值並將結果壓入棧頂
0x94
lcmp
比較棧頂兩long型數值大小,並將結果(1,0,-1)壓入棧頂
0x95
fcmpl
比較棧頂兩float型數值大小,並將結果(1,0,-1)壓入棧頂;當其中一個數值為NaN時,將-1壓入棧頂
0x96
fcmpg
比較棧頂兩float型數值大小,並將結果(1,0,-1)壓入棧頂;當其中一個數值為NaN時,將1壓入棧頂
0x97
dcmpl
比較棧頂兩double型數值大小,並將結果(1,0,-1)壓入棧頂;當其中一個數值為NaN時,將-1壓入棧頂
0x98
dcmpg
比較棧頂兩double型數值大小,並將結果(1,0,-1)壓入棧頂;當其中一個數值為NaN時,將1壓入棧頂
0x99
ifeq
當棧頂int型數值等於0時跳轉
0x9a
ifne
當棧頂int型數值不等於0時跳轉
0x9b
iflt
當棧頂int型數值小於0時跳轉
0x9c
ifge
當棧頂int型數值大於等於0時跳轉
0x9d
ifgt
當棧頂int型數值大於0時跳轉
0x9e
ifle
當棧頂int型數值小於等於0時跳轉
0x9f
if_icmpeq
比較棧頂兩int型數值大小,當結果等於0時跳轉
0xa0
if_icmpne
比較棧頂兩int型數值大小,當結果不等於0時跳轉
0xa1
if_icmplt
比較棧頂兩int型數值大小,當結果小於0時跳轉
0xa2
if_icmpge
比較棧頂兩int型數值大小,當結果大於等於0時跳轉
0xa3
if_icmpgt
比較棧頂兩int型數值大小,當結果大於0時跳轉
0xa4
if_icmple
比較棧頂兩int型數值大小,當結果小於等於0時跳轉
0xa5
if_acmpeq
比較棧頂兩引用型數值,當結果相等時跳轉
0xa6
if_acmpne
比較棧頂兩引用型數值,當結果不相等時跳轉
0xa7
goto
無條件跳轉
0xa8
jsr
跳轉至指定16位offset位置,並將jsr下一條指令地址壓入棧頂
0xa9
ret
返回至本地變量指定的index的指令位置(一般與jsr, jsr_w聯合使用)
0xaa
tableswitch
用於switch條件跳轉,case值連續(可變長度指令)
0xab
lookupswitch
用於switch條件跳轉,case值不連續(可變長度指令)
0xac
ireturn
從當前方法返回int
0xad
lreturn
從當前方法返回long
0xae
freturn
從當前方法返回float
0xaf
dreturn
從當前方法返回double
0xb0
areturn
從當前方法返回對象引用
0xb1
return
從當前方法返回void
0xb2
getstatic
獲取指定類的靜態域,並將其值壓入棧頂
0xb3
putstatic
為指定的類的靜態域賦值
0xb4
getfield
獲取指定類的實例域,並將其值壓入棧頂
0xb5
putfield
為指定的類的實例域賦值
0xb6
invokevirtual
調用實例方法
0xb7
invokespecial
調用超類構造方法,實例初始化方法,私有方法
0xb8
invokestatic
調用靜態方法
0xb9
invokeinterface
調用接口方法
0xba
—
0xbb
new
創建一個對象,並將其引用值壓入棧頂
0xbc
newarray
創建一個指定原始類型(如int, float, char…)的數組,並將其引用值壓入棧頂
0xbd
anewarray
創建一個引用型(如類,接口,數組)的數組,並將其引用值壓入棧頂
0xbe
arraylength
獲得數組的長度值並壓入棧頂
0xbf
athrow
將棧頂的異常拋出
0xc0
checkcast
檢驗類型轉換,檢驗未通過將拋出ClassCastException
0xc1
instanceof
檢驗對象是否是指定的類的實例,如果是將1壓入棧頂,否則將0壓入棧頂
0xc2
monitorenter
獲得對象的鎖,用於同步方法或同步塊
0xc3
monitorexit
釋放對象的鎖,用於同步方法或同步塊
0xc4
wide
待補充
0xc5
multianewarray
創建指定類型和指定維度的多維數組(執行該指令時,操作棧中必須包含各維度的長度值),並將其引用值壓入棧頂
0xc6
ifnull
為null時跳轉
0xc7
ifnonnull
不為null時跳轉
0xc8
goto_w
無條件跳轉(寬索引)
0xc9
jsr_w
跳轉至指定32位offset位置,並將jsr_w下一條指令地址壓入棧頂
我的世界java指令大全
以下是Minecraft通用指令:
clear:清除玩家的物品
clone:複製或移動某區域內的方塊
deop:撤銷玩家的管理員身份
difficulty:調整遊戲難度
effect:給予實體狀態效果
enchant:對實體手持物品進行附魔
execute:在改變執行者、執行位置和角度,添加限制條件,並儲存其輸出值的情況下執行另一條命令
experience/xp:更改玩家的經驗和等級
fill:在指定區域填充指定方塊
function:執行函數
gamemode:修改遊戲模式
gamerule:查看和修改遊戲規則
give:給予玩家指定物品
help/?:列出可用指令、查看特定指令用法
kick:將玩家踢出服務器
kill:移除或殺死實體
list:列出在服務器中的玩家
locate:定位特定結構
me:以“* 執行者名稱+動作”的格式發送一條旁白信息
op:給予玩家管理員身份
particle:顯示粒子
playsound:播放音效
reload:重新加載數據包
say:通過聊天框向玩家發送消息
schedule:在經過指定的時間後執行函數
scoreboard:管理和查看記分板的目標、玩家和隊伍
setblock:放置指定方塊
setworldspawn:設置世界出生點
spawnpoint:設置特定玩家的重生點
spreadplayers:散步玩家
stopsound:停止音效
summon:生成實體
tag:管理實體的記分板標籤
tell/msg/w:通過聊天框向玩家發送私聊信息
tellraw:向玩家發送JSON文本消息
time:設置時間
title:設置和顯示標題
teleport/tp:傳送實體
weather:設置天氣
whitelist:管理服務器中的白名單
以下是java版特有指令:
advancement:使特定玩家達成進度
attribute:管理實體屬性
ban:將玩家列入黑名單
ban-ip:將一個ip地址列入黑名單
banlist:顯示黑名單
bossbar:管理boss欄
data:查看或修改方塊或實體的nbt數據
datapack:管理數據包
debug:開始或結束調試會話
defaultgamemode:設置默認遊戲模式
forceload:強制加載區塊
item:修改方塊或實體物品欄內的物品
jfr:使用Java FlightRecorder分析數據和某些自定義事件
locatebiome:定位生物群系
loot:將指定的戰利品放入物品欄或世界
pardon:將玩家移出黑名單
pardon-ip:將一個ip地址移出黑名單
perf:記錄並保存性能分析數據
placefeature[新增:JE 1.18.2]:放置一個地物,目前不可用
publish:向局域網開放單人遊戲世界
recipe:給予或剝奪玩家配方
save-all:將服務器保存至硬盤
save-off:禁用服務器的自動保存
save-on:啟用服務器的自動保存
seed:輸出世界種子
setidletimeout:設置踢出空閑不動玩家的時間
spectate:使處於旁觀者模式的玩家進入另一個實體的視角
stop:停止服務端
team:管理隊伍
teammsg:給使用命令的實體所在的隊伍全體成員發送消息
trigger:修改一個準則為“觸發器”的記分板目標
worldborder:控制世界邊界
求我的世界java指令全套
以下是Minecraft通用指令:
clear:清除玩家的物品
clone:複製或移動某區域內的方塊
deop:撤銷玩家的管理員身份
difficulty:調整遊戲難度
effect:給予實體狀態效果
enchant:對實體手持物品進行附魔
execute:在改變執行者、執行位置和角度,添加限制條件,並儲存其輸出值的情況下執行另一條命令
experience/xp:更改玩家的經驗和等級
fill:在指定區域填充指定方塊
function:執行函數
gamemode:修改遊戲模式
gamerule:查看和修改遊戲規則
give:給予玩家指定物品
help/?:列出可用指令、查看特定指令用法
kick:將玩家踢出服務器
kill:移除或殺死實體
list:列出在服務器中的玩家
locate:定位特定結構
me:以“* 執行者名稱+動作”的格式發送一條旁白信息
op:給予玩家管理員身份
particle:顯示粒子
playsound:播放音效
reload:重新加載數據包
say:通過聊天框向玩家發送消息
schedule:在經過指定的時間後執行函數
scoreboard:管理和查看記分板的目標、玩家和隊伍
setblock:放置指定方塊
setworldspawn:設置世界出生點
spawnpoint:設置特定玩家的重生點
spreadplayers:散步玩家
stopsound:停止音效
summon:生成實體
tag:管理實體的記分板標籤
tell/msg/w:通過聊天框向玩家發送私聊信息
tellraw:向玩家發送JSON文本消息
time:設置時間
title:設置和顯示標題
teleport/tp:傳送實體
weather:設置天氣
whitelist:管理服務器中的白名單
以下是java版特有指令:
advancement:使特定玩家達成進度
attribute:管理實體屬性
ban:將玩家列入黑名單
ban-ip:將一個ip地址列入黑名單
banlist:顯示黑名單
bossbar:管理boss欄
data:查看或修改方塊或實體的nbt數據
datapack:管理數據包
debug:開始或結束調試會話
defaultgamemode:設置默認遊戲模式
forceload:強制加載區塊
item:修改方塊或實體物品欄內的物品
jfr:使用Java FlightRecorder分析數據和某些自定義事件
locatebiome:定位生物群系
loot:將指定的戰利品放入物品欄或世界
pardon:將玩家移出黑名單
pardon-ip:將一個ip地址移出黑名單
perf:記錄並保存性能分析數據
placefeature[新增:JE 1.18.2]:放置一個地物,目前不可用
publish:向局域網開放單人遊戲世界
recipe:給予或剝奪玩家配方
save-all:將服務器保存至硬盤
save-off:禁用服務器的自動保存
save-on:啟用服務器的自動保存
seed:輸出世界種子
setidletimeout:設置踢出空閑不動玩家的時間
spectate:使處於旁觀者模式的玩家進入另一個實體的視角
stop:停止服務端
team:管理隊伍
teammsg:給使用命令的實體所在的隊伍全體成員發送消息
trigger:修改一個準則為“觸發器”的記分板目標
worldborder:控制世界邊界
jsp的常用指令有哪些
Jsp包含三個編譯指令和七個動作指令。
三個編譯指令為:page、include、taglib。
七個動作指令為:jsp:forward、jsp:param、jsp:include、jsp:plugin、jsp:useBean、jsp:setProperty、jsp:getProperty。
一、編譯指令
1、 page指令
a. 通常位於jsp頁面的頂端,同一個頁面可以有多個page指令。語法格式如下:
〈% @page
[language=”Java”]
[extends=”package.class”]
[import= “package. class I package. *},…”]
[session=”true I false”]
[buffer=”none I 8kb I size kb” 1
[autoFlush=”true I false”]
[isThreadSafe=”true I false”]
[info=”text”]
[errorPage=”relativeURL”]
[contentType=”mimeType[ ;charset=characterSet]” I”text/html;charset= “808859-1”]
[isErrorPage=” true I false”]
%〉
1)language屬性,一般情況就是java,代表jsp頁面使用的腳本語言。
2)Extends屬性,確定 JSP 程序編譯時所產生的 Java 類,需要繼承的父類,或者需要實現的接口的全限定類名。
1.import屬性,用來導入包,下面幾個包是默認自動導入的,不需要顯式導入。默認導入的包有:
java.lang.*
javax.servlet.*
javax.servlet.jsp.*
javax.servlet.http.*
2.Session屬性,設定這個 JSP 頁面是否需要 HTIP session 。
3.buffer屬性,指定輸出緩衝區的大小。輸出緩衝區的 JSP 內部對象: out 用於緩存 JSP頁面對客戶瀏覽器的輸出,默認值為 8kb,可以設置為 none ,也可以設置為其他值,單位為kb
4.autoFlush屬性,當輸出緩衝區即將溢出時,是否需要強制輸出緩衝區的內容。設置為true 時為正常輸出;如果設置為 false ,會在 buffer 溢出時產生一個異常。
5.Info屬性,設置該 JSP 程序的信息,也可以看做其說明,可以通過 Servlet. getServletInfo()方法獲取該值。如果在 JSP 頁面中,可直接調用 getServletInfoO方法獲取該值,因為 JSP 頁面的實質就是 Servlet 。
errorPage屬性,指定錯誤處理頁面。如果本程序產生了異常或者錯誤,而該 JSP 頁面沒有對應的處理代碼,則會自動調用該指令所指定的 JSP 頁面。使用 JSP 頁面時,可以不處理異常,即使是 checked 異常。(重定向到對應的錯誤處理頁面,但是URL還是原來的URl,並不發生變化)如果這個頁面不存在這個屬性,那麼一旦代碼出現問題,就會在開發環境和IE瀏覽器上提示錯誤。可見這條屬性控制異常處理的效果在表現形式上要好的多。
6.IsErrorPage屬性,設置本 JSP 頁面是否為錯誤處理程序。如果該頁面本身己是錯誤處理頁面,則無須使用 errorPage 屬性。
7.ContentType屬性,用於設定生成網頁的文件格式和編碼方式,即 MIME 類型和頁面字符集類型,默認的 MIME 類型是 text/html; 默認的字符集為 ISO-8859-1 。
2、 include指令
使用 include 指令,可以將一個外部文件嵌入到當前 JSP 文件中,同時解析這個頁面中的 JSP 語句(如果有的話)。這是個靜態的 include 語旬,不會檢查所包含 JSP 頁面的變化。
include 既可以包含靜態的文本,也可以包含動態的 JSP 頁面。靜態的編譯指令include ,是將被包含的頁面加入進來,生成一個完整的頁面。
include 編譯指令的語法:
〈% @include file=”relativeURLSpec” %〉
如果被嵌入的文件經常需要改變,建議使用jsp:include操作指令,因為它是動態的 include 語句。
包含include指令的jsp頁面在部署後,經過訪問編譯生成java文件,在tomcat的 work\Catalina\localhost\project\org\apache\jsp目錄下會生成對應的java文件,這些文件與jsp的名字相同,他包含了編譯後的代碼,甚至include包含的另外一個jsp的代碼也被相應的加入了進來。
二、 動作指令
1、 forward指令:forward 指令用於將頁面響應控制轉發給另外的頁面。既可以轉發給靜態的 HTML頁面,也可以轉發到動態的 JSP 頁面,或者轉發到容器中的 Servlet。
JSP 的 forward 指令的格式如下:
對於 JSP 1. 0 ,使用如下語法:
jsp:forward page=”{relativeURL |%=expression%}” /
可使用如下語法:
jsp:forward page=”{relativeURL |%=expression%}”
{jsp:param…/}
/jsp:forward
第二種語法用於在轉發時增加額外的請求參數。增加的請求參數的值可以通過HttpServletRequest 類的 getParameter方法獲取。
2、 include指令,它是一個動態的指令,可以用於導入某個頁面。它的導入會每次檢查被導入頁面的改變。下面是include指令的使用格式:
jsp:include page=”{relativeURL |%=expression%}” flush=”true” /
或者:
jsp:include page=”{relativeURL |%=expression%}” flush=”true”
jsp:param name=”paramName” value=”paramValue”/
/jsp:include
flush 屬性用於指定輸出緩存是否轉移到被導入文件中。如果指定為劇。則包含在被導入文件中;如果指定為false,則包含在原文件中。對於JSP 1.1以下的舊版本,只能設置為false。
include和jsp:include分別為靜態導入和動態導入。他們的的區別:靜態導入是將被導入頁面的代碼完全插入,兩個頁面生成一個整體的 Servlet; 而動態導入則在 Servlet 中使用動態導入,從而將頁面引入。
3、 useBean、setProperty和getProperty指令
這三個指令都是與JavaBean相關的指令,其中useBean用於在jsp頁面初始化一個java實例,setProperty用於修改JavaBean實例的屬性,getProperty用於獲取JavaBean實例的屬性。
useBean的語法格式:
jsp:useBean id=”” class=”” scope=”page | request |session | application”
Id是JavaBean的實例名,class屬性確定JavaBean的實現類。Scope屬性確定生存範圍【頁面、請求、會話、應用】
setProperty的語法格式:
jsp:setProperty name=”” property=”” value=”” /
Name屬性確定需要設定
4、 plugin指令
plugin 指令主要用於下載服務器端的 JavaBean 或 Applet 到客戶端執行。由於程序在客戶端執行,因此客戶端必須安裝虛擬機。
plugin 的語法格式如下:
jsp:plugin type=”bean | applet”
code=”classFileName”
codebase=”classFileDiretoryName”
[name=” instanceName”]
[archive=”URLtoArchive”]
[align= “bottom I top I middle I left I right”]
[heigh=”displayPixels”]
[width=”displayPixels”]
[hspace=”leftRightPixels”]
[vspace=”topBottomPiexels”]
[jreversion=JREVersionNumber|1.2″]
[nspluginurl=”URLToPlugin”]
[iepluginurl=”URLToPlugin”]
[jsp:parames
[jsp:param name=”parameterName” value=”parameterValue” /]
/jsp:params]
[jsp:fallbacktext message for user that can no see the plugin
/jsp:fallback ]
/jsp:plugin
這些屬性的說明如下:
Type: 指定被執行的java程序的類型,是一個bean還是一個applet
Code: 指定被執行的文件名,該屬性值必須以“.class”擴展名結尾
Codebase: 指定被執行的文件目錄。
Name: 給該程序起一個名字用來標識該程序。
Archive: 指向一些要預先載入的將要使用到的類的路徑。
Hspace,Vspace: 顯示左右上下的留白。
jreversion: 能正確運行改程序必須的JRE版本。
Nsplugin,ieplugin: Netscape Navigator, Internet Exploer 下載運行所需JRE 的地址。
jsp:fallback指令:當不能正確顯示該applet時,代替顯示的提示信息。
5、 param指令
param指令用於設置參數值,這個指令本身不能單獨使用,因為單獨使用沒有意義。它可以和以下幾個指令合起來使用
jsp:include
jsp:forward
jsp:plugin
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/243976.html