@
gz911122 #134 学东西是你自己的事情,别在生产上搞。例子中,jsp 技术栈出了问题有 后端负责,ssr 技术栈出了问题,楼主搞得定吗?
------------------------------------
另外,忍不住再说几句,看到好多“ 2019 年了,还用 jsp ”这种言论,我想说恰恰都 2019 年了,希望你们懂得技术选型是满足业务需求、简化运维需求为第一要求的,不是酷炫吊炸天就是好,各种技术的产生必然是为了解决的某些问题,如果他解决的那些问题你本来碰不到,那有什么必要强上呢?
说到前后端分离,我认为选型有两点:
1 交互:都特么静态页面,交互很少,或者比较简单,哪怕你 100 多个页面,也请老老实实后端渲染。jsp 当模板用没你们想的那么不堪,以大多数应用的访问量、技术水平还轮不到需要更换 jsp 来解决性能的地步。典型如知乎,对,虽然他们目前用的前后分离,但是的确是在折腾,可能有反爬的考虑,但效果有限。
如果交互复杂,状态交织,类似百度地图、gmail、google docs 这种,但往往这种应用 SEO 的需求并不强烈,那就果断前端渲染,但是 jsp 渲染骨架,前端渲染内容,也不是不行。
2 变化频率:页面一天一个变,而且 jsp 是潜在 war 包里面的这种,每次更新要打包,这种情况明显前端渲染更有优势,前端打包成静态页面后更新快啊。
所以选什么,真特么跟年代关系不大,用 jsp 并不代表就用 jdk1.5,纯手工部署。
我们现在的方案: maven + spring boot + jsp + vue + jenkins + git, jsp 作为后端模板,静态页面直接输出全部内容,动态页面只负责输出骨架,剩下的由前端用 vue(webpack)开干,互不干扰。