從web開發看.NET和Java。

來源:互聯網
上載者:User

從web開發看.NET和Java。

以下都是個人觀點,僅供參考,歡迎提出不同意見!

首先聲明本文只從一個角度來說一下.NET和Java,而且只說一個點,可以肯定的是,本文的觀點肯定是片面的,但是我覺得可以說明一些問題,或者作為一些參考。

我個人不排斥任何技術,也認為任何技術都可以實現同一個業務目的。

個人涉獵過.NET, Java, Python, Rails,有的時間長些,有的時間短些。

技術是為商務服務的,或者是為某種商業或者非商業的目的來服務的,為了實現目的,為了提升效率,為了節省時間,應該說使用任何程式設計語言、任何編程平台,在大部分的場合都可以實現同一個目標。

語言和平台沒有高低優劣,只有情境適用。

首先語言是某個人,或者是某個團體,或者是某個公司,或者是某個行業領導團體,為了實現某種目的,加快某種業務,發明設計的,所以在設計的時候不免會打上發明者的烙印,發明者會希望,甚至會引導使用者以發明者希望的方式去使用這種語言。這就會影響不同語言的風格,使用風格,學習風格,還會產生一些所謂的語言之爭。

其實每種語言都會全面開發方式:包括高層的,也就是封裝好的,你只需要關注商務邏輯代碼,寫商務邏輯代碼就可以了;也包括底層的,也就是原始的開發方式,需要你在寫商務邏輯代碼的同時指定一些技術的參數,一些底層的參數需要你設定。

有的語言會引導你從高層先進入,然後在你需要的時候你再去選擇使用底層的方式。有的語言會直接引導你進入底層,然後提供你高層的方式。

就拿.NET和Java的web開發舉個例子。

.NET中可以使用ASP.NET做web開發,他有一種方式叫做WebForm,就是你可以直接拖控制項到web頁面,然後雙擊控制項,在背後寫代碼,比如註冊按鈕的背後寫一些註冊的商務邏輯。就好像你在開發WinForm案頭應用一樣,寫過VB的人都會明白。在這種開發方式中你可以不管http方面的知識,不對http進行任何操作,也可以做出web應用。甚至你在看微軟的一些WebForm視頻教程中,他也沒有主動向你介紹http的知識。所以可能給一些的人造成一種:我開發web不用管http的印象。直到很久,甚至幾年之後才理解到還需要http的知識才能更好的開發web應用。當然,你用WebForm也可以設定http的一些參數,只是通常大家沒有這麼使用。

但是ASP.NET也有底層的方式。它提供了一個IHttpHandler介面,你可以實現這個介面,來處理一次http請求,甚至沒有區分請求是GET還是POST,反正就是一次請求,具體控制和http參數設定,完全交給你來實現。它還有一個IHttpModule介面,實現這個介面,你可以對請求的過程進行控制和定製。比如說對請求的內容做一些額外的處理,許可權控制,請求過濾之類的事情。

 

 
  1. /// <summary> 
  2.    /// Summary description for AddContact 
  3.    /// </summary> 
  4.    public class AddContact : IHttpHandler 
  5.    { 
  6.  
  7.        public void ProcessRequest(HttpContext context) 
  8.        { 
  9.            context.Response.ContentType = "text/plain"; 
  10.            context.Response.Write("Hello World"); 
  11.        } 
  12.  
  13.        public bool IsReusable 
  14.        { 
  15.            get 
  16.            { 
  17.                return false; 
  18.            } 
  19.        } 
  20.    } 

Java是提供你一個基類HttpServlet ,繼承這個基類,有兩個方法doGet和doPost,可以接受get和post請求。如果你從java入門開發web應用,你就需要知道http的get和post,以及http的一些細節,因為在開發的時候就需要你理解和正確設定,才能有結果。

java也會有一些web開發架構,為了方便你的開發,也會向你隱藏一些實現的細節,讓你專註於業務開發。

ASP.NET還有一個MVC架構,也是通過擴充ASP.NET的IHttpHandler和IHttpModule來實現的。

說到這裡,相信有一部分讀者已經理解和明白我想說明的問題了。

 

本文出自 “突破中的IT結構師” 部落格,請務必保留此出處http://virusswb.blog.51cto.com/115214/1128193

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.