看板 java 關於我們 聯絡資訊
※ 引述《Killercat (殺人貓™)》之銘言: : 其實我覺得要看你的用途 : 下面很多人說不推Servlet, 但是其實如果是寫API的話 : 你要找到比Servlet還簡單的有點難度 : 你說你至少學過一點點Java 所以Servlet我個人認為是首選 : 更不用講Servlet可以幾近無痛的直接執行System Call : 但是如果你是要作「網頁」的話,那真的珍惜生命遠離jsp/servlet.... : 那東西維護起來會要人命的。API的話絕無問題也很好處理就是... 有關web framework的層級,我是這樣看的 CGI層級: Servlet - 可以map一個url到一個Servlet,很簡單陽春的處理Get/Post 透過inputstream/outputstream來處理web request/response Template層級 JSP (或ASP/PHP) - 通常是把程式內嵌在HTML中,處理簡單的邏輯。但是 複雜的邏輯就會寫得很醜。現在應該很少project是只用template了。 MVC層級 Struts, SpringMVC - Controller處理Business邏輯,產生Model到View(Template) 去呈現。當然你可以用Servlet/Jsp去兜,但是可能只有你自己懂得裡面的魔法。 用Struts Spring有豐富的文件幫助你去兜比較大的架構。另外有人說的SSH (Struts, Spring, Hibernate)也屬於這種的應用之一。 MVC + Modules/Plugins Django(Python), RoR(Ruby), Play! (Java/Scala), Grails (Java/Groovy) 除了定義MVC基本的架構外,還有定義很多設計慣例,方便模組化。而且 通常會搭配好用的模組安裝工具,幫助你安裝很多third party的模組或外掛 讓你很快速的開發堪用的production等級的東西。 Rest API Framework Jersey - 寫RestAPI時幫助你處理Url Pattern到Controller這段。通常是 要開發存rest api才會用這種技術,但是也可以做成MVC。 Web UI Component Framework JSF, GWT, ZK, Vaadin - 類似寫Desktop UI,但是是放在web上,你可以不用 寫太多HTML/Javascript,Server端的component會render好,把結果送到前端。 通常會是event-driven的形式。 我比較推薦的是MVC+Modules/Plugins,並且前端透過template + javascript的MVC framework去寫。通常這類的framework把很多web常見的pattern 弄得好好,你就專心寫你想要的邏輯就好了。你想要的功能也可能在plugins(modules) 找到,遠比你自己開發來的快速且穩定。 另外寫Java你可能要學會怎麼包成war檔,並且deploy到application server, 這有時候也是一個門檻。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.163.46.230 ※ 文章網址: http://www.ptt.cc/bbs/java/M.1402035133.A.782.html ※ 編輯: popcorny (118.163.46.230), 06/06/2014 14:20:23 ※ 編輯: popcorny (118.163.46.230), 06/06/2014 14:21:00
Killercat:恩對,war跟deploy的確是個大門檻,這我倒沒想過..:D 06/06 14:24
duck10704:Push~ 06/06 23:50
gmoz:分的好清楚 讚 06/07 01:04
banjmin:推經驗談 我自己從1練到4配合5和6熟悉大概也花了兩年多 06/07 01:36
yyc1217:最後一段包成war檔我會寫成script(Ant、gradle) 06/07 01:43
yyc1217:包好的war檔用Jenkins等CI deploy到server上,全自動 06/07 01:45
qrtt1:樓上講的東西對新手來說可能是天書吧 xd 06/07 02:25
lovdkkkk:JSF 那些也是用別人包好 (通常還更難懂) 的魔法... 06/07 06:33
gmoz:包war都交給IDE XD 06/07 12:00
Debians:強大啊 推 06/07 13:36
kipi91718:學到不少 推 06/07 21:49
dream1124:推, 分類清楚 06/07 23:02
dahanhsi:那extjs, angularjs是屬於哪類呢? 06/11 22:01
popcorny:屬於最後一段所說的"javascript的MVC framework" 06/12 10:56