V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
ooToo
V2EX  ›  程序员

做 Java web 的, 怎么深入学习, 提高呢

  •  
  •   ooToo · 2017-05-01 09:40:14 +08:00 · 6058 次点击
    这是一个创建于 2798 天前的主题,其中的信息可能已经有所发展或是发生改变。
    说来惭愧, 从客户端转到服务端, 工作一段时间了, 整天照着葫芦画瓢写些业务逻辑, 却没有研究和思考.
    想知道 web 具体工作原理, 如请求到 web 容器, 容器处理过程, spring 工作过程等等, 有没有什么好的资料呢. 那些 java web 入门啥的书讲得也都不清楚.
    伸手党很惭愧, 自己也找找资料看看. 同时也请 v 友的帮忙解惑, 推荐资料, 非常感谢
    17 条回复    2017-05-02 15:23:17 +08:00
    wanjun
        1
    wanjun  
       2017-05-01 10:12:09 +08:00 via Smartisan T1
    先看几本 Java 专业书吧,

    Effective java,

    深入理解 Java 虚拟机,

    Java 并发编程实战
    wangxiaodong
        2
    wangxiaodong  
       2017-05-01 10:25:27 +08:00
    我是从 JSP 开始入门的,虽说上手快,但 JSP 容易将 java 代码直接写到页面上,偏离面向对象的封装性及业务样式分离原则。

    如果让我从新开始学习 JavaWeb,我会从 JSF 开始,因为 JSF 的生命周期和 OO 非常优秀,特别即将发布的 JSF 2.3 新版本 - https://url.openle.com/go#url=https://item.congci.com/-/content/jsf-2-3-xin-texing-ji-gaijin-zengqiang
    fox0001
        3
    fox0001  
       2017-05-01 10:31:22 +08:00 via Android
    其实也没啥…请求从浏览器发过来,struts action 类或 spring controller 类接收数据,再交给 spring service 处理业务逻辑,最后调用 hibernate dao 做数据库操作。就 3 层架构
    mazyi
        4
    mazyi  
       2017-05-01 12:58:11 +08:00 via iPhone
    不建议看一楼那些书,这种书至少得有一些实践的经验和自己的理解的时候才能够有用。我的建议是抓住工作中的细节,比如你写了一个 service 类就看为什么这个类可以成为 service,成为了 service 有什么作用等等,有了一些了解才好看书,让知识体系化,如果光看书很容易看过就忘了。
    woshixiaohao1982
        5
    woshixiaohao1982  
       2017-05-01 14:29:12 +08:00   ❤️ 1
    @mazyi 我倒是建议看一楼的书,这都是些 Java 业界的经典,像 effective java 更是 java 的圣经
    做后端开发的 主要还是把精力 集中在数据库 并发编程 高性能 跟底层原理上,因为后端变动的本身就慢,拿 java 后端 web 开发 至少有 10 几年没什么大的变动了,
    Antidictator
        6
    Antidictator  
       2017-05-01 15:05:57 +08:00 via Android
    @wanjun 在图书馆找不到第三本,不过借了 Java 并发编程的艺术,不知道这本评论如何
    mazyi
        7
    mazyi  
       2017-05-01 18:59:17 +08:00 via iPhone   ❤️ 1
    @woshixiaohao1982 不否定三本书都是经典,但刚转后端的确实不推荐,语言特性、虚拟机特性和高级实践在入门后的相当长的时间里起的作用没有看一本讲解框架的书大。
    murmur
        8
    murmur  
       2017-05-01 19:08:09 +08:00   ❤️ 1
    javaweb 太杂了建议找一个点精通,要么 java 的虚拟机、多线程这些,要么就 sql、数据库
    ooToo
        9
    ooToo  
    OP
       2017-05-01 20:04:07 +08:00
    @murmur 现在是对于 java web 原理一头雾水, 不知道 web.xml, applicationContext.xml 还有其它一些工具怎么工作的, 想了解下原理. 不过对数据库有些兴趣
    sagaxu
        10
    sagaxu  
       2017-05-01 20:15:15 +08:00
    是计算机专业毕业的吗?如果不是,大概有 10 几门用得到的专业课需要过一遍,基础是速成不了的。
    inisun
        11
    inisun  
       2017-05-02 00:47:53 +08:00 via iPhone
    一楼这种书学习成本太高,还不如找些实例书,上手后再去理解
    sheldoner
        12
    sheldoner  
       2017-05-02 08:38:51 +08:00
    同楼主的这个情况,希望有好的建议,列出来...哈哈
    autulin
        13
    autulin  
       2017-05-02 09:28:49 +08:00
    楼主需要从 servlet 看起,这是最底层的。各种框架基本都是在此基础上进行封装
    thisisgpy
        14
    thisisgpy  
       2017-05-02 10:22:20 +08:00
    Java 后端真的是太博大精深了,学不完的东西,我建议是选个方面去专研,其他的方面做到熟悉即可。
    woshixiaohao1982
        15
    woshixiaohao1982  
       2017-05-02 12:49:23 +08:00
    @mazyi 但是这些都是基础,你把基础打好了,其它都是洒洒水的事情,,一个没有线程安全概念的程序员 给个框架 能写好代码么
    niweicumt
        16
    niweicumt  
       2017-05-02 14:06:37 +08:00
    1 楼那三本书都挺不错,想深入学习的话基础必须要弄好,线程、IO、集合都要过关。
    [web 具体工作原理, 如请求到 web 容器, 容器处理过程, spring 工作过程等等] spring 可以看看源码分析,web 容器得针对具体产品,网上公开的 tomcat 源码分析比较多,我以前写过 tomcat7 系列: http://tyrion.iteye.com/category/285081
    但话说回来,先把基础弄清楚了,才能逐个啃上面那些东西。
    mazyi
        17
    mazyi  
       2017-05-02 15:23:17 +08:00 via iPhone
    @woshixiaohao1982 额,effective Java 是基础那恐怕我还没有入门
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   925 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 22:12 · PVG 06:12 · LAX 14:12 · JFK 17:12
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.