作者popcorny (畢業了..@@")
看板java
標題Re: [問題] 關於java想做一個基本登入查詢程式
時間Fri Jun 6 14:12:11 2014
※ 引述《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