1. 程式人生 > >[筆記] 傳智播客-javaWeb筆記(5)

[筆記] 傳智播客-javaWeb筆記(5)

           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頁面中去定義