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

2017-05-01 09:40:14 +08:00
 ooToo
说来惭愧, 从客户端转到服务端, 工作一段时间了, 整天照着葫芦画瓢写些业务逻辑, 却没有研究和思考.
想知道 web 具体工作原理, 如请求到 web 容器, 容器处理过程, spring 工作过程等等, 有没有什么好的资料呢. 那些 java web 入门啥的书讲得也都不清楚.
伸手党很惭愧, 自己也找找资料看看. 同时也请 v 友的帮忙解惑, 推荐资料, 非常感谢
6051 次点击
所在节点    程序员
17 条回复
wanjun
2017-05-01 10:12:09 +08:00
先看几本 Java 专业书吧,

Effective java,

深入理解 Java 虚拟机,

Java 并发编程实战
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
2017-05-01 10:31:22 +08:00
其实也没啥…请求从浏览器发过来,struts action 类或 spring controller 类接收数据,再交给 spring service 处理业务逻辑,最后调用 hibernate dao 做数据库操作。就 3 层架构
mazyi
2017-05-01 12:58:11 +08:00
不建议看一楼那些书,这种书至少得有一些实践的经验和自己的理解的时候才能够有用。我的建议是抓住工作中的细节,比如你写了一个 service 类就看为什么这个类可以成为 service,成为了 service 有什么作用等等,有了一些了解才好看书,让知识体系化,如果光看书很容易看过就忘了。
woshixiaohao1982
2017-05-01 14:29:12 +08:00
@mazyi 我倒是建议看一楼的书,这都是些 Java 业界的经典,像 effective java 更是 java 的圣经
做后端开发的 主要还是把精力 集中在数据库 并发编程 高性能 跟底层原理上,因为后端变动的本身就慢,拿 java 后端 web 开发 至少有 10 几年没什么大的变动了,
Antidictator
2017-05-01 15:05:57 +08:00
@wanjun 在图书馆找不到第三本,不过借了 Java 并发编程的艺术,不知道这本评论如何
mazyi
2017-05-01 18:59:17 +08:00
@woshixiaohao1982 不否定三本书都是经典,但刚转后端的确实不推荐,语言特性、虚拟机特性和高级实践在入门后的相当长的时间里起的作用没有看一本讲解框架的书大。
murmur
2017-05-01 19:08:09 +08:00
javaweb 太杂了建议找一个点精通,要么 java 的虚拟机、多线程这些,要么就 sql、数据库
ooToo
2017-05-01 20:04:07 +08:00
@murmur 现在是对于 java web 原理一头雾水, 不知道 web.xml, applicationContext.xml 还有其它一些工具怎么工作的, 想了解下原理. 不过对数据库有些兴趣
sagaxu
2017-05-01 20:15:15 +08:00
是计算机专业毕业的吗?如果不是,大概有 10 几门用得到的专业课需要过一遍,基础是速成不了的。
inisun
2017-05-02 00:47:53 +08:00
一楼这种书学习成本太高,还不如找些实例书,上手后再去理解
sheldoner
2017-05-02 08:38:51 +08:00
同楼主的这个情况,希望有好的建议,列出来...哈哈
autulin
2017-05-02 09:28:49 +08:00
楼主需要从 servlet 看起,这是最底层的。各种框架基本都是在此基础上进行封装
thisisgpy
2017-05-02 10:22:20 +08:00
Java 后端真的是太博大精深了,学不完的东西,我建议是选个方面去专研,其他的方面做到熟悉即可。
woshixiaohao1982
2017-05-02 12:49:23 +08:00
@mazyi 但是这些都是基础,你把基础打好了,其它都是洒洒水的事情,,一个没有线程安全概念的程序员 给个框架 能写好代码么
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
2017-05-02 15:23:17 +08:00
@woshixiaohao1982 额,effective Java 是基础那恐怕我还没有入门

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/358319

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX