Nick2VIPUser
V2EX  ›  Java

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

  •  
  •   Nick2VIPUser ·
    nickliqian · Feb 24, 2018 · 21808 views
    This topic created in 3173 days ago, the information mentioned may be changed or developed.

    以前做过爬虫和 django 项目。

    现在在学习 javaWeb 开发。

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

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

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

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

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

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

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

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

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

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

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

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

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

    那些网上所谓的 24 天学会 xxx, 一上来告诉你 什么各种 bean, xml 怎么配置, 巴拉巴拉, 你只能一脸懵逼根本无法理解
    pangliang
    pangliang
    Feb 26, 2018❤️1
    43
    并发编程, 是从技术角度考虑怎么解决压力等问题; servlet spring 等框架从业务角度考虑怎么优雅实现 http, 实现业务等问题; 两个角度不同, 缺一不可
    Nick2VIPUser
    Nick2VIPUser
    OP
    Feb 26, 2018
    44
    @pangliang 谢谢老哥悉心指导!
    chenhui7373
    chenhui7373
    Feb 26, 2018 via iPhone
    45
    Core javaee
    gaocc
    gaocc
    Mar 4, 2018
    46
    请问楼主是什么样的 java 程度,java 编程思想看过的吧,能理解个五成以上就很不错了。servlet+jsp 是入门基本不用,但主要能体现一些开发思想,对以后深入了解 spring 也很有好处,想做技术的可以看,想以后做产品的可以不看。然后单位是用 springBoot 是吧,这东西很适合新人也适合老人,但使用事感受是不一样的,新人会觉得开发好简单就是写业务,老人会去翻文档,说搞出 springboot 的团队真厉害,就靠 spring4 的 java 代码自动配置就取缔了 xml 配置。然后咔咔咔自己去模仿着写自动配置,搞出自己觉得好的项目环境。
    说这么多,其实就为了适应 springboot 大不用去花时间去额外了解什么,多看看官方的 springboot 案例就好。等自己有空闲了可以夯实下个各类基础
    PoetAndPoem
    PoetAndPoem
    Aug 1, 2019 via Android
    47
    国内互联网用 mybatis 较多,企业级应用用 hibernate 居多
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   5328 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 102ms · UTC 06:15 · PVG 14:15 · LAX 22:15 · JFK 01:15
    ♥ Do have faith in what you're doing.