Re: [J2EE] 初學者問題:JavaEE 到底是什麼?

看板java作者 (全新開始)時間11年前 (2014/07/03 01:31), 11年前編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/3 (看更多)
※ 引述《aoisama (普通人)》之銘言: : 原po是 web developer,熟悉的技術是PHP, Ruby on Rails : 對於Java,一直以來最多是用 Java SE 做點小工具 : Java 是熱門語言,於是想說來學 Java web : 還沒開始就被一堆名詞打昏 : 看了一堆介紹我還是不知道 JavaEE 到底是什麼? 可以想成是集合一系列技術標準所形成的平台 http://zh.wikipedia.org/wiki/Java_EE 當提供系統執行環境的廠商有支援 JavaEE 時, 意思就是以 JavaEE 技術為基礎往上加蓋開發的應用程式能在上面跑 : 我的理解是 JavaEE 簡單的說就是做 web 用的 比這再多一點點, 或者說是做更複雜的 web 系統 : jsp + servlet + EJB = JavaEE : 這麼說來,SSH(Struts + Spring + Hibernate) 就不是 JavaEE了? 是的, 這系列技術不是 java 本身的標準, 但因為影響深遠, 所以是業界開發輕量系統的非正式標準 JavaEE 後來制定的標準也會參考這三個框架的思想和做法 : jsp + servlet + EJB 的組合是 M(EJB) V(JSP) C(servlet)? 這三個標準可以像你這樣分類, 但實際寫程式的時候未必直接以這些標準為基礎往上加蓋 jsp 上面常有 view 的框架或工具, servlet 上面會疊 MVC 框架 EJB 未必會用, 常被 Spring + Hibernate 的分工取代掉 : 但我看到的介紹卻在servlet這塊 render HTML.... 除非他是為了不讓範例太複雜才這樣寫, 否則就是教材太舊了, 丟掉吧~ : SSH 好像比較像是正常的MVC架構,但是Spring在這邊的角色是幹嘛的? : Struts: MVC framework : Spring: dependency injection : Hibernate: ORM : 似乎主要的目的是做 dependency injection ,那就是說 DI 其實跟 MVC 沒關係不是? Spring 是一個包山包海, 提供很多工具, 又像膠水一樣接合很多其他工具的框架, 依賴注入只是其中一種它能做到的重要事情 Spring 現在已發展成一個開源組織, 裡面有很多專案 都依附在 Spring 這個名稱下 : 只是幫助解決相依性問題?那麼Spring MVC又是怎麼一回事? Spring 社群有自己的 MVC 框架 : 就我的理解做個結論: : JavaEE 最重要的部分是 EJB ,只要有用到 EJB 就是 JavaEE 更精確的說法應該是這樣你的系統就是依賴在 EJB 技術上, 因此在有支援 JavaEE 的執行環境裡就能運行 : EJB 用來建構 model,對應到 SSH 的 Hibernate : 所以我可以用 JSP + servlet + Hibernate 這樣的組合? 當然可以, 寫程式本來就不只是為了滿足特定標準 標準就像螺絲孔和螺絲, 是為了方便開發才會出現的, 這讓你知道要鎖進怎樣的洞就要先做出怎樣的螺絲, 不用轉進去才知道會不會壞掉 : JSP + servlet 是舊技術現在沒在用了但這是基礎還是要學? 是很舊的技術, 但很多後續的開發工具都是以此為基礎向上加蓋讓人省力 現在通常不會直接引用, 常會將自己的程式碼依賴在工具框架上, 然後工具框架再依賴在這些技術上 : 請問各位前輩我的理解是錯的嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.228.104.137 ※ 文章網址: http://www.ptt.cc/bbs/java/M.1404322315.A.D64.html ※ 編輯: dream1124 (36.228.104.137), 07/03/2014 01:38:26
文章代碼(AID): #1Jj48Bra (java)
文章代碼(AID): #1Jj48Bra (java)