什么是JSP?
站在用戶的角度思考問(wèn)題,與客戶深入溝通,找到松陽(yáng)網(wǎng)站設(shè)計(jì)與松陽(yáng)網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:
成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、
申請(qǐng)域名、網(wǎng)絡(luò)空間、企業(yè)郵箱。業(yè)務(wù)覆蓋松陽(yáng)地區(qū)。
JSP全稱是Java Server Pages,它和servle技術(shù)一樣,都是SUN公司定義的一種用于開發(fā)動(dòng)態(tài)web資源的技術(shù)。 JSP這門技術(shù)的大的特點(diǎn)在于,寫jsp就像在寫html,但: 它相比html而言,html只能為用戶提供靜態(tài)數(shù)據(jù),而Jsp技術(shù)允許在頁(yè)面中嵌套java代碼,為用戶提供動(dòng)態(tài)數(shù)據(jù)。 相比servlet而言,servlet很難對(duì)數(shù)據(jù)進(jìn)行排版,而jsp除了可以用java代碼產(chǎn)生動(dòng)態(tài)數(shù)據(jù)的同時(shí),也很容易對(duì)數(shù)據(jù)進(jìn)行排版。 Jsp快速入門:在jsp頁(yè)面中輸出當(dāng)前時(shí)間。
JSP原理
- tomcat通過(guò)解析,找到myetest項(xiàng)目下的index.jsp
- 判斷index.jsp對(duì)應(yīng)的的servelet對(duì)象是否存在
- 如果不存在,經(jīng)過(guò)首先把index.jsp翻譯成java文件,然后JVM編譯成對(duì)應(yīng)的CLASS字節(jié)碼文件,并調(diào)用_jspInt初始化(3)相關(guān)的對(duì)象,接著調(diào)用_JspService方法將響應(yīng)結(jié)果發(fā)給瀏覽器
- 如果存在,直接通過(guò)(4)調(diào)用_JspService方法將響應(yīng)結(jié)果發(fā)給瀏覽器.
JSP腳本表達(dá)式
- JSP腳本表達(dá)式(expression)用于將程序數(shù)據(jù)輸出到客戶端
- 語(yǔ)法:<%= 變量或表達(dá)式 %>
- 舉例:當(dāng)前時(shí)間:<%= new java.util.Date() %>
- JSP引擎在翻譯腳本表達(dá)式時(shí),會(huì)將程序數(shù)據(jù)轉(zhuǎn)成字符串,然后在相應(yīng)位置用out.write(…) 將數(shù)據(jù)輸給客戶端。
- JSP腳本表達(dá)式中的變量或表達(dá)式后面不能有分號(hào)(;)。
JSP腳本片斷
- JSP腳本片斷(scriptlet)用于在JSP頁(yè)面中編寫多行Java代碼。
- 語(yǔ)法:
<% 多行java代碼 %>
- 注意:JSP腳本片斷中只能出現(xiàn)java代碼,不能出現(xiàn)其它模板元素, JSP引擎在翻譯JSP頁(yè)面中,會(huì)將JSP腳本片斷中的Java代碼將被原封不動(dòng)地放到Servlet的_jspService方法中。
- JSP腳本片斷中的Java代碼必須嚴(yán)格遵循Java語(yǔ)法,例如,每執(zhí)行語(yǔ)句后面必須用分號(hào)(;)結(jié)束。
- 多個(gè)腳本片斷中的代碼可以相互訪問(wèn),猶如將所有的代碼放在一對(duì)<%%>之中的情況。如:out.println(x);
- 單個(gè)腳本片斷中的Java語(yǔ)句可以是不完整的,但是,多個(gè)腳本片斷組合后的結(jié)果必須是完整的Java語(yǔ)句,例如:
%
for (int i=1; i<5; i++)
{
%>
www.itcast.cn
<%
}
%>
JSP聲明
- SP頁(yè)面中編寫的所有代碼,默認(rèn)會(huì)翻譯到servlet的service方法中, 而Jsp聲明中的java代碼被翻譯到_jspService方法的外面,即實(shí)例變量。
- 語(yǔ)法: <%! java代碼 %> 所以,JSP聲明可用于定義JSP頁(yè)面轉(zhuǎn)換成的Servlet程序的靜態(tài)代碼塊、成員變量和方法
- 。 多個(gè)靜態(tài)代碼塊、變量和函數(shù)可以定義在一個(gè)JSP聲明中,也可以分別單獨(dú)定義在多個(gè)JSP聲明中。
- JSP隱式對(duì)象的作用范圍僅限于Servlet的_jspService方法,所以在JSP聲明中不能使用這些隱式對(duì)象。
<%!
static
{
System.out.println("loading Servlet!");
}
private int globalVar = 0;
public void jspInit()
{
System.out.println("initializing jsp!");
}
%>
<%!
public void jspDestroy()
{
System.out.println("destroying jsp!");
}
%>
JSP注釋
- JSP注釋的格式: <%-- 注釋信息 --%>
- JSP引擎在將JSP頁(yè)面翻譯成Servlet程序時(shí),忽略JSP頁(yè)面中被注釋的內(nèi)容。
做做筆記,傳播知識(shí),我是個(gè)勤勞的搬運(yùn)工
1224144402@qq.com
當(dāng)前名稱:JSP以及JSP解析原理-創(chuàng)新互聯(lián)
文章起源:
http://weahome.cn/article/dppdpc.html