作者kiwatami (悠游自在)
看板java
标题Re: [JSP] 对JSP的疑惑
时间Tue Apr 5 00:12:01 2016
逻辑的部分本来就不会写在 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 也不错
简单明了 功能不用太多
只是输出用而已
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 111.251.25.192
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/java/M.1459786324.A.9C8.html
1F:推 steven11329: 感谢解答! 04/05 00:16
2F:→ Lordaeron: 功能都写在servlet, 每次都要COMPILE, 多麻烦. 04/06 22:11
3F:推 gmoz: 泪推JSF 04/07 09:41
4F:→ kiwatami: 不想 compile 可以选 php 04/07 21:35
5F:推 popcorny: jsp也要compile啊..而且是两段. jspc, javac 04/07 21:39
6F:→ Lordaeron: 问题你RELOAD 就好了, 不用手动. 04/08 00:07
7F:→ bitlife: 如果是在意发展阶段的便利性,servlet也是可以reloadable 04/08 10:36
8F:→ bitlife: 不过要看container有没有支援 04/08 10:36
9F:→ bitlife: JSP(compile後)不过就是预设支援reloadableh旳servlet 04/08 10:37
10F:→ Lordaeron: 啊? 不是要开发得快的吗? 04/08 22:37
11F:→ bitlife: 看专案大小,有规模的专案,善用unit test,比你把code写在 04/11 09:41
12F:→ bitlife: JSP只快一时将来不易除错维护来得好 04/11 09:42
13F:→ Lordaeron: 这你也统计过? 会差多少啊? 有规模是指多大呢? 04/11 22:55
14F:→ kiwatami: 不管规模多大 有重新套版经验就知道 主要逻辑写在里面 04/12 08:05
15F:→ kiwatami: 根本是自找麻烦 开发快速也要好维护 04/12 08:05
16F:→ kiwatami: 只花一天开发完成 後面维护却要花两天 这不叫开发快速 04/12 08:05
17F:→ kiwatami: 这叫欲速则不达 如果说要debug快速 这就更不懂了 04/12 08:05
18F:→ kiwatami: 直接改code根本不用手动重启 侦测到有更动就会自动跑了 04/12 08:05
19F:→ kiwatami: 更不用说使用tdd的 实际在runtime dedug次数更少 04/12 08:05
20F:→ kiwatami: 还是说更新的时候只想要丢有更动的档案就好? 04/12 08:05
21F:→ kiwatami: 那版控怎麽办? 我以为你一开始是在反串 原来是认真的 04/12 08:05
22F:→ ssccg: 开发快(X 方便被客户要求在production环境还一直改(O 04/12 09:46
23F:→ Lordaeron: 重新套版不用改CODE?你的版上是没有TAG之类的? 04/12 14:50
24F:→ Lordaeron: 致於servlet reload, 在TOMCAT5 就有了,但在这前? 04/12 14:52
25F:→ Lordaeron: JSP不能版控?TDD这麽神?可以开一篇了呢 04/12 14:53
26F:→ Lordaeron: 真的不要太认真,你就好好的开一篇吧,我是来认真的 04/12 14:55
27F:→ kiwatami: 你好像没看懂 我说版控的原因麻烦你仔细读好再回 04/14 09:32
28F:→ kiwatami: 我也没说重新套版不用改 不要老是自己脑补 04/14 09:32
29F:→ kiwatami: tdd没有神 只是先测过 整个架构与逻辑会比较清楚 04/14 09:32
30F:→ kiwatami: 维护方便指的是什麽麻烦你搞懂 不是不用改 04/14 09:32
31F:→ kiwatami: 而是其他人看得懂 动的地方少 也不会容易造成问题 04/14 09:32
32F:→ kiwatami: 类似的功能也不需要重复撰写 这叫维护方便 04/14 09:32
33F:→ kiwatami: 直接写在里面只是贪一时之快 自己维护可能感觉还好 04/14 09:32
34F:→ kiwatami: 其他人接手怎麽办? 对方结案前还要求改版面怎麽办? 04/14 09:32
35F:→ kiwatami: 结案後业务答应送版面 三个月後又要重新套版怎麽办? 04/14 09:32
36F:→ Lordaeron: 是呢,有什麽好怎麽办的?你这样写过就知怎麽办罗。 04/15 11:37