Java web 怎么学才能不恶心 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
jakevin
V2EX    Java

Java web 怎么学才能不恶心

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

    之前拿 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、ava 的代码量确实比 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
    nxforce
        10
    nxforce  
       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 呢,真的是围城。
    fbcskpebfr
        37
    fbcskpebfr  
       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  
       span class="ago" title="2019-07-03 19:22:40 +08:00">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 ?
    qqqz
        53
    qqqz  
       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 无论哪种体位都恶心.
    GG668v26Fd55CP5W
        67
    GG668v26Fd55CP5W  
       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     Solana     882 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 30ms UTC 21:25 PVG 05:25 LAX 13:25 JFK 16:25
    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