Java web学习路线

转自知乎:

  1. Java SE 看传智播客毕向东的(反射那部分搭配着尚学堂马士兵的看),这部分搭配着《Thinking in Java》 做参考, 只是参考,我不得不强调:《Thinking in Java》不适合做入门书。
  2. Jdbc 看传智播客李勇的(其他老师的忽略), 这部分讲的很全,不用看书。
    2.1 数据库先学习 MySQL, 然后对比学习 SQL Server 和 Oracle. 这部分可以参考传智刘道成的 MySQL 课程,如有需要,可以参考《MySQL Cookbook》.
  3. Web 开发基础(Html+CSS+JS)
    传智播客韩顺平的《轻松搞定网页设计(html+css+js)》,讲的一般,做入门凑合
    妙味课堂的 HTML + CSS + JS,国内算讲的不错的,当然内容有点多,需要花更多时间。
    以后工作了还要自学很多, DOM 部分可以参考《DOM 编程艺术》,工作了可以深入 JS, 建议参考《Javascript 权威指南》, 原版更好,即:《Javascript: The Definitive Guide》
    3.1 学习 Jquery
    北风网李炎恢讲的不错
    圣思园张龙讲的也不错
    Jquery 多参考官方 API
    3.2 EasyUI 部分可以先不看,看官方文档基本足够,官网经常被墙,请自备梯子。
    3.3 ExtJS 对 JS 的基础要求比较高,我不建议初学就接触,可以在深入 JS 的机制后再学习,到时候参考《ExtJS in Action》 即可
    3.4 Ajax 可以参考王兴魁老师的内容,也可以自行搜索 Jquery 对 Ajax 的支持。
  4. Java Web 看传智播客方立勋的视频教程
    参考书籍:《Head First: Servlet and JSP》,很形象的一本书,图示很多,理解起来很舒服。
  5. 轻量级 JavaEE 开发(所谓的 SSH)
    Struts2 可以参考传智黎活明,尚学堂马士兵或者圣思园张龙的。
    参考书籍:《Struts in action》,中文版好像有《Struts 权威指南》之类的书。
    Spring 可以参考动力节点王勇的,也可以参考传智黎活明的。
    参考书籍:《Spring in Practice》
    Hibernate - 传智播客汤阳光讲的不错,也可以参考尚学堂马士兵的,虽然他的视频太老了。
    参考书籍:《Hibernate in action》或《Java Persistence with Hibernate》,后者是 Hibernate 作者参与编写的,虽然 2006 年出版的,仍然推荐。
    此时,可以试着出去找工作。
  6. 工作中的加分项(急着找工作的话,可以先找工作,然后工作中补补)
    WebService,有两种规范:JAX-WS 和 JAX-RS,推荐大家先学会使用规范的标准实现,再慢慢了解具体规范。
    学习 WebService,可以先阅读 《Java Web Services: Up and Running》了解 WebService 的历史、体系及各种实现的大概介绍,对应中文版本是《Java Web 服务 -构建与运行》
    JAX-RS,是我们所说的 Rest 风格的 WebService,时间多的话,建议把两种主流的框架都熟悉下:
    Jersey,SUN 对 JAX-RS 的官方参考实现,可以参考《Developing RESTful Web Services with Jersey 2.0》
    Restlet,在 JAX-RS 之前出现,后来也提供了对 JAX-RS 的支持,可以参考《Restlet in Action》
    JAX-WS,是我们所说的传统风格的 WebService,学会使用 CXF 或 Axis2 即可,推荐学习 CXF,可以参考《Apache CXF Web Service Development》,由于 Apache CXF 的文档有点乱,所以学习起来可能会困难些,不过,自己总要克服的
    关于 WebService 的测试,一般使用 SoapUI(为主流 IDE 提供了插件),这部分,可以参考《Web Services Testing with SoapUI》
    实际开发时,为了提高开发效率,可能需要使用 curl 这样的工具来快速访问服务,如果你安装了 Git, 那么 curl 已经自带了,打开 git bash 即可调用
    JPA,J2EE 中的一种规范,标准实现有:Hibernate / OpenJPA / EclipseLink 等等,建议通过 Hibernate 来学习 JPA
    参考书籍:《Java Persistence with JPA - Daoqi Yang》,是位美籍华人写的英文书,简洁易懂,对照这本书里的案例,理解起来不是很难。
    MyBatis,只是 JDBC 的简易封装,很简单,花三两天时间看看其官网文档就可以搞定。
  7. 现在大多数项目都采用构建工具,如 Maven / Gradle / Ant + Ivy 等等,这些你很少能够找到教程,能讲清楚的也不多,我的建议是:
    Gradle 可以参考 《Gradle in Action - Benjamin Muschko 2014》
    Maven 可以参考《Maven 实战》,没错,是为数不多写的也不错的国产书
    Ant 常常和 Ivy 搭配使用,但现在一般使用 Maven 就足够了,所以可以不学习,想了解的可以参考官方文档。
    不要以为英文的书会浪费你的时间,事实上,当你习惯看英文资料后,你会节省很多时间,至少不会找乱七八糟的中文资料还搞不清楚怎么回事。
  8. 不要以为你学习过三大框架就真的会用了,工作中你需要更多地参考官方文档(当然是英文的),例如 Spring Reference, 这样你就知道很多原理性的东西,能让你用框架更有自信,可以参考我的另一回答:spring有什么缺点吗? 多熟悉 J2EE 的规范,如 IOC,适当了解 Spring 之外的 IOC 框架,如 Guice 等。
  9. 工作中不要什么都去自己从头做,有些 Util 代码完全可以使用 Guava 等类库来替代,支持泛型和函数式编程,源码也值得学习。
  10. 对新技术要敏感一些,但不要一味追新,因为你永远追不上,语言层面的 New Feature 要多少会用,也能说得上来优劣, 此外,JVM 上还有 Scala 和 Groovy 之类的语言,有空可以了解下。
  11. 重要的永远都是底层和基础,大牛永远都是这么说,站着说话不腰疼,不过确实如此,你需要在工作之余,了解一下常用的算法和理论,你不能指望着不懂 Socket 就直接使用 Netty 那种高度抽象的框架来实现很好的并发。

你可能感兴趣的:(java学习笔记)