俺眼裡的 Asp.Net vs. JSP

來源:互聯網
上載者:User
要知己知彼,孫子同學說的。用3天瞭解了下J2EE(其實是Struts、Spring、Hibernate這些J2SE的東東搞出來的符合JavaEE規範的東東,當然J2EE架構還有很多,俺就純入門,有錯請指正),稍微和Asp.Net對比一下。

.aspx和.jsp的訪問過程:

Asp.Net Page是一個HttpHandler,預設是處理到*.aspx的請求。Asp.Net request pipeline大致是:IIS到aspnet_isapi -> HttpModule1 -> HttpModule2 -> ... -> HttpModuleN -> 對應的HttpHandler -> Response給IIS。不要覺得Page特殊,他只是Asp.Net的N個HttpHandler和N個Control其中一個。

Jsp頁面是一個Servlet。一種訪問伺服器資源方式是直接存取*.jsp,另外一種是通過servlet-mapping訪問一個servlet。不管是哪一種,一般實際可用的Rquest->Response過程都要經過一個以上的servlet。但不好說servlet更像HttpModule還是HttpHandler,因為一般對什麼檔案的request被送給Servlet Container(比如Tomcat)不是他可控的,而是前端伺服器(比如Apache),而進了Servlet Container以後就沒HttpModule、HttpHandler粒度分的這麼細了。

WebForm模型 vs. MVC模型:

區別太多了。。可以看看一個Asp.Net的MVC實現MonoRail和WebForm的對比,個人感覺對Enterprise的應用絕對是MVC好,整個Application的邏輯清晰,易於管理維護;WebForm的優點是單一頁面邏輯清晰,而且在VS的Visual Web Developer這個強大的IDE和控制項機制下提供很好的DesignView(BEA的Jsp Editor是eclipse外掛程式,也可作可視化開發,不過由於Jsp沒控制項這個概念,不好做到準確的Design time rendering)。所以Asp.Net做中小型應用產能絕對高,但要做大型應用,除了原來已有系統更換成本大、Windows太爛之類的因素以外,主觀上他也難做好。(不過俺設想和WF結合起來後會有改善)

Data Access:

相信95%以上的Web應用說白了就是資料庫CRUD,資料訪問絕對是最重要的。Java下面要純ORM的大多數都用Hibernate,特點是難配置,代碼優雅,速度貌似不咋的(當然快慢和寫設定檔的水平有很大關係);還有一種折衷的是用iBatis,這個要自己寫SQL然後M到O,感覺有點不純正,不過效率上應該沒問題了。

而Asp.Net下面的DAL大多是移植的(很多XXX Java項目都有移植,加個N-或者.Net變成NXXX、XXX.Net再到SF一搜。。)。比較著名的還是NHibernate和iBatis.Net,還有Enterprise Library的DAAB。後來有ActiveRecord對NHibernate的進一步封裝,貌似不錯的樣子。不過俺一個可憐的學生沒機會接觸大項目,用可愛的SubSonic加預存程序就能過的挺好,所以也不清楚哪個好。。

Day Dreaming:

Sun已經承諾Java開源了,而.Net想跨個平台還要用Mono,M$有點對不起搞.Net的程式員哦。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.