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

Java web 怎么学才能不恶心

  •  
  •   jakevin · 2019-07-03 14:39:23 +08:00 · 16645 次点击
    这是一个创建于 2002 天前的主题,其中的信息可能已经有所发展或是发生改变。

    之前拿 python 和 golang 写过后端,体验都还可以

    前一段时间开始学 java web,给人的感觉真是恶心炸了🤢。

    • java 没有一本好的入门书籍。
    • java 写起来特别恶心,代码冗余,
    • java 各种七七八八的东西太多了

    总之,写起来,学起来真的难受,极其恶心,😔。

    不知道大家有什么学习 java web 的经验没,求教

    115 条回复    2019-07-05 16:04:33 +08:00
    1  2  
    strcmp
        1
    strcmp  
       2019-07-03 14:41:15 +08:00
    没有
    pipixia
        2
    pipixia  
       2019-07-03 14:44:09 +08:00 via Android
    springboot
    jakevin
        3
    jakevin  
    OP
       2019-07-03 14:44:50 +08:00
    @pipixia springboot 也不可能直接上吧,没学过其他东西前
    misaka19000
        4
    misaka19000  
       2019-07-03 14:48:09 +08:00
    springboot,开箱即用,半天上手,一天可以开始写业务
    Breadykid
        5
    Breadykid  
       2019-07-03 14:48:17 +08:00
    动态语言和静态语言写起来能一样吗?
    建议 lz 先上 J2SE 再上 J2EE,再去撸 Java web 框架
    qping
        6
    qping  
       2019-07-03 14:52:23 +08:00
    1、java 好的入门书籍不知道,楼下补充吧
    2、java 的代码量确实比 python 和 go 要多,但是如果类库掌握的足够多,其实也还可以
    3、东西太多不是 java 的缺点,如果你只是用来做网站的话 后端推荐 lombok + springboot + jpa,前端使用 nginx + vue/react/....
    Caballarii
        7
    Caballarii  
       2019-07-03 14:53:37 +08:00   ❤️ 12
    你已经预设了恶心的心态来写 Java,不恶心才怪
    easylee
        8
    easylee  
       2019-07-03 14:53:54 +08:00
    crud boy 告诉你,直接 MyBatis + SpringBoot 妥妥哒!
    limuyan44
        9
    limuyan44  
       2019-07-03 15:04:14 +08:00 via Android
    建议入门 jpa+boot
    joyhub2140
        10
    joyhub2140  
       2019-07-03 15:10:21 +08:00   ❤️ 3
    既然用 go 和 python 写后端了,为啥还要再学 java 做后端??学习的时间成本不应该如此浪费吧。
    nicevar
        11
    nicevar  
       2019-07-03 15:11:59 +08:00
    先学 node 再学 java web 就不恶心了
    jakevin
        12
    jakevin  
    OP
       2019-07-03 15:12:56 +08:00
    @Breadykid golang 显然是静态语言
    Fule
        13
    Fule  
       2019-07-03 15:16:30 +08:00   ❤️ 2
    研究一下 ASP.NET Core,再学 Java Web 就更恶心了。😜
    anakinsky
        14
    anakinsky  
       2019-07-03 15:17:29 +08:00   ❤️ 1
    不要学,就不恶心了
    helsonxiao
        15
    helsonxiao  
       2019-07-03 15:18:09 +08:00 via Android
    既然已经有 Web 开发经验了,给你推荐这个项目吧,跟着实现一遍就大约清楚了,我也是有点经验所以没系统看书,希望有人推荐一本靠谱的。
    github 搜索 spring-security-react-ant-design-polls-app
    zw1one
        16
    zw1one  
       2019-07-03 15:18:25 +08:00
    没事,等你学完了用来工作天天增删查改才恶心
    Takamine
        17
    Takamine  
       2019-07-03 15:20:18 +08:00
    多写写“ hello world !”。
    helsonxiao
        18
    helsonxiao  
       2019-07-03 15:21:19 +08:00 via Android
    另外我不觉得用 java 做开发有什么冗余。。。如果有,那可能是你没做好设计。
    KuroNekoFan
        19
    KuroNekoFan  
       2019-07-03 15:21:27 +08:00
    就是这么冗余,所以我不干 java web 了
    wupher
        20
    wupher  
       2019-07-03 15:22:18 +08:00   ❤️ 1
    何必呢?

    同样的事,既然已经会 Python 和 Golang 了,没必要再折腾一遍。

    有这个时间,不如把精力放在如何用已有技术做出更加优秀的作品上。
    cyril4free
        21
    cyril4free  
       2019-07-03 15:22:56 +08:00   ❤️ 1
    先学 C++,就不感觉 java 恶心了
    LokiSharp
        22
    LokiSharp  
       2019-07-03 15:30:18 +08:00
    学 Kotlin
    MikeLei
        23
    MikeLei  
       2019-07-03 15:34:54 +08:00
    学完 Asp.netMVC 你就不会觉得 JavaWeb 恶心了,一位结束手上项目就跳倒 SSM 框架的 CRUD Boy 如实说.
    saytesnake
        24
    saytesnake  
       2019-07-03 15:38:36 +08:00
    那...直接放弃可好?逃...
    zjsxwc
        25
    zjsxwc  
       2019-07-03 15:39:34 +08:00 via Android
    首先 Java 是一门简单的语言,
    然后看下官方文档把 maven 学了就可以搞各种方向的项目了,
    比如楼主说的 web 方向,
    最后才是搞个 web 框架玩玩,比如 springboot、pippo 等
    javaWeber
        26
    javaWeber  
       2019-07-03 15:42:55 +08:00
    以前学 SSH 和 SSM 时,真心吐血,最烦的就是配置,一个配置能折腾半天。
    后来有了 SpringBoot,真的太舒服了。赶紧扔了 SSM 吧。。
    框架用 SpringBoot,IDE 用 IDEA,再装个 lombok 和 jrebel。
    hoyixi
        27
    hoyixi  
       2019-07-03 15:47:35 +08:00
    恕我直言,各种编程语言都很恶心,优雅直接了当地把事儿干了的语言还没出现。总是要搞些花里胡哨的玩意儿挖坑埋自己
    hinate
        28
    hinate  
       2019-07-03 16:01:41 +08:00
    不要学就行了,初始状态就不对,干嘛还要学。
    www5070504
        29
    www5070504  
       2019-07-03 16:12:16 +08:00
    java 辣么火 入门书应该比 go 多多了啊 python 好像也是最近两年书多起来了 以前就那么几本
    skypyb
        30
    skypyb  
       2019-07-03 16:55:02 +08:00   ❤️ 1
    这边建议自顶向下学习法呢,SpringBoot 一把梭就完事了。
    有心情了在自己去折腾 SpringMvc 配置,最后在自己搞 servlet
    palmers
        31
    palmers  
       2019-07-03 17:00:57 +08:00   ❤️ 11
    javaweb 项目需要涵盖的面很广, 因为大多 javaweb 项目都是`java + web` sdk 数据库 网络处理 操作系统等等 现在因为生态的发展就更多了, 对接了各种周边,这也是 javaee 能作为大型项目开发的原因,javaee 从一开始格局就比较大, 因为这个生态圈越来越大, 所以需要学习的有:
    1. 基础 javase, 必须掌握,尤其是 jdk 除 javame 部分 api 比如 awt 包 忽略
    2. 因为 javaweb 项目避免不了和各种数据库打交道,所以你需要了解甚至掌握数据库(关系型和非关系型)知识,比如 mysql oracle,redis MongoDB 等等
    3. 不管项目大小,你都应该使用行业规范的项目依赖管理工具比如 maven 或 Gradle 甚至你也需要了解 ant 来应对一些特殊的需求, 使用这些工具不是为了高大上而是为了利于后续扩展和维护
    4. 为了加快开发速度, 一般情况下都会引入第三方的框架 比如 spring 系 mybatis 等 使用行业已经成熟的解决方案 避免重复造轮子,也是为了项目稳定 所以你得学习这些第三方框架的运行原理, 避免误用影响项目运行 或给公司造成损失
    5. web 项目需要部署到不同的地方,一些小项目或小公司,开发和运维通常都是你,所以你需要知道如何部署项目, 然后一般服务器基本都是 linux 所以你得了解和掌握基本的 linux 操作
    6. 慢慢的你需要了解一些自动部署工具什么的
    7. 需要掌握计算机网络部分,比如 tcp/udp 上层的 http/https
    7. 现在大公司基本都把业务服务化,也就是微服务的概念,暂时可以简单理解为 原有业务逻辑拆分细化为一个个的消的服务,然后使用微服务框架通信 比如 dubbo 等

    以上这些看着很多其实你慢慢来 一步一步来也很快的,分清先后主次学习就行,关键是 java 基础 基础学好了, 了解后面的东西是很快的 不明白的去官网或 stackoverflow 看一下基本就知道了

    我知道的就这些了,希望对你有帮助
    xpresslink
        32
    xpresslink  
       2019-07-03 17:08:38 +08:00   ❤️ 1
    建议楼主把 springboot, lombok, mybatis. maven,JB idea 配置 这几东西好好撸一下。
    做 web 后端开的省事程度其实也还可以了,虽然省事程度还是比不上 Django/Flask,但至少基本上不用为性能问题困扰了。做企业级开发,目前 go 的生态链还是要比 java 差太多了,性能上 go 也 java 没有明显优势。做微服务场景用 go 更有适合一些。
    airfling
        33
    airfling  
       2019-07-03 17:11:37 +08:00
    现在大公司还是更喜欢用稳定成熟的 java-web 来做网站
    huijiewei
        34
    huijiewei  
       2019-07-03 17:25:45 +08:00 via iPhone
    springboot 解千愁
    notreami
        35
    notreami  
       2019-07-03 17:30:34 +08:00
    python 和 golang 居然不恶心,难道楼主就写个 hello world ??
    godoway
        36
    godoway  
       2019-07-03 17:34:35 +08:00 via Android
    既然会 golang 了何必折腾 Java,混的 spring 群不少人说要去转 go 呢,真的是围城。
    ruimz
        37
    ruimz  
       2019-07-03 17:37:22 +08:00 via Android
    @Caballarii 原文是学了 Java Web 之后觉得恶心,到你这成了预设了恶心的心态来写 Java
    TomorJM
        38
    TomorJM  
       2019-07-03 17:38:47 +08:00
    直接 springboot, 有啥不好的么?
    wleexi
        39
    wleexi  
       2019-07-03 17:50:41 +08:00
    恶心是啥意思
    ragnaroks
        40
    ragnaroks  
       2019-07-03 17:57:17 +08:00
    java 比 python 恶心?
    虽然 java 确实挺恶心的
    unicloud
        41
    unicloud  
       2019-07-03 17:58:50 +08:00 via iPhone   ❤️ 1
    多喝热水
    129ykx733D016U2n
        42
    129ykx733D016U2n  
       2019-07-03 18:00:37 +08:00
    看到 Java 就恶心
    hellwys1
        43
    hellwys1  
       2019-07-03 18:03:40 +08:00
    @notreami #35
    绝了,python 写 web 还恶心?
    allanzhuo
        44
    allanzhuo  
       2019-07-03 18:05:46 +08:00
    会 go,还来折腾 java,有啥想不开的
    PhpBestRubbish
        45
    PhpBestRubbish  
       2019-07-03 18:29:38 +08:00
    别学就不恶心了。
    hhhsuan
        46
    hhhsuan  
       2019-07-03 18:33:54 +08:00   ❤️ 4
    去医院查一下吧,可能是怀孕了
    zkqiang
        47
    zkqiang  
       2019-07-03 18:46:19 +08:00
    Java 就是这样的啊,天生的工程型语言,就像盖大楼和搭板房的区别一样
    这不是黑“搭板房”的语言,我也是 Python 选手,用习惯了优雅简洁的语法肯定很难接受繁重的了
    jeremaihloo
        48
    jeremaihloo  
       2019-07-03 18:48:32 +08:00
    @Breadykid #5 golang 也是静态语言呀
    jeremaihloo
        49
    jeremaihloo  
       2019-07-03 18:49:28 +08:00
    @MikeLei #23 aspnet core 用起来是真的爽呀
    pisc
        50
    pisc  
       2019-07-03 19:22:40 +08:00 via Android
    惊了,一个写 golang 的人,吐槽写 Java 代码冗余恶心,我算算这是在黑谁呢,你家 golang 没有参数多态用代码生成器的事迹还历历在目呢,一眼看过去全是 err != nil 谈什么恶心,来用 Haskell 吧,保证优雅。
    cllvking
        51
    cllvking  
       2019-07-03 19:32:27 +08:00 via Android
    听说 head first Java 入门还不错,虽然我没读过
    glaucus
        52
    glaucus  
       2019-07-03 19:33:23 +08:00
    Kotlin + SpringBoot ?
    Phuasheng
        53
    Phuasheng  
       2019-07-03 19:58:21 +08:00
    旁边准备垃圾桶,吐多了就不恶心了
    DRcoding
        54
    DRcoding  
       2019-07-03 20:24:36 +08:00
    被一些自以为是的技术喷子的带偏了观念的的小菜鸟。
    guyeu
        55
    guyeu  
       2019-07-03 20:30:56 +08:00
    1. think in java
    2. 想了一下 Java 没什么冗余的,试举例一二,然后我可以告诉你它为什么要那样写
    3. 生态完备并不是缺点,绝大多数需求都能找到最优的实现,对于计算机语言来说是一件美好的事
    findmyself
        56
    findmyself  
       2019-07-03 20:34:45 +08:00 via iPhone
    @DRcoding 正解
    realkenshinji
        57
    realkenshinji  
       2019-07-03 20:44:34 +08:00 via iPhone
    换 kotlin,用 ktor
    realkenshinji
        58
    realkenshinji  
       2019-07-03 20:45:22 +08:00 via iPhone
    @nicevar 更恶心才对好吗
    watzds
        59
    watzds  
       2019-07-03 21:14:09 +08:00 via Android   ❤️ 1
    没 springboot 前是蛮恶心的,特别有些书用的工具还落后。
    d23
        60
    d23  
       2019-07-03 21:18:14 +08:00 via Android
    首先得先了解 servlet
    ChopMoun
        61
    ChopMoun  
       2019-07-03 21:29:38 +08:00
    可能是你刚入门,先入为主的思想,后面可能就好了
    EscYezi
        62
    EscYezi  
       2019-07-03 22:36:34 +08:00 via iPad
    用 kotlin 重写一遍(
    ilotuo
        63
    ilotuo  
       2019-07-03 22:47:19 +08:00
    我上手直接用 intellij idea 社区版导入一个 springboot 工程。折腾半天没弄好。哭了。
    fookwood
        64
    fookwood  
       2019-07-03 23:21:09 +08:00
    fookwood
        65
    fookwood  
       2019-07-03 23:28:15 +08:00
    不要因为语言而限制自己的发展,各个语言都有其擅长的领域,都会有缺点的。不妨去试着理解 Java 的冗余带来了什么优势。
    Java 入门看《 Java 核心技术》就行。
    你不妨把遇到的恶心的地方贴出来,让大家帮你解答下
    devtiange
        66
    devtiange  
       2019-07-04 03:12:27 +08:00
    无解, java 无论哪种体位都恶心.
    falcon05
        67
    falcon05  
       2019-07-04 03:31:23 +08:00 via iPhone
    无解,有一个段子说扎克伯格当年如果用 java 写的 Facebook,那么还没等他写完就厌倦了,现在听说情况有所改观?
    Salvation
        68
    Salvation  
       2019-07-04 07:57:36 +08:00
    说实话,纠结语言,而不是关注生态的,在这行可能走不远。
    murmur
        69
    murmur  
       2019-07-04 08:00:03 +08:00
    java 只是语言比较教科书而已,比恶心 obj-c 比 java 恶心一万倍
    BCy66drFCvk1Ou87
        70
    BCy66drFCvk1Ou87  
       2019-07-04 08:11:08 +08:00 via Android
    拥抱 springboot 和注解,只要不写 xml 没那么恶心
    tairan2006
        71
    tairan2006  
       2019-07-04 08:17:05 +08:00
    用 go 就完事了
    wzhi
        72
    wzhi  
       2019-07-04 08:37:40 +08:00
    要是不喜欢,学什么都恶心
    luckyqiang
        73
    luckyqiang  
       2019-07-04 08:49:17 +08:00
    建议放弃吧
    fhy1994
        74
    fhy1994  
       2019-07-04 08:56:55 +08:00
    不学
    JRay
        75
    JRay  
       2019-07-04 09:01:36 +08:00
    java boy 正在学 go
    chocotan
        76
    chocotan  
       2019-07-04 09:02:03 +08:00
    建议放弃
    ---
    spring boot 跟 idea 有什么关系,没 idea 还写不了 spring boot 了?
    MeteorCat
        77
    MeteorCat  
       2019-07-04 09:03:39 +08:00 via Android
    web 用 PHP 最简单了,怎么写你都运行起来
    NoKey
        78
    NoKey  
       2019-07-04 09:12:56 +08:00
    不管恶心不恶心,看使用面广不广
    觉得恶心,大可以就学 python 和 go,工作机会也多
    为什么觉得恶心了,还要学呢?
    恶心自己么。。。
    GiantHard
        79
    GiantHard  
       2019-07-04 09:19:19 +08:00
    用 Kotlin 写 Java Web
    coang
        80
    coang  
       2019-07-04 09:22:20 +08:00
    直接用从别人的项目里边学习 推荐 guns 自己一个个模块的过...
    dif
        81
    dif  
       2019-07-04 09:35:14 +08:00
    以上都是因为你还能吃饱饭,交得起房租。当年刚毕业的时候《 21 天精通 java 》我都看,包括什么王者归来、李刚的那本红皮书,疯狂 Java,林信良的《 JDK1.7 学习笔记》也是被逼的。
    当然书好不好另说,看完总有收获。只不过是你花了一本书收获的知识的多少和深浅而已。
    所以入门《写给大忙人看的 Java 核心技术》我觉得挺好,基础扎实了再看《 Spring 实战》。mybatis 大约 1-2 天就足够开发所需了。
    fumichael
        82
    fumichael  
       2019-07-04 09:36:38 +08:00
    think in java,根本看不进去呀
    q8164305
        83
    q8164305  
       2019-07-04 09:44:03 +08:00 via Android
    js boy 正在学 java,觉得还行啊
    Seaball0022
        84
    Seaball0022  
       2019-07-04 09:53:08 +08:00
    个人感觉看视频比看书有效
    silvernoo
        85
    silvernoo  
       2019-07-04 09:57:52 +08:00
    其实写多了感觉还可以,现在提交 leetcode 都用 java 了
    charlie21
        86
    charlie21  
       2019-07-04 10:04:06 +08:00 via iPhone
    其实这个帖子问的是:如何摒弃一些先入为主的思想,当这些思想已经为你带来阻碍的时候

    我不告诉你。不过大致的方向是:类似于一种 “只要它高级 高档次,不管我喜欢不喜欢 我都会去做” 的情愫,带着这种情愫去做事。

    至于它高档次在哪里 就看你个人慧眼了
    specita
        87
    specita  
       2019-07-04 10:08:12 +08:00
    还是熟悉度的问题,我之前从 java 到 go 也适应了一段时间,过了那段时间就会好很多,看一些设计理念的科普文章可能会有所帮助
    Cbdy
        88
    Cbdy  
       2019-07-04 10:17:58 +08:00 via Android
    框架:Spring Boot
    书:Spring 实战

    如果你想 Python/Go 的体验可以抛开 Spring 生态,试试比如
    Vert.x
    likaka
        89
    likaka  
       2019-07-04 10:27:30 +08:00
    2019 年啦
    lancelock
        90
    lancelock  
       2019-07-04 10:30:40 +08:00
    1. core java 就可以,跳过 gui 部分
    2. 用了 lombok 没觉得有什么冗余的
    3. 东西多是生态好,难道还成缺点了

    我自己是 java 后端开发,就是 springboot 开始看的,没觉得有什么缺陷。你非要花费精力在那一堆 xml 上能不恶心吗。
    另外试试 vert.x 这些现代的东西,会比 go 之类的差?
    zimhy
        91
    zimhy  
       2019-07-04 10:31:37 +08:00
    先学基础吧,我当年是从 servlet 到 ssh 再到 ssm,
    在后啦转 php
    在后来转 go
    后来又回到 springboot 了
    taogen
        92
    taogen  
       2019-07-04 10:37:56 +08:00 via Android
    熟能生巧。每个语言都有自己的工作模式,或好或坏,它已经是事实。如果 Java 和其它语言 Python、Golang 一样,那就不叫 Java 了。
    taogen
        93
    taogen  
       2019-07-04 10:39:46 +08:00 via Android
    同样适用六字真言六字真言
    MotherShip
        94
    MotherShip  
       2019-07-04 10:39:58 +08:00
    java 没有一本好的入门书籍。—— Java 核心技术
    java 写起来特别恶心,代码冗余,——例子?
    java 各种七七八八的东西太多了——例子?

    怕不是听了别人一顿吹有了个先入为主的概念哦
    solwyer
        95
    solwyer  
       2019-07-04 10:48:55 +08:00
    觉得 javaweb 恶心,c++了解一下
    razertory
        96
    razertory  
       2019-07-04 10:51:31 +08:00
    Rails 了解一下
    zhouwei520
        97
    zhouwei520  
       2019-07-04 12:05:34 +08:00
    建议转行
    wdv2ly
        98
    wdv2ly  
       2019-07-04 12:07:54 +08:00
    喷完就跑,真 TM 刺激
    lazywen
        99
    lazywen  
       2019-07-04 12:11:47 +08:00
    kotlin
    good1uck
        100
    good1uck  
       2019-07-04 12:30:34 +08:00
    没精通 , 不发表评论
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1037 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 20:14 · PVG 04:14 · LAX 12:14 · JFK 15:14
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.