jsp中寫java代碼成為scriptlet,寫在%%之間就可以了。
發(fā)展壯大離不開廣大客戶長(zhǎng)期以來(lái)的信賴與支持,我們將始終秉承“誠(chéng)信為本、服務(wù)至上”的服務(wù)理念,堅(jiān)持“二合一”的優(yōu)良服務(wù)模式,真誠(chéng)服務(wù)每家企業(yè),認(rèn)真做好每個(gè)細(xì)節(jié),不斷完善自我,成就企業(yè),實(shí)現(xiàn)共贏。行業(yè)涉及柴油發(fā)電機(jī)等,在成都網(wǎng)站建設(shè)、成都全網(wǎng)營(yíng)銷、WAP手機(jī)網(wǎng)站、VI設(shè)計(jì)、軟件開發(fā)等項(xiàng)目上具有豐富的設(shè)計(jì)經(jīng)驗(yàn)。
Scriptlet是包含在%和%之間的Java代碼,在Web容器處理JSP頁(yè)面時(shí)執(zhí)行,通常會(huì)產(chǎn)生輸出,并將輸出發(fā)送到客戶的輸出流里。Scriptlet除了不能定義類和方法、不能用import引入類外,可以包含任何有效的Java代碼。(Java類在Jsp外部定義,可用page指令的import屬性引入,也可以Java Bean的形式使用。Java中的方法必須在類內(nèi)定義,但Jsp允許使用聲明定義方法。窗體(GUI)設(shè)計(jì)代碼在Jsp中無(wú)效)。
Scriptlet例程:
%@ page contentType="text/html; charset=gb2312" %
html
head
titleJSP基本語(yǔ)法/title
/head
body
h1Scriptlet示例頁(yè)面/h1
table border="1"
caption乘法口訣表/caption
%-- 在網(wǎng)頁(yè)中嵌入Java代碼的主要方法 --%
%
for(int i=1; i=9; i++) {
int j=1;
//out是JSP的一個(gè)內(nèi)部對(duì)象,print方法用于向客戶端輸出數(shù)據(jù)
out.println("tr");
for(; j=i; j++) {
out.print("td" + j + "*" + i + "=" + j*i + "/td");
}
for(;j=9;j++) {
out.print("td /td");
}
out.println("/tr");
}
%
/table
/body
/html
%! %是在service方法的外面定義變量和寫入語(yǔ)句的,也就是在servlet中定義變量,而我們知道servlet在被container加載后只生成一個(gè)對(duì)象而已,然后所有的請(qǐng)求都在service方法里面被處理。所以如果你在servlet中定義了變量,那么所有的請(qǐng)求可以共用這一個(gè)變量了。
最簡(jiǎn)單的應(yīng)用就是,你要計(jì)算有多少人訪問了這一個(gè)JSP頁(yè)面,那么就可以把變量i定義在servlet中,然后在JSP文件里面加一句i++;,這樣就可以統(tǒng)計(jì)有多少人訪問了你這個(gè)頁(yè)面了。
至于% %這個(gè)嘛,就是在service方法里啦。
jsp的組成: jsp = html + java腳本 + jsp標(biāo)簽(指令)
jsp中無(wú)需創(chuàng)建即可使用的對(duì)象一共有9個(gè),被稱之為9大內(nèi)置對(duì)象。例如:request對(duì)象、out對(duì)象
3種java腳本:
%...%:java代碼片段
%=...%:java表達(dá)式
%!...%:聲明,用來(lái)創(chuàng)建類的成員變量和成員方法
jsp其實(shí)是一種特殊的Servlet,在html中通過(guò)java腳本就可以嵌入java代碼,輸出一些內(nèi)容。
jsp文件中存在一些java代碼是在所難免的,不然也不用使用jsp了,純html就好了嘛,但對(duì)于題目中的“一部分”是指多少并未可知,如果太多確實(shí)會(huì)有影響的,所以一般不建議這樣做,影響大致如下所列:
1、根據(jù)MVC思想,JSP屬于VIEW層,不宜存在太多java的代碼,view層應(yīng)該只有布局、樣式相關(guān)的代碼,jsp中包含太多java代碼就和MVC思想有出入了。
2、可讀性差,大多公司中,JSP是有專業(yè)的前臺(tái)人員進(jìn)行維護(hù)的,但這些前臺(tái)人員,只需要具備HTML、JS、CSS、JQUERY等前端技術(shù),一般都不懂得Java代碼,在jsp中寫太多java代碼,會(huì)使可讀性變差,不便于前臺(tái)人員維護(hù)。
3、不便于維護(hù)。把多數(shù)java代碼寫在jsp頁(yè)面中,而更多的代碼還是在后臺(tái)的java文件中的,這樣在開發(fā)過(guò)程中就需要多個(gè)文件一起看,出了問題也要一起修改,這要造成了維護(hù)代碼的負(fù)擔(dān)。
4、不易于調(diào)試。其實(shí)更確切的說(shuō)是不能調(diào)試。jsp文件中是無(wú)法加斷點(diǎn)的,這樣寫出的代碼如果存在問題卻編譯通過(guò)的話,想找起來(lái)會(huì)相當(dāng)麻煩。
也正因?yàn)闀?huì)有上述所說(shuō)的這些影響,但開發(fā)者又有時(shí)需要在jsp中輸入java代碼,所以才有jstl、el表達(dá)式等技術(shù)出現(xiàn)可以在jsp頁(yè)面替換掉那些復(fù)雜的java代碼。