V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
cc959798
V2EX  ›  Java

为什么 Java web view 层 都是使用模板而不使用 jsp

  •  1
     
  •   cc959798 · 2018-12-14 12:59:19 +08:00 · 5659 次点击
    这是一个创建于 2174 天前的主题,其中的信息可能已经有所发展或是发生改变。

    严格来说 jsp 也是一种模板,但是现在感觉很多都不再用了,感觉 jsp 和其他模板是差不多的,为什么都在用其他模板比如 freemark 之类的

    33 条回复    2018-12-15 23:09:11 +08:00
    Kaiv2
        1
    Kaiv2  
       2018-12-14 13:09:48 +08:00 via Android
    jsp 实际生成了 class,其他的不了解
    lueffy
        2
    lueffy  
       2018-12-14 13:12:50 +08:00
    我现在都直接 html
    lueffy
        3
    lueffy  
       2018-12-14 13:13:21 +08:00
    jsp/ftl 前后端不分离 前端的工作分不出去
    youngxhui
        4
    youngxhui  
       2018-12-14 13:15:11 +08:00 via Android
    应该是性能问题吧
    lhx2008
        5
    lhx2008  
       2018-12-14 13:17:34 +08:00 via Android
    并不是差不多,各有各的优点。
    现在都流行前后端分离了,要不然前端没事做
    nimabibi
        6
    nimabibi  
       2018-12-14 13:28:48 +08:00 via iPhone
    性能偏差,很多框架使用需要额外做些工作
    dyyx
        7
    dyyx  
       2018-12-14 13:31:56 +08:00
    jsp 挺好用的
    jsp 的最大缺点就是 太灵活 可以在里面直接调用 java 代码 容易混乱
    使用 velocity freemark 等模板引擎可以脱离 web 容器
    gam2046
        8
    gam2046  
       2018-12-14 14:00:31 +08:00
    如果你看到我司的历史遗留项目,每个 JSP 里写了上百行的 Java 代码,我想你在重构的时候,不会想再用这个东西的。
    Terry05
        9
    Terry05  
       2018-12-14 14:06:58 +08:00
    就是渲染性能问题 velocity freemarker 之类的模板语言要比原生的 JSP 性能要好很多,但在现在前后端分离的时代,这种东西已经没有具体意义了
    JackEggie
        10
    JackEggie  
       2018-12-14 14:10:07 +08:00
    jsp 里面的 java 代码咋调试? jsp 里面的 js 代码咋调试?
    likuku
        11
    likuku  
       2018-12-14 14:10:11 +08:00
    那么... 就按自己意思混着用体验个 1 ~ 2 年吧。
    519718366
        12
    519718366  
       2018-12-14 14:42:02 +08:00
    把大段业务逻辑写在 jsp 里的,直接拉出去祭天
    小公司内部系统基本都是后端包了页面的活,jsp 再加上一两个模版引擎是必须的~
    我们项目里 freemark 就是用来发 html 邮件的~ jsp 就是我们后端狗写页面用的
    HuHui
        13
    HuHui  
       2018-12-14 14:49:00 +08:00 via Android
    太重了,不好组织结构
    Tengdw
        14
    Tengdw  
       2018-12-14 15:37:18 +08:00
    jsp 也是模板,thymeleaf freemarker 之类的不觉得写起来比 jsp 爽多了吗?
    coang
        15
    coang  
       2018-12-14 16:04:43 +08:00
    jsp 太灵活了.. 以至于大量后端不会写前端的时候 直接在 jsp 上边调用 service 层 或者调用 util 代码.. 恶心的不要不要的
    lucahan
        16
    lucahan  
       2018-12-14 16:45:22 +08:00
    前后端分离,别说 jsp,我们连 thymeleaf,freemarker 之类的都不用。
    momowei
        17
    momowei  
       2018-12-14 16:47:17 +08:00
    jsp 性能差???我觉得很多人印象流了
    siebenundvierzig
        18
    siebenundvierzig  
       2018-12-14 16:52:57 +08:00
    1.渲染性能问题,这类前端模板渲染页面时比原生的 JSP 快
    2.大量的 JSP 代码不易于组织与重构
    misaka19000
        19
    misaka19000  
       2018-12-14 16:54:17 +08:00
    解耦
    zqguo
        20
    zqguo  
       2018-12-14 16:56:30 +08:00
    不都是前后端分离了么 ?
    MineDog
        21
    MineDog  
       2018-12-14 16:57:06 +08:00 via Android
    JSP 和后端耦合太重吧
    zpf124
        22
    zpf124  
       2018-12-14 17:02:03 +08:00   ❤️ 1
    原因不是 jsp 性能如何如何。

    是 JCP 当时的协议规定 jsp 必须运行在 web 容器中,大家都选择了遵守约定不自己写模板解析引擎去解析 jsp 模板。

    而且 jsp 的性能并不差...
    HiJackXD
        23
    HiJackXD  
       2018-12-14 19:38:05 +08:00 via iPhone
    楼上部分朋友逻辑也不科学,jsp 也可以严格使用 mvc 模式使用。而且性能要说比 freemaker 低,我是不信的。最主要还是因为依赖 servlerlt 容器。
    aitaii
        24
    aitaii  
       2018-12-14 19:50:16 +08:00 via iPhone
    Jsp 是 serverlet 也就是 java
    mejee
        25
    mejee  
       2018-12-14 23:34:21 +08:00 via Android
    依赖 servlet,需要编译,且没有独立好用的 api,也不便于封装和二次开发,反正不觉得他比正常的模板引擎有啥优点
    aa6563679
        26
    aa6563679  
       2018-12-14 23:39:16 +08:00 via iPhone
    jsp 编译成 class,相当于 Java 程序直接输出页面数据了,性能怎么会差
    V2exUser
        27
    V2exUser  
       2018-12-14 23:54:13 +08:00 via Android
    是 vue 不好用?还是不想下班?
    JinyAa
        28
    JinyAa  
       2018-12-15 00:16:43 +08:00
    讲道理以前直接 jsp+jQuery+bootstrap 一把梭并不觉得比现在前后分离搭那些前端轮子慢
    kassadin
        29
    kassadin  
       2018-12-15 00:31:32 +08:00
    不是快慢问题吧,是专业的人干专业的事。
    从前端设计模板到 jsp 的过程学会后并不难,但很麻烦
    让前端自己套的话需要完整 server,略懂 jstl,直撸 jsp,还得拉着后端同学去部署才能看到效果
    后端套的话不知道差异点,完整覆盖重新套工作量大,还是得拉着前端同学结对编程,版本记录也比较乱
    俩边测试也麻烦,出了问题不说互相甩锅吧,得结对排查
    分离一下,依照约定的 api 自己就能独立完完成,实际工作中互相依赖的少了,也都轻松了
    o0
        30
    o0  
       2018-12-15 00:40:33 +08:00 via iPhone
    一只不会 java 但不得不接触其它项目 jsp 的前端菜鸡,表示很痛苦。
    yidinghe
        31
    yidinghe  
       2018-12-15 10:05:53 +08:00 via Android
    我遇到过的坑,一个 CMS 用 JSP 保存文章,最后内存爆掉,因为每篇文章都是单独的一个类!
    jackson18
        32
    jackson18  
       2018-12-15 13:24:28 +08:00
    vm 之类的都是可以做页面静态化,性能会好些
    zhyzhy
        33
    zhyzhy  
       2018-12-15 23:09:11 +08:00
    jsp 最后似乎就是变成了 servlet 然后疯狂 println 出去
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3578 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 04:42 · PVG 12:42 · LAX 20:42 · JFK 23:42
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.