初学 javaWeb,是从 ssh 框架学起还是直接学习 ssm? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Nick2VIPUser
V2EX    Java

初学 javaWeb,是从 ssh 框架学起还是直接学习 ssm?

  •  
  •   Nick2VIPUser
    nickliqian 2018-02-24 17:40:16 +08:00 20983 次点击
    这是一个创建于 2791 天前的主题,其中的信息可能已经有所发展或是发生改变。

    以前做过爬虫和 django 项目。

    现在在学习 javaWeb 开发。

    看了一下午的 struts,也从 Eclipse 用到 IntelliJ IDEA,被复杂的配置和环境弄晕了。

    网上看说现在的项目大多数都是 ssm 和 spring-boot,要学可以直接入手 ssm。

    想问各位老哥新人是否有学习 ssh 的必要性?

    大家在 JavaWeb 方面是什么样的学习路径呢?

    另外如果有教程和实战案例推荐那就感激不尽了。

    47 条回复    2019-08-01 18:50:28 +08:00
    p2pCoder
        1
    p2pCoder  
       2018-02-24 17:46:32 +08:00   5
    学 Java 很容易一上来就是框架,servlet jsp 首先学好吧
    xuhaoyangx
        2
    xuhaoyangx  
       2018-02-24 17:47:34 +08:00   2
    servlet jsp 写个项目。
    然后在 ssm,ssh 可以以后维护老项目看
    hysys32
        3
    hysys32  
       2018-02-24 18:05:18 +08:00   1
    ssh 几乎没怎么用了~~~一般都是老项目。。。
    0Kelvin
        4
    0Kelvin  
       2018-02-24 19:06:53 +08:00   2
    为什么不坚持 python 呢,java 人太多了点吧,看看数据挖掘、机器学习不好么
    mikicomo
        5
    mikicomo  
       2018-02-24 19:13:02 +08:00   1
    我觉得 spring mybatis hibernate 学学好感觉基本八九不离十了= =,自己做东西用 springmvc 蛮好用的,不过要是公司用别的你也得学嘛
    pangliang
        6
    pangliang  
       2018-02-24 19:19:23 +08:00   2
    spring mvc 应该不是 servlet 那一套了吧?
    fumichael
        7
    fumichael  
       2018-02-24 19:41:27 +08:00   2
    公司还在用 struts2 开发新的项目,我自己学习 springmvc springboot,又不是一辈子都呆死在一家公司。
    Flicker
        8
    Flicker  
       2018-02-24 20:04:23 +08:00 via Android   1
    2 楼
    panpanpan
        9
    panpanpan  
       2018-02-24 20:10:54 +08:00 via iPhone   1
    2 楼的说法是对的,我司有个面试官每次面试都问 servlet,能排除掉一堆不靠谱的,尤其是培训班速成的那种。
    cyspy
        10
    cyspy  
       2018-02-24 20:16:11 +08:00 via Android   1
    @0Kelvin 本科数学不挂科的就已经是一小部分人了
    yinzhili
        11
    yinzhili  
       2018-02-24 20:18:32 +08:00   1
    我是建议研究 m 也就是 mybatis,意味着可以更多接触原生 SQL,很有好处。
    enzohobmg
        12
    enzohobmg  
       2018-02-24 20:33:04 +08:00   1
    好好学习 天天向上
    Nick2VIPUser
        13
    Nick2VIPUser  
    OP
       2018-02-24 22:00:20 +08:00
    @p2pCoder
    @xuhaoyangx
    @Flicker
    @panpanpan
    谢谢指路,打算先学一下 servlet jsp。
    Nick2VIPUser
        14
    Nick2VIPUser  
    OP
       2018-02-24 22:02:08 +08:00
    @0Kelvin 机器学习这块学历和专业知识要求有点高,自己差太远了。目前公司的项目主要是 Java+Python,所以学 java
    Nick2VIPUser
        15
    Nick2VIPUser  
    OP
       2018-02-24 22:04:33 +08:00
    @mikicomo 感谢,现在就是在网上一搜东西太多了,完全没有方向感
    domty
        16
    domty  
       2018-02-24 22:07:02 +08:00   1
    先把 j2ee 最基本的东西搞明白。
    然后把 Spring 是干嘛的搞明白。
    然后再去考虑映射层和持久化层的框架。

    开始学不用太关注细节,先把最主要的搞清楚就行。
    woscaizi
        17
    woscaizi  
       2018-02-25 00:45:54 +08:00 via iPhone   1
    Hibernate 应该学一学,struts2 别学了,直接 spring mvc。
    wusj
        18
    wusj  
       2018-02-25 07:33:37 +08:00 via Android   2
    学习 Servlets Jsp,可以看看《 Head First Servlets & JSP 》我觉得讲的通俗易懂
    zzlhr
        19
    zzlhr  
       2018-02-25 08:00:50 +08:00 via iPhone   1
    spring boot 大法好
    lonenol
        20
    lonenol  
       2018-02-25 08:07:38 +08:00   1
    现在还有人用 jsp?你们不要吓我..
    geekboy
        21
    geekboy  
       2018-02-25 08:34:34 +08:00 via Android   1
    @lonenol 老项目 jsp,ssh 用不是很正常吗?
    hysys32
        22
    hysys32  
       2018-02-25 08:51:54 +08:00 via iPhone   1
    就从 ssm 开始吧,mybatis 要好得多,spring mvc 也简单和常用很多,jsp 嘛,还是要懂点的,虽然以后一般都用 el 表达式和 freemaker
    anubiskong
        23
    anubiskong  
       2018-02-25 09:17:57 +08:00   2
    我能劝你别学 java 吗?
    abcbuzhiming
        24
    abcbuzhiming  
       2018-02-25 10:24:44 +08:00   1
    现在搞 web 的上来就是一堆框架,我说,就不能认真的去研究一下 http 再来吗
    baozijun
        25
    baozijun  
       2018-02-25 10:48:04 +08:00 via iPhone   1
    @abcbuzhiming servlet 搞完 http 也差不多了
    Nick2VIPUser
        26
    Nick2VIPUser  
    OP
       2018-02-25 10:57:20 +08:00
    @domty 对啊,现在就是把 javaweb 用的东西了解一下是怎么做的,以后公司上项目好给别人搭把手
    Nick2VIPUser
        27
    Nick2VIPUser  
    OP
       2018-02-25 10:57:45 +08:00
    @wusj 谢谢推荐!
    Nick2VIPUser
        28
    Nick2VIPUser  
    OP
       2018-02-25 10:58:46 +08:00
    @anubiskong 老哥能说说原因嘛?我目前学 java 主要是因为公司业务会用到 sprint-boot,所以打算对 javaweb 由浅入深的学一下。
    Nick2VIPUser
        29
    Nick2VIPUser  
    OP
       2018-02-25 11:00:23 +08:00
    @abcbuzhiming 因为之前做过 3 个 python django 的 web 项目,感觉 http 比较基本的东西应该差不多了,所以开始学框架。
    CFO
        30
    CFO  
       2018-02-25 11:00:54 +08:00 via Android   1
    @pangliang 不是 servlet 是什么?
    ittianyu
        31
    ittianyu  
       2018-02-25 11:12:40 +08:00   1
    学 java 怎么也要 6-8 个月的全职时间,一天 12 小时就差不多。我就是这样过来的,从 servlet 到 微服务。
    sonyxperia
        32
    sonyxperia  
       2018-02-25 14:00:39 +08:00   1
    现在 struts 和 hibernate 其实都不多了,除非老项目
    sagaxu
        33
    sagaxu  
       2018-02-25 14:26:49 +08:00 via Android   6
    我建议跳过 servlet,直接从 springboot 开始,熟悉之后再学点 springcloud。hibernate 完全不需要学,往上 spring-data-jpa 走起,往下有 JdbcTemplate,裸写 jdbc 也行。mybatis 和 jsp 之类也可以直接跳过,用到了再学。

    另外一条路线是异步 web,建议入 vertx 的坑,完全忽略 j2ee 那些概念,更接近 nodejs 的理念。入坑 vertx,可以完全忽略 spring,也可以继续用 spring 做 di 和配置管理。

    netty 需要好好研究一下,java 并发编程实践也要仔细读两遍,这些比 http 协议和 servlet 重要的多。
    q397064399
        34
    q397064399  
       2018-02-25 15:37:25 +08:00   1
    先学 并发编程,,了解常见的并发编程模型, 框架都是次要的, 转来转去 Spring 跟 Spring 相关的东西 都离不开线程池并发 AOP DI 那一套。然后了解下 Servlet, 搞清楚什么是线程安全,写 web 代码的时候 注意哪些问题, 然后找个 SSM 的简单项目搭起来,一边学习框架 一边学习 AOP 跟依赖注入 底层接口实现的相关原理跟 API,后续所有框架相关的东西 基本上都离不开这两个东西 。

    不要一开始就用 SpringBoot,Java 搞 web 确实很烦,配置很多 而且很多都是非常繁琐的东西 ,搞得学 Java 变成了学配置,但是配置还是要学的, 毕竟工作是工作,你玩不转配置,实际工作很吃亏 也很费时间,虽然学了配置不会对你编程技术提升有啥帮助,但是配置这东西 玩一下 会了,能给工作节省不少时间。

    最近打算用下 Spring Security OAuth 2,看了一堆官方文档,真是比吃屎还难受, 本来 OAuth2 就是个相当简单的东西,官方文档没给出啥好的示例,最后还是靠一些分析使用的文章搞了起来。
    rim99
        35
    rim99  
       2018-02-25 15:37:37 +08:00 via Android   1
    @sagaxu 我恰好就按你这个路线走过来的。不过,异步和 netty 还没开始看。其实,mybatis 用的公司挺多的,还是学一下比较好。
    q397064399
        36
    q397064399  
       2018-02-25 15:38:07 +08:00   1
    @pangliang #6 很抱歉 还是那套 , 核心的 DispatchServlet 就是 Servlet 的实现类
    bleaker
        37
    bleaker  
       2018-02-25 16:04:25 +08:00   1
    比起学框架,应该先学 web framework 要解决的是哪些问题,要解决这些问题需要做哪些工作,做这些工作需要引入哪些概念,各种框架是如何用自己的模型去抽象这些概念的,这些抽象方式的利弊各有哪些。

    理解了工具为什么被设计成这样之后,才能更好的学习工具,否则很容易被工具层的各种概念搞晕。
    weirdo
        38
    weirdo  
       2018-02-25 18:01:50 +08:00   1
    servlet 和 jsp 吧
    Nick2VIPUser
        39
    Nick2VIPUser  
    OP
       2018-02-25 23:06:21 +08:00
    @sagaxu 非常感谢您的答案!很有用!
    Nick2VIPUser div class="fr">     40
    Nick2VIPUser  
    OP
       2018-02-25 23:09:13 +08:00
    @q397064399 您说的好详细,感激不尽!关于配置那块我的思路跟您差不多呢~
    Nick2VIPUser
        41
    Nick2VIPUser  
    OP
       2018-02-25 23:11:07 +08:00
    @bleaker 是了,我学框架的首要就是搞懂框架的各个部分分别是干什么用的,在 web 开发中处于什么样的位置,这样才能在实际开发中更快上手。
    pangliang
        42
    pangliang  
       2018-02-26 09:35:42 +08:00   1
    @q397064399 恩, 如果是的话, @Nick2VIPUser 我的意见不仅不要跳过 servlet , 还要从 http 协议, socket 协议这些底层去学

    不需要你特别深入, 你需要知道这些底层是什么负责什么; 然后如果没有 servlet, 你用 socket 实现一个 http server 需要怎么做; 然后有了 servlet 帮你解决了什么; 然后没有 spring 你又有什么麻烦, spring 又帮你解决了什么; 这才是新人需要学的

    那些网上所谓的 24 天学会 xxx, 一上来告诉你 什么各种 bean, xml 怎么配置, 巴拉巴拉, 你只能一脸懵逼根本无法理解
    pangliang
        43
    pangliang  
       2018-02-26 09:43:55 +08:00   1
    并发编程, 是从技术角度考虑怎么解决压力等问题; servlet spring 等框架从业务角度考虑怎么优雅实现 http, 实现业务等问题; 两个角度不同, 缺一不可
    Nick2VIPUser
        44
    Nick2VIPUser  
    OP
       2018-02-26 16:47:27 +08:00
    @pangliang 谢谢老哥悉心指导!
    chenhui7373
        45
    chenhui7373  
       2018-02-26 18:02:52 +08:00 via iPhone
    Core javaee
    gaocc
        46
    gaocc  
       2018-03-04 13:16:04 +08:00
    请问楼主是什么样的 java 程度,java 编程思想看过的吧,能理解个五成以上就很不错了。servlet+jsp 是入门基本不用,但主要能体现一些开发思想,对以后深入了解 spring 也很有好处,想做技术的可以看,想以后做产品的可以不看。然后单位是用 springBoot 是吧,这东西很适合新人也适合老人,但使用事感受是不一样的,新人会觉得开发好简单就是写业务,老人会去翻文档,说搞出 springboot 的团队真厉害,就靠 spring4 的 java 代码自动配置就取缔了 xml 配置。然后咔咔咔自己去模仿着写自动配置,搞出自己觉得好的项目环境。
    说这么多,其实就为了适应 springboot 大不用去花时间去额外了解什么,多看看官方的 springboot 案例就好。等自己有空闲了可以夯实下个各类基础
    PoetAndPoem
        47
    PoetAndPoem  
       2019-08-01 18:50:28 +08:00 via Android
    国内互联网用 mybatis 较多,企业级应用用 hibernate 居多
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3761 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 31ms UTC 00:17 PVG 08:17 LAX 17:17 JFK 20:17
    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