[筆記] 傳智播客-javaWeb筆記(5)
阿新 • • 發佈:2019-02-08
Jsp與Servelet的區別:
1)Jsp是在Serverlet的基礎上發展起來的
2)Serverlet一般用於處理沒有介面的業務邏輯,如果處理有介面的程式,就顯示比較笨拙
Serverlet用out.println一句一句的輸出Html標記(介面),當整個網頁非常多且複雜的時候
就會有很多的out.println來輸出html標記
3)Jsp很好的解決了這個問題,對於Html標記可以直接書寫,只有需要寫程式程式碼時才以
<% %>的方式加入
4)Jsp把介面部分與程式碼部分分離,這樣可以在開發網站時實現分工。美工只管介面部分,而
程式設計師只管程式碼部分
Jsp的語法:
A)Jsp的輸出:out.println用來輸出
1)輸出字串:out.println("字串")
2)輸出Java指令碼:out.println("<script>alert('我是真的愛你');</script>");
3)輸出Html標記:out.println("<a href=http://www.sina.com>新浪網</a>");
連結到QQ對話 ut.println("<a target=blank href=http://wpa.qq.com/msgrd?v=1&uin=16663755&site=walmart&menu=yes>留言</a>");
B)表示式。<%=Java表示式%>。表示式後面不要加分號
例如:<%=Math.max(100,90)%>,<%=3+4*5%>等
C)Scriptlet:
Scriptlet就是在<%.....%>裡面嵌入Java程式碼。它在形式上與表示式的區別就是在
<%...%>裡面沒有"=",而且中間是一段Java程式碼,不是表示式,每條語句要以分號
結尾。舉例說明
D)宣告:<% ! Java變數,方法 %>
1):宣告變數: <%! int a=3,b=4 %>
2)宣告類:
<%!
public class stud
{
public String GetId()
{
return "W1";
}
}
%>
3)宣告函式:
<%!
public int sum(int a,int b)
{
return a+b;
}
%>
說明:
1)宣告變數即可以在<%! %>只能夠宣告,不能實現
比如:<%! int a=3,b=4,c; c=a+b;%>錯誤<%! int a=3,b=4,int c=a+b;%>正確
2)宣告變數既可以<%! %>中宣告,也可以在<%中宣告%>。
<%! %>中宣告的變數:servlet(Jsp最終要轉換成Serverlet)的例項變數。
根據Servlet的原理,所以的客戶端只共享一個Serlvet的例項,所以在此處定義的
變數可以其它的頁面來共享,也就是具備有繼承性
<% %>中宣告的變數:是區域性變數,只能夠給本頁面使用,不具備繼承性
<%!
int i=0; //例項變數,有繼承性
%>
<%
i++;
out.println(i);
%>
與的區別
<%
int i=0; //區域性變數,無繼承性
i++;
out.println(i);
%>
3)但是宣告函式與類只能夠在<%! %>中宣告,而不能在<% %>
4)一般宣告變數都在<% %>中宣告,而宣告函式與類都在<%!中宣告%>
5)為了程式碼的可讀性一般都把類用一個單獨的Java檔案來儲存,而不會在一個
Jsp頁面中去定義
1)Jsp是在Serverlet的基礎上發展起來的
2)Serverlet一般用於處理沒有介面的業務邏輯,如果處理有介面的程式,就顯示比較笨拙
Serverlet用out.println一句一句的輸出Html標記(介面),當整個網頁非常多且複雜的時候
就會有很多的out.println來輸出html標記
3)Jsp很好的解決了這個問題,對於Html標記可以直接書寫,只有需要寫程式程式碼時才以
<% %>的方式加入
4)Jsp把介面部分與程式碼部分分離,這樣可以在開發網站時實現分工。美工只管介面部分,而
程式設計師只管程式碼部分
Jsp的語法:
A)Jsp的輸出:out.println用來輸出
1)輸出字串:out.println("字串")
2)輸出Java指令碼:out.println("<script>alert('我是真的愛你');</script>");
3)輸出Html標記:out.println("<a href=http://www.sina.com>新浪網</a>");
連結到QQ對話
B)表示式。<%=Java表示式%>。表示式後面不要加分號
例如:<%=Math.max(100,90)%>,<%=3+4*5%>等
C)Scriptlet:
Scriptlet就是在<%.....%>裡面嵌入Java程式碼。它在形式上與表示式的區別就是在
<%...%>裡面沒有"=",而且中間是一段Java程式碼,不是表示式,每條語句要以分號
結尾。舉例說明
D)宣告:<% ! Java變數,方法 %>
1):宣告變數: <%! int a=3,b=4 %>
2)宣告類:
<%!
public class stud
{
public String GetId()
{
return "W1";
}
}
%>
3)宣告函式:
<%!
public int sum(int a,int b)
{
return a+b;
}
%>
說明:
1)宣告變數即可以在<%! %>只能夠宣告,不能實現
比如:<%! int a=3,b=4,c; c=a+b;%>錯誤<%! int a=3,b=4,int c=a+b;%>正確
2)宣告變數既可以<%! %>中宣告,也可以在<%中宣告%>。
<%! %>中宣告的變數:servlet(Jsp最終要轉換成Serverlet)的例項變數。
根據Servlet的原理,所以的客戶端只共享一個Serlvet的例項,所以在此處定義的
變數可以其它的頁面來共享,也就是具備有繼承性
<% %>中宣告的變數:是區域性變數,只能夠給本頁面使用,不具備繼承性
<%!
int i=0; //例項變數,有繼承性
%>
<%
i++;
out.println(i);
%>
與的區別
<%
int i=0; //區域性變數,無繼承性
i++;
out.println(i);
%>
3)但是宣告函式與類只能夠在<%! %>中宣告,而不能在<% %>
4)一般宣告變數都在<% %>中宣告,而宣告函式與類都在<%!中宣告%>
5)為了程式碼的可讀性一般都把類用一個單獨的Java檔案來儲存,而不會在一個
Jsp頁面中去定義