Java 技术怎么选型? strust2 与 springmvc - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
x18960
V2EX    程序员

Java 技术怎么选型? strust2 与 springmvc

  •  1
     
  •   x18960 2018-05-27 07:17:02 +08:00 via Android 6113 次点击
    这是一个创建于 2746 天前的主题,其中的信息可能已经有所发展或是发生改变。
    处境:公司非软件公司,成立开发部门。(以后应该也会利用现有资源接个项目干。)

    现在招聘类似一个项目经理,要负责技术选型。

    他是东软出来的,不知道为什么一直推荐 spring+strust+mybatis。还推荐封装好的框架。(其实具体原因没有具体交流,不过想求助一下各位。省得因为见识短,被忽悠了就不好了)

    我认为非软件公司
    首先考虑后期维护(选用流行大众的技术,有利于招人),前期开发成本可以忍一忍。
    人员肯定能少就少。(但是都不推荐使用现成的快速开发,比如 jeecg 系列等部分半开源产品,我近期了解了一下 jeesite,发现文档和社区交流真的不是很多。)


    在我看来 strust
    1.好像挺旧了,如果没有培训班。维护政府银行项目之类的经验。貌似都不知道这个东西了(考虑 以后员工的吸纳)
    2.官方处理漏洞方式好像不太好?
    3.我就不知道了,我的水平就能想到这么多。
    73 条回复    2018-05-28 17:28:08 +08:00
    Cbdy
        1
    Cbdy  
       2018-05-27 07:33:59 +08:00 via Android   5
    我见过几个这种类型的人,往往技术不怎么样,一把梭会几个框架,思想陈旧僵化,喜欢迷信设计模式和故弄玄虚。Java 世界里面这样的人不少。很容易搞砸一个项目
    luban
        2
    luban  
       2018-05-27 07:35:58 +08:00 via iPhone
    struts2 这个拼错了,肯定不能用这个,老古董了,配置繁琐,支持的特性也少,rest 支持比 Spring mvc 差很多
    现在新项目很少用 struts 了,web 项目 Spring mvc 就是 Java 事实标准
    struts 并不难,即使没用过的人,上手也还快的,就是估计很多 Javaer 对这个都反感
    为啥推荐,他手里有这么一套之前用过封装好的框架
    onikage
        3
    onikage  
       2018-05-27 07:41:40 +08:00 via iPhone
    现在 struts2 用的人很少,近 6 年只在维护一个基于 jdk1.5 的老项目上看到过。
    youngxhui
        4
    youngxhui  
       2018-05-27 07:57:23 +08:00
    这个年头,就不要选择 struts 了吧。
    wenzhoou
        5
    wenzhoou  
       2018-05-27 08:21:05 +08:00 via Android
    绝对是坑。没有进取心的码农冒充项目经理。有问题必须甩锅给框架。
    JohnChiu
        6
    JohnChiu  
       2018-05-27 08:31:01 +08:00 via iPhone
    因为东软 java 培训就用 ssm,没有其他的东西了……
    CFO
        7
    CFO  
       2018-05-27 08:32:08 +08:00 via Android   1
    选 spring mvc 直接用 springboot 吧 配置简单 开发效率高 想要现成的可以考虑 jhipster
    所谓自己封装好的框架大部分都是刚开始时看着很好 好像什么都有了 等遇到不满足需求的地方改起来痛苦死 哪有什么扩展性可言
    JohnChiu
        8
    JohnChiu  
       2018-05-27 08:32:51 +08:00 via iPhone
    @JohnChiu 咦,原来不是 springmvc 的 s 啊那应该是他个人问题吧
    logOo
        9
    logOo  
       2018-05-27 08:38:37 +08:00 via Android
    稳定的输出简单易懂的 crud
    x18960
        10
    x18960  
    OP
       2018-05-27 09:40:57 +08:00 via iPhone
    @JohnChiu 不是培训的,是沈阳理工的。一直在东软工作 给政府干活
    x18960
        11
    x18960  
    OP
       2018-05-27 09:42:48 +08:00 via iPhone
    @Cbdy 需要再交流了,这只是电话里的想法。只能见面看看了
    x18960
        12
    x18960  
    OP
       2018-05-27 09:45:48 +08:00 via iPhone
    @luban 一直打错。。。我现在得确认是不是他为了快速成型才想用他比较熟悉的。

    这是我见到第二个有点自己想法的了。。

    如果是坑(他说不出比较信服的理由,那只好拜拜了)
    v3exhost
        13
    v3exhost  
       2018-05-27 10:17:37 +08:00
    算了,lz,我来替你们搭建一个基于 Springmvc 的框架,来我们谈谈价格
    hustlike
        14
    hustlike  
       2018-05-27 10:19:35 +08:00
    springmvc 就能做而且做的更好的事情为什么还要引入 strust2 ? structs 已经慢慢被抛弃了。
    rffan
        15
    rffan  
       2018-05-27 10:24:45 +08:00
    楼主我来给你大框架吧,价格我们详谈,保证接手的人多,而且接手的人也会很轻松。麻蛋,现在还考虑 Struts2 这么古老的东西,这玩意他自己官网都爆洞,你还用?
    AllenHua
        16
    AllenHua  
       2018-05-27 10:25:30 +08:00
    许多人都打错,是 struts,不是 structs。
    nita22
        17
    nita22  
       2018-05-27 10:25:55 +08:00
    现在的趋势都是往 Spring webflux 上面走了,真心没必要学 strust2
    enhancer
        18
    enhancer  
       2018-05-27 10:30:23 +08:00
    看看这个是否能用得上:enhancer.io
    lsyAndroid
        19
    lsyAndroid  
       2018-05-27 10:46:11 +08:00 via Android
    之前破解过一个项目 struts+spring+hibernate 的,各种看不懂,数据流转没搞明白(我主业做 Android 开发),感觉好难啊
    AltairT
        20
    AltairT  
       2018-05-27 10:49:57 +08:00 via iPhone   1
    springboot 逐渐是主流了,他推荐那个只能说明他平时不关心新技术,只懂 ssh。
    连我在的这个传统产品型公司最近都在往 springboot+spring cloud 上迁移
    fuchaofather
        21
    fuchaofather  
       2018-05-27 10:50:27 +08:00 via Android
    springboot 就行,一会儿就能搭起来。没有并发分布式什么的,比较简单
    guo4509
        22
    guo4509  
       2018-05-27 10:51:55 +08:00 via Android
    新成立的部门那就用 springboot 吧,这个经理是个坑
    liuzuo
        23
    liuzuo  
       2018-05-27 11:09:32 +08:00
    全世界都在黑我大东软。
    incompatible
        24
    incompatible  
       2018-05-27 11:11:29 +08:00
    @liuzuo 水平不行活该被黑。
    honeycomb
        25
    honeycomb  
       2018-05-27 11:14:33 +08:00 via Android
    新项目上 springboot 吧,spring 本身就是很成熟的框架,springboot 也进入了 2.x branch,靠它搭架子比直接手写 spring 配置方便得多,由且不失灵活性。

    spring 与 springboot 都在活跃开发,两者都有吸收各种优秀的开源组件,它们以及 Java 的新特性。
    junbaor
        26
    junbaor  
       2018-05-27 11:20:23 +08:00
    2018 启动新项目还推荐 Struts 的建议直接开掉技术选型的人。
    reus
        27
    reus  
       2018-05-27 12:26:42 +08:00   1
    这种做外包出来的,他就只会那些,当然选那些啦,其他不会啊,怎么选
    beastk
        28
    beastk  
       2018-05-27 12:33:21 +08:00 via iPhone
    struts2 别用,这玩意和 flash 大哥一样,一阵子就来个 RCE
    qiyuey
        29
    qiyuey  
       2018-05-27 12:34:13 +08:00 via Android
    Spring Boot
    jziwenchen
        30
    jziwenchen  
       2018-05-27 12:34:38 +08:00
    工作中并不喜欢这种背后放贴水上级的同事
    night98
        31
    night98  
       2018-05-27 12:53:06 +08:00
    struts2 感觉都凉的差不多了,2018 年了居然还有人推这个,Java Web 大部分都是 spring + mybatis 这一套吧,偶尔有个 jpa 这样子。
    enzohobmg
        32
    enzohobmg  
       2018-05-27 13:42:51 +08:00
    东软 出来的可以理解
    dbpe
        33
    dbpe  
       2018-05-27 13:47:20 +08:00
    SpringBoot +Spring data jpa+ querydsl 了解下
    busfool
        34
    busfool  
       2018-05-27 13:58:41 +08:00
    有啥可说的,把 struts 去掉就行了~
    fox0001
        35
    fox0001  
       2018-05-27 14:06:59 +08:00 via Android
    工信部都拿 struts2 开刷了,还要考虑?直接上 spring boot 吧
    flight2006
        36
    flight2006  
       2018-05-27 15:31:00 +08:00
    springboot + 1
    mritd
        37
    mritd  
       2018-05-27 16:23:17 +08:00 via iPhone
    Struts2 你怕是服务器天天被别人开车啊
    mritd
        38
    mritd  
       2018-05-27 16:33:59 +08:00 via iPhone
    既然你招人,我劝你放弃用 Struts2 的人吧,没救了,一般外包项目经理唯一的作用就是吹牛逼把钱拿来,至于项目维护 嗯,反正外包不缺人,总会有人处理这坨屎的

    我建议你找一个多 springboot 这一套比较熟悉的,还有上面提到的 jpa 啊 querydsl 啥的,可能浪一点 maven 都换成 gradle 了,还有考虑下这个人是否了解过微服务,后期 docker 集群啥的上不上

    最后,楼主不要强行让 用 struts2 的大哥搞 soringboot,这种事我见过,最后的结果就是他给你整一个能跑的 springboOt,实际上里面都是骚操作,因为一般这种喷搞东西只有一个标准,那就是能跑就行
    udev
        39
    udev  
       2018-05-27 16:35:19 +08:00
    Struts 看看安全漏洞,去年一直做应急响应,给钱都不要用!肯定选择 springboot !
    orcusfox
        40
    orcusfox  
       2018-05-27 16:48:59 +08:00
    前端找工作失败写了两年 Java。我觉得 Java 相对前端有稳定成熟的框架是好事,各厂都有自己包装的基于 Spring 的平台,招人换人都不会有太大困难。但 Struts 就真的算了
    x18960
        41
    x18960  
    OP
       2018-05-27 17:37:50 +08:00 via iPhone
    @jziwenchen 大哥,看完帖子好不好,是这位过来面试的
    x18960
        42
    x18960  
    OP
       2018-05-27 17:45:19 +08:00 via iPhone
    @mritd 你说的对,他的计划是在培训班里招人,用新技术也行。我说培训班出来的,可能代码都没有差不多的规矩。最主要的是今天约定 1 点面试,这位大哥 10 点告诉我早点。我早去公司等他,11 点就到了,大哥依旧 1 点到的。(还跟我说他晚上车,不赶趟)
    然后说他现在可能打不了代码(一直做的项目经理)。我问他能不能学习,他说能,只是他学习的方向是 比较各个框架的不同,优缺点。于是我问他,为什么不用 mvc 就用 struts

    又跟我说 Struts 稳定 因为现在的新技术,等掌握了,可能新技术又出来了,盲目追新没用。

    底层到现在也没跟我说啥。
    x18960
        43
    x18960  
    OP
       2018-05-27 17:47:22 +08:00 via iPhone
    @liuzuo 别介,之前面试的 还挺好的。积极学习,就是和老板产生了误会,导致没有来这边。
    x18960
        44
    x18960  
    OP
       2018-05-27 17:47:52 +08:00 via iPhone
    @reus 给政府做项目,也是外包吗
    itsme001
        45
    itsme001  
       2018-05-27 17:54:08 +08:00
    @x18960 你把这篇帖子地址发给面试者,让他来舌战群 ru.
    x18960
        46
    x18960  
    OP
       2018-05-27 17:55:31 +08:00 via iPhone
    @AltairT 他知道新技术,但是据他所述,他了解的是性能啊,看简历 近五年是项目经理。东软和另外一个公司的。
    不过面试中,他自称 2 年没有接触新技术了。。

    Ps 他一直说他的数据库好,说数据库永远不会变。其他的都没事。 不过看他的框架部分截图,除了业务复杂的,真的只用写 sql 就行
    looplj
        47
    looplj  
       2018-05-27 18:05:50 +08:00
    不喜欢新技术的人,一般都不怎么喜欢技术,然后技术就不怎么样。
    重数据库是典型的外包出来的,这种项目维护起来真的要人命。
    AltairT
        48
    AltairT  
       2018-05-27 18:32:24 +08:00
    @x18960 我在的这家产品型公司用的就是自己基于 spring+springmvc+jdbc 封装的一套框架,后台管理界面是混合了 easyUI+bootstrap 一些的封装,前台 HTML 生成也是 FreeMarker 那一套。中层领导面我的时候明确跟我说是为了方便招人。实际开发真的就是写业务,数据库操作直接代码里写 sql 就行,很像 JPA 那一套,只不过做了一些防注入和安全检查,工具类直接把 common util 那些又封装了一次。更何况东软这种企业,自己封装很正常。

    问题是你现在即使要封装为什么不用新的技术封装呢?再说 SpringBoot+Spring Data JPA 本身也是封装整合啊。。。( Spring Data JPA 就是封装了 Hibernate )
    我一直觉得他们封装的水平不怎么高,为啥不用 Spring 全家桶的封装呢?还有人免费给你迭代新的封装版本。

    更不要提什么年头了,即使不用 SpringBoot,还用 Struts2 合适吗?
    x18960
        49
    x18960  
    OP
       2018-05-27 18:34:40 +08:00 via iPhone
    @AltairT 对的,之前接触小公司都有封装框架 他们的目的就是 维护只能找原开发方 不知道东软之类有没有这个想法
    huangzhe8263
        50
    huangzhe8263  
       2018-05-27 18:51:02 +08:00 via Android
    strut 劣迹斑斑,都 8102 年的还有人在用。。。
    AltairT
        51
    AltairT  
       2018-05-27 18:52:38 +08:00
    @x18960 东软不清楚,但是从朋友那得知软通是有封装的。 维护只能找原开发方是一方面,但是说实话我们公司封装的框架包我看反编译过,只是核心一点的混淆了下(注册和加密相关之类的吧),不过懂行的人想绕过不难(主产品我这种菜鸡刚来时随便改改就绕过注册了),公司真正吃饭是靠定制和服务,不靠这点水平不高的封装。

    他们封装更多还是为了招人方便,就拿我这公司来说,开年金三银四铜五人员流动超大 100+-/450 的样子,把我吓坏了,这时候当然是封装的越简单越好,直接压低薪资招刚毕业的和水平不高的人来也能做,就是代码滥一点呗,又不是不能用
    x18960
        52
    x18960  
    OP
       2018-05-27 18:57:59 +08:00 via iPhone
    @AltairT 对了,他还提他有公司的源码。然后还用私权吧,查了公司的缴纳社保人数。(...)
    AltairT
        53
    AltairT  
       2018-05-27 19:21:11 +08:00
    @x18960 查社保这个不要啥私权吧,公司人力就能查

    我又看了下你之前回别人的,这人根本不能招啊,啥叫“他现在可能打不了代码(一直做的项目经理)”,啥叫“我问他能不能学习,他说能,只是他学习的方向是 比较各个框架的不同,优缺点。”

    你这小公司人一个都不多余的情况下招一个不能编码的人合适吗?能学习却只能比较框架的不同而且不能编码的“架构师”合格吗?

    我觉得你们还是多花钱招个靠谱点大佬(大佬愿不愿意来就很难说了。。),这样即使普通员工从培训机构拉也还能运作下去。你能想象一个不能编码只会指挥的 PM 指挥一堆培训出来的菜鸡(非贬义)的样子吗?
    x18960
        54
    x18960  
    OP
       2018-05-27 19:26:27 +08:00 via iPhone
    @AltairT 经过回复,我已经放弃招聘他了,不太符合公司需求,不过想知道,这人靠不靠谱而已。同事二面,就是看人了。
    jalena
        55
    jalena  
       2018-05-27 21:17:10 +08:00
    SpingMVC 也差不多了,你应该直接考虑最新技术。。

    Spring WebFlux
    ycbb123
        56
    ycbb123  
       2018-05-27 21:17:25 +08:00
    @x18960 公司的缴纳社保人数在查企业信用信息的网站就能查到
    A555
        57
    A555  
       2018-05-27 21:31:25 +08:00
    struts2 看到就火大 去年就给个破玩意打补丁了
    edsgerlin
        58
    edsgerlin  
       2018-05-27 22:15:38 +08:00
    说 Struts 烂的应该没用过 Seasar,N 年没维护了很多日企还在用,Struts 一直有维护来着。
    x18960
        59
    x18960  
    OP
       2018-05-27 22:25:16 +08:00 via iPhone
    @AltairT 其他公司人力能查我公司社保缴纳人数?
    x18960
        60
    x18960  
    OP
       2018-05-27 22:30:17 +08:00 via iPhone
    @ycbb123 你说的不是企业信息公示系统吗?那个不就是企查查之类的,采集的数据?

    那里面没有社保啊?
    他说他维护过我这里的市社保系统。。。
    aa6563679
        61
    aa6563679  
       2018-05-27 22:38:59 +08:00 via iPhone
    struts 适合 java1.5 之前不支持注解的版本使用
    AltairT
        62
    AltairT  
       2018-05-27 22:46:17 +08:00 via iPhone
    @x18960 别的公司这个不太清楚,但是公司如果披露年报是能在国家企业信息公示系统上查到社保缴费人数的的
    ryuzaki113
        63
    ryuzaki113  
       2018-05-28 08:27:46 +08:00
    用 springboot,几乎零配置
    struts 已经被淘汰了
    mritd
        64
    mritd  
       2018-05-28 09:38:18 +08:00 via iPhone
    @x18960 其实后续从哪招人无所谓,只要前期基础架构搭建好,各种约定规范处理好,最重要的要有开发文档,比如模块怎么划分,各个层级怎么处理,接口调用在哪写,这些东西细化好,来人照让他们先看文档,再招一个开发经验多的,不那么守旧的,然后让他控制代码质量,sonar 啥的都用上,后续人才培养就比较简单了
    ala2008
        65
    ala2008  
       2018-05-28 09:56:03 +08:00
    spring 全家桶就行了
    fcoolish
        66
    fcoolish  
       2018-05-28 10:18:13 +08:00
    struts 还要配置啥的。mvc 面向接口编程还不爽?
    CoderGeek
        67
    CoderGeek  
       2018-05-28 11:37:52 +08:00
    springmvc or springboot 2 选 1 吧
    southsala
        68
    southsala  
       2018-05-28 13:07:11 +08:00
    struts2 早就淘汰了吧
    iminto
        69
    iminto  
       2018-05-28 14:10:41 +08:00
    什么?大清已经完了?
    iminto
        70
    iminto  
       2018-05-28 14:13:18 +08:00
    @Cbdy 恰恰错了。弥新设计模式不可怕,怕的是不会设计模式
    huntcool001
        71
    huntcool001  
       2018-05-28 15:38:01 +08:00
    我一进来就看了一下发帖时间```
    Alexisused
        72
    Alexisused  
       2018-05-28 16:43:09 +08:00
    用 Struts 就等着三天两头修漏洞...
    ycbb123
        73
    ycbb123  
       2018-05-28 17:28:08 +08:00
    @x18960 年报里就有,能看到上一年的

    大城市的有本地的信用网,能查到实时的
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     902 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 29ms UTC 21:08 PVG 05:08 LAX 13:08 JFK 16:08
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86