Re: [JSP] 對JSP的疑惑

作者: kiwatami (悠游自在)   2016-04-05 00:12:01
邏輯的部分本來就不會寫在 template 裡面
頂多只有 output, 迴圈 跟 if else
個人寫 web 時都會這樣規定自己
這也是 MVC 的一個重要觀念
不要說 MVC
光重新套版時看到一堆程式碼就會崩潰了
所以那個智財權完全可以忽略
再來就是輸出的部分
固定的版面部分直接寫在 template 裡面就好
不需要多此一舉另外寫 js 撈資料
例如 navigator, banner
這些用 template 只要 include 進來
修改輸出變數就好
維護上也方便許多
雖然用 js 也辦得到
但直接輸出就可以的東西
何必輸出後再靠 js 運算?
簡單來講
都已經建立連線要求資料了
何必叫他等等再來要一次?
如果是動態載入,搜尋結果等等跟使用者 "互動" 有關的
再使用 ajax 處理
目的是減少使用者在頁面間跳動
或是看到頁面整個翻新的次數
普通瀏覽器上限就是六條連線同時存在
每開一次頁面光讀資料就把線佔滿
只會降低呈現速度而已
然後我記得快取只有存下載完的頁面
用 ajax 呈現後的結果是不會存起來的
所以流量方面也是個問題
雖然 html 檔案很大
但開啟 gzip 後差異就變小了
使用 js 跟 template 兩者間要取得一個平衡
而不是走某個極端
不過網頁技術進步真的很快
也許哪一天真的會被完全取代也不一定
但目前來說
大部分的情況還是會兩者並行才有最佳的效果與效率
然後大部分人都不直接使用 jsp 了
可以搜尋 template engine 找一個看起來順眼的來用
像我之前是用 freemarker
Thymeleaf 也不錯
簡單明瞭 功能不用太多
只是輸出用而已
作者: steven11329 (清新柳橙)   2016-04-05 00:16:00
感謝解答!
作者: Lordaeron (Terry)   2016-04-06 22:11:00
功能都寫在servlet, 每次都要COMPILE, 多麻煩.
作者: gmoz ( This can't do that. )   2016-04-07 09:41:00
淚推JSF
作者: kiwatami (悠游自在)   2016-04-07 21:35:00
不想 compile 可以選 php
作者: popcorny (畢業了..@@")   2016-04-07 21:39:00
jsp也要compile啊..而且是兩段. jspc, javac
作者: Lordaeron (Terry)   2016-04-08 00:07:00
問題你RELOAD 就好了, 不用手動.
作者: bitlife (BIT一生)   2016-04-08 10:36:00
如果是在意發展階段的便利性,servlet也是可以reloadable不過要看container有沒有支援JSP(compile後)不過就是預設支援reloadableh旳servlet
作者: Lordaeron (Terry)   2016-04-08 22:37:00
啊? 不是要開發得快的嗎?
作者: bitlife (BIT一生)   2016-04-11 09:41:00
看專案大小,有規模的專案,善用unit test,比你把code寫在JSP只快一時將來不易除錯維護來得好
作者: Lordaeron (Terry)   2016-04-11 22:55:00
這你也統計過? 會差多少啊? 有規模是指多大呢?
作者: kiwatami (悠游自在)   2016-04-12 08:05:00
不管規模多大 有重新套版經驗就知道 主要邏輯寫在裡面根本是自找麻煩 開發快速也要好維護只花一天開發完成 後面維護卻要花兩天 這不叫開發快速這叫欲速則不達 如果說要debug快速 這就更不懂了直接改code根本不用手動重啟 偵測到有更動就會自動跑了更不用說使用tdd的 實際在runtime dedug次數更少還是說更新的時候只想要丟有更動的檔案就好?那版控怎麼辦? 我以為你一開始是在反串 原來是認真的
作者: ssccg (23)   2016-04-12 09:46:00
開發快(X 方便被客戶要求在production環境還一直改(O
作者: Lordaeron (Terry)   2016-04-12 14:50:00
重新套版不用改CODE?你的版上是沒有TAG之類的?致於servlet reload, 在TOMCAT5 就有了,但在這前?JSP不能版控?TDD這麼神?可以開一篇了呢真的不要太認真,你就好好的開一篇吧,我是來認真的
作者: kiwatami (悠游自在)   2016-04-14 09:32:00
你好像沒看懂 我說版控的原因麻煩你仔細讀好再回我也沒說重新套版不用改 不要老是自己腦補tdd沒有神 只是先測過 整個架構與邏輯會比較清楚維護方便指的是什麼麻煩你搞懂 不是不用改而是其他人看得懂 動的地方少 也不會容易造成問題類似的功能也不需要重複撰寫 這叫維護方便直接寫在裡面只是貪一時之快 自己維護可能感覺還好其他人接手怎麼辦? 對方結案前還要求改版面怎麼辦?結案後業務答應送版面 三個月後又要重新套版怎麼辦?
作者: Lordaeron (Terry)   2016-04-15 11:37:00
是呢,有什麼好怎麼辦的?你這樣寫過就知怎麼辦囉。

Links booklink

Contact Us: admin [ a t ] ucptt.com