溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

JSP、EL的快速入門

發(fā)布時間:2020-07-03 19:06:38 來源:網(wǎng)絡(luò) 閱讀:487 作者:Java大S 欄目:開發(fā)技術(shù)

一、什么是JSP?

  HTML+Java代碼+jsp標(biāo)簽=jsp。

  在靜態(tài)頁面上添加動態(tài)信息就可以了,如果是Servlet還需要一行一行的輸出。

  通常在前臺開發(fā)人員給出靜態(tài)頁面后,后臺開發(fā)人員只需要在靜態(tài)頁面上添加信息即可,而不用再使用Sevlet一行一行的去輸出了。


二、JSP的真身:Servlet

  當(dāng)客戶請求的是JSP頁面的時候,服務(wù)器會查看JSP對應(yīng)的Servlet是否存在,如果存在,那么直接調(diào)用Sevlet的service()方法來處理請求。如果不存在,那么服務(wù)器會先把JSP編譯成.java文件,然后再把.java文件編譯成.class文件,然后調(diào)用service()方法。當(dāng)這個jsp頁面,第二次處理請求時,就直接調(diào)用真身的sercie()方法了。

JSP、EL的快速入門

  JSP是servlet,JSP與我們編寫的Servlet有什么不同呢?通常我們編寫的Servlet就不要輸出HTML代碼了,而是轉(zhuǎn)發(fā)到JSP頁面。

  即Servlet不再負(fù)責(zé)顯示頁面,而由JSP來完成。Servlet專注于控制層的內(nèi)容。

  在"真身"中,所有的靜態(tài)內(nèi)容會被輸出。例如<html>是靜態(tài)內(nèi)容,它對應(yīng)"真身"中的out.write("<html>");


三、JSP的腳本元素

  JSP中的Java代碼塊就是最常見的動態(tài)信息,它分為三種:

    <%...%>:代碼片段。代碼片段會原模原樣的出現(xiàn)在“真身”中,不會有變動。正常的Java代碼都可以在代碼片段中出現(xiàn)。

    <%=...%>:表達(dá)式。表達(dá)式會在“真身”中輸出,例如:<%=a%>,對應(yīng)真身中的out.print(a)。只能出現(xiàn)變量、常量,以及有返回值的方法調(diào)用,而不能出現(xiàn)分號!即在out.println()的合法參數(shù)都可以。

      <%=a%>對應(yīng)out.print(a);

      <%="a"%>對應(yīng)out.print("a");

      <%=fun()%>對應(yīng)out.print("fun()");

      <%=a;%>對應(yīng)out.print(a;);出錯

      <%=System.out.print("hello")%>對應(yīng)out.print("System.out.print("hello")"),出錯。

    <%!...%> :聲明。聲明對應(yīng)“真身”中的屬性和方法。


四、EL

  JSP2.0要把HTML和CSS分離、要把HTML和JavaScript分離、要把Java代碼塊替換成標(biāo)簽。標(biāo)簽的好處就是非Java人員都可以使用。

  JSP2.0--純標(biāo)簽頁面,即:不包括<%...%>、<%=...%>、<%!...%>

  EL(Expression Language)是一門表達(dá)式語言,它杜繼英<%=...%>。我們知道在JSP頁面中,表達(dá)式會被輸出,所以EL表達(dá)式也會被輸出。

  EL表達(dá)式的格式::${...},例如${1+2}。

  


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI