天天看點

ASP.net與JavaEE文法、内置對象的對比1 各自的HelloWord版本 2 基本文法 3 内置對象 4 資料庫通路使用的對象 5 結論

<%

 Response.Write("hello asp")

%>

檔案名為test.asp。

<%@ page Language="C#" %>

 Response.Write("hello asp.net");

檔案名為test.aspx。

需要注意的是由于ASP.net支援多種語言開發,而預設的語言是VB.net,這裡使用的是C#語言,是以必須對其進行明确控制。否則編譯時會按照VB.net進行,進而報錯!

    out.println("hello jsp");

檔案名為 test.jsp

asp,aspx,jsp都采用了相同的嵌入文法<%代碼%>,都内置了用于輸出文本的對象,ASP-Response,ASP.net-Response, JSP-out。

對于語言來講,VBScript不區分大小寫,而C#和Java都區分;

對于命名習慣,VBScript和C#的類、屬性、方法首字母都大寫,而Java除了類其它的統統都習慣以小寫字母開頭。

(1)ASP

<%= %>

(2)ASP.net

(3)JSP

可見,三者完全相同。

<script Language="VBScript" runat="server>

 sub f

      Response.Write("hello asp from script")

 end sub

</script>

<script Language="C#" runat="server">

void f()

{

    Response.Write("asp.net from script");

}

<%!

   public void f()

  {

       out.println("jsp ");

  }

可見,ASP和ASP.net使用的文法相同,而JSP不一樣。

<%程式片段%>

可見三者的文法完全一樣。

(1)Request對象

代表了用戶端發送到伺服器端的資訊。攜帶了如使用者端浏覽器資訊、請求字元串、表單資料、cookies等。

(2)Response對象

代表了伺服器端傳回到用戶端的相關内容與操作,可以通過它設定傳回内容,傳回cookie設定,是否緩存等。

(3)Application對象

代表了整個應用,是應用範圍内的變量。多個頁面共享它,是以會涉及到并發通路的問題,是以提供了Lock和Unlock方法進行同步處理。

(4)Session對象

代表了一個會話,會話有一個唯一的ID辨別,用戶端一般通過cookie或者請求字元串來提供會話的辨別。

(5)Server對象

代表了伺服器端的環境,提供了注冊元件、映射路徑等基本操作。

(6)ObjectContext對象

用于控制ASP的事務處理,程式設計時很少直接用到。

作用與ASP中的Request相同。

作用與ASP中的Application相同。

作用與ASP中的Session相同。

(6)Page對象

代表目前的頁面,或者編譯後的類。

(1)request對象

作用與ASP,ASP.net中的Request相同,JSP裡是小寫。

(2)response對象

作用與ASP,ASP.net中的Response類似,JSP裡是小寫。

(3)application對象

作用與ASP,ASP.net中的Application相同,JSP裡是小寫。

(4)session對象

作用與ASP,ASP.net中的Session相同,JSP裡是小寫。

(5)out對象

實作向用戶端的輸出,作用類似ASP,ASP.net中的Response.Write()。

(6)page對象

代表目前頁面,或者編譯後的Servlet。

ASP采用了ADO技術通路資料庫。

(1)Connection類

代表了一個資料庫管理系統的連接配接。

Set conn = Server.CreateObject("ADODB.Connection")

(2)Command類

對連接配接好的資料庫執行指令。

(3)RecordSet類

記錄集。

Set rs = Server.CreateObject("ADODB.Recordset")

(4)Field類

(5)Parameter類

(6)Property類

(7)Error類

ASP.net采用ADO.net技術通路資料庫。

(1)SqlConnection

與ASP中的Connection一樣。

(2)SqlCommand

與ASP中的Command一樣。

(3)DataSet

與ASP中的RecordSet類似。

JSP采用了JDBC技術來通路資料庫。

負責資料庫的 連接配接。

(2)Statemaent類

類似于ASP中的Command,負責SQL語句的執行。

(3)ResultSet

結果集,類似于ASP的RecordSet,以及ASP.net的DataSet。

通過分析比較可以看出ASP,ASP.net,JSP有着非常多的共同點,都是對Http以及SQL資料庫處理的規範化與流程化,其設計思路完全一緻,隻是技術實作存在細節差異。

盡管各自的開發環境、編碼規範等等也存在不小的差異,但是由于其設計理念和處理流程極其類似,是以一個項目一開始往往隻有一個版本,一旦後來發展的 比較好,就會陸續推出其他平台的版本,比如discuz最早就是PHP開發的,後來有了ASP.net的版本。同樣一個程式員如果真正掌握了任何一種平 台,其開發經驗90%都可以用到其他平台上,很多程式員在ASP.net和JSP之間轉換隻需要2周時間,這并不奇怪。