.NET架構轉Java開發必須瞭解的歷史

終於不在職守在.NET領域 .NET的winform和webform項目也開發了不少了  尤爲是WEB領域 從ASP -> ASP.NET 2.0 -> ASP.NET MVC 4.0 ->  ASP.NET CORE(這塊尚未研究和實際項目經驗) php

決定本身學Java的根本緣由 是目前前端流行的大趨勢下 利用ASP.NET基本上就是開發後端API接口 數據交互到前端頁面 由前端UI框架進行展現 以及實現交互功能前端

既然工做主要集中在前端了 後端僅僅是數據接口以及簡單的頁面參數傳值和綁定 那麼多學一個java 多學一個php 也就能多會一種開發語言開發Web項目java

至此,利用.NET已有比較經典又複雜的頁面,對應的去學習Java對應的架構 實現利用Java編碼完成相同的效果 也就只是時間問題了程序員

.NET架構:Visual Studio + ASP.NET(webmethod異步方法)+ EntityFramework ORM web

Java架構:Intellij idea + Servlet/JSP/JSP+JavaBean + Hibernate 5.1/5.2 ORM數據庫

目前已經基本學會使用maven構建項目 以及掌握HB的各類用法,那麼剩下的就是中間的網頁技術了 下面的文章就是本身的轉載,比較好的讓我瞭解了java web那邊的技術發展進程,其實和.NET這邊真的是有對應的 因此學起來應該很好理解後端

轉帖內容1:設計模式

首先sun提出的是Servlet體系,這個體系使得使用JAVA的程序員也能開發基於B/S架構的WEB應用程序,使用Servlet類將HTTP請求和響應封裝在標準JAVA類中來實現各類WEB應用方案。這一步也是sun的J2EE架構中的最關鍵的一步。
隨着大量的B/S架構程序開發出來之後,人們發現Servlet類的編寫是很是繁瑣的,主要集中在幾個問題上:首先有大量冗餘代碼,這些代碼在每一個servlet類中都是如出一轍或者基本近似的,其次是開發Servlet的程序員不多有精通美工的,致使使用Servlet開發沒法方便的作到各類頁面效果和豐富多彩的風格,這個時候sun借鑑了微軟的ASP方式,正式提出JSP(也就是Servlet 1.1),JSP推出後,JAVA程序員也能象ASP的程序員那樣將服務端代碼添加在已經由美工設計好的靜態頁面上,通過一個JSP容器對JSP文件進行自動解析並轉換成Servlet類來交給WEB服務器運行。這麼一來,極大的提升了工做效率。
人的渴望老是無止境的~~,隨着JSP的普遍應用和各類設計模式的盛行,人們發現JSP也暴露了大量的問題:首先,夾雜服務端代碼的JSP文件給後期維護和頁面風格再設計帶來大量阻礙,美工在修改頁面的時候不得不面對大量看不懂的服務端代碼,程序員在修改邏輯的時候常常會被複雜的客戶端代碼搞昏。交叉的工做流使得JSP面臨大量的困境。這直接致使了servlet1.2的出臺,sun在這一版中充分倡導了MVC的概念,大量頁面標籤的使用使得交叉工做流變的稍微的容易了,服務端標籤的兼容性使得美工也能夠直接隨意移動這些標籤而獲得對應的效果。可是又暴露了一些問題:設計的差的標籤使得程序的錯誤得不到檢測,不成熟的代碼致使沒法真正的使服務端標籤能夠和客戶端標籤那樣隨意移動而不會致使邏輯錯誤。這些都有待咱們去解決~

BTW:這個過程當中有個搞笑事情,sun借鑑微軟的ASP提出了JSP,而微軟又借鑑SUN的JSP架構完善了ASP.net的架構,因此咱們看到,經過不斷的競爭與完善,技術老是會讓咱們逐漸的駕輕就熟,因此盡情享受吧呵呵~。服務器

轉帖內容2:網絡

單的說,SUN首先發展出SERVLET,其功能比較強勁,體系設計也很先進,只是,它輸出HTML語句仍是採用了老的CGI方式,是一句一句輸出,因此,編寫和修改HTML很是不方便。後來SUN推出了相似於ASP的鑲嵌型的JSP,把JSP TAG鑲嵌到HTML語句中,這樣,就大大簡化和方便了網頁的設計和修改。新型的網絡語言如ASP,PHP,JSP都是鑲嵌型的SCRIPT語言。從網絡三層結構的角度看,一個網絡項目最少分三層:data layer,business layer, presentation layer。固然也能夠更復雜。SERVLET用來寫business layer是很強大的,可是對於寫presentation layer就很不方便。JSP則主要是爲了方便寫presentation layer而設計的。固然也能夠寫business layer。寫慣了ASP,PHP,CGI的朋友,常常會不自覺的把presentation layer和business layer混在一塊兒。就象前面那個朋友,把數據庫處理信息放到JSP中,其實,它應該放在business layer中。根據SUN本身的推薦,JSP中應該僅僅存放與presentation layer有關的東東,也就是說,只放輸出HTML網頁的部份。而全部的數據計算,數據分析,數據庫聯結處理,通通是屬於business layer,應該放在JAVA BEANS中。經過JSP調用JAVA BEANS,實現兩層的整合。實際上,微軟前不久推出的DNA技術,簡單說,就是ASP+COM/DCOM技術。與JSP+BEANS徹底相似,全部的presentation layer由ASP完成,全部的business layer由COM/DCOM完成。經過調用,實現整合。爲何要採用這些組件技術呢?由於單純的ASP/JSP語言是很是低效率執行的,若是出現大量用戶點擊,純SCRIPT語言很快就到達了他的功能上限,而組件技術就能大幅度提升功能上限,加快執行速度。另一方面,純SCRIPT語言將presentation layer和business layer混在一塊兒,形成修改不方便,而且代碼不能重複利用。若是想修改一個地方,常常會牽涉到十幾頁CODE,採用組件技術就只改組件就能夠了。綜上所述,SERVLET是一個早期的不完善的產品,寫business layer很好,寫presentation layer就很臭,而且兩層混雜。因此,推出JSP+BAEN,用JSP寫presentation layer,用BAEN寫business layer。SUN本身的意思也是未來用JSP替代SERVLET。但是,這不是說,學了SERVLET沒用,實際上,你仍是應該從SERVLET入門,再上JSP,再上JSP+BEAN。強調的是:學了JSP,不會用JAVA BEAN並進行整合,等於沒學。你們多花點力氣在JSP+BEAN上。

相關文章
相關標籤/搜索