您好,登錄后才能下訂單哦!
一、什么是JSP?
HTML+Java代碼+jsp標簽=jsp。
在靜態頁面上添加動態信息就可以了,如果是Servlet還需要一行一行的輸出。
通常在前臺開發人員給出靜態頁面后,后臺開發人員只需要在靜態頁面上添加信息即可,而不用再使用Sevlet一行一行的去輸出了。
二、JSP的真身:Servlet
當客戶請求的是JSP頁面的時候,服務器會查看JSP對應的Servlet是否存在,如果存在,那么直接調用Sevlet的service()方法來處理請求。如果不存在,那么服務器會先把JSP編譯成.java文件,然后再把.java文件編譯成.class文件,然后調用service()方法。當這個jsp頁面,第二次處理請求時,就直接調用真身的sercie()方法了。
JSP是servlet,JSP與我們編寫的Servlet有什么不同呢?通常我們編寫的Servlet就不要輸出HTML代碼了,而是轉發到JSP頁面。
即Servlet不再負責顯示頁面,而由JSP來完成。Servlet專注于控制層的內容。
在"真身"中,所有的靜態內容會被輸出。例如<html>是靜態內容,它對應"真身"中的out.write("<html>");
三、JSP的腳本元素
JSP中的Java代碼塊就是最常見的動態信息,它分為三種:
<%...%>:代碼片段。代碼片段會原模原樣的出現在“真身”中,不會有變動。正常的Java代碼都可以在代碼片段中出現。
<%=...%>:表達式。表達式會在“真身”中輸出,例如:<%=a%>,對應真身中的out.print(a)。只能出現變量、常量,以及有返回值的方法調用,而不能出現分號!即在out.println()的合法參數都可以。
<%=a%>對應out.print(a);
<%="a"%>對應out.print("a");
<%=fun()%>對應out.print("fun()");
<%=a;%>對應out.print(a;);出錯
<%=System.out.print("hello")%>對應out.print("System.out.print("hello")"),出錯。
<%!...%> :聲明。聲明對應“真身”中的屬性和方法。
四、EL
JSP2.0要把HTML和CSS分離、要把HTML和JavaScript分離、要把Java代碼塊替換成標簽。標簽的好處就是非Java人員都可以使用。
JSP2.0--純標簽頁面,即:不包括<%...%>、<%=...%>、<%!...%>
EL(Expression Language)是一門表達式語言,它杜繼英<%=...%>。我們知道在JSP頁面中,表達式會被輸出,所以EL表達式也會被輸出。
EL表達式的格式::${...},例如${1+2}。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。