1、我觉得先学学 JSP,用纯 JSP 做个日记本简单的小系统,纯粹从语言层面上了解一些基
础知识,把 tomcat 玩熟了,就用记事本编就行,主要是熟悉,能够理解 jsp 运行机制。然
后学学 java,看本基础的书,都是那种讲讲语法的,变量怎么定义,流程控制语句怎么写 ,
怎么编写函数,怎么处理表单元素,处理字符串,连接数据库,会一种就行。这些都是浮
在语言表面,你编写的程序还是结构化的,跟你以前用 asp 编的程序没什么区别,但是这
很重要。你可以直接选择目前公司里都在使用的 Eclips 来开发,但是你要区分 IDE 和 Java
的区别,不要被 IDE 邦死了。这些都熟了之后看《thinking in java》,看完之后,看 core
java 两卷,深入了解到 java 本身。看这些书的时候你可能就懵懂的进入 oo 世界了,估计还
不太明白。可以配合一些 oo 的理论方面的书,oo 不过就是那几个特点,封装分配,多态
性,继承,第一个要理解的当然是对象。看完这些后就可以学习 UML 建模了,主要会画
三种图,用例图,类图,序列图,三种图就足够了。不要期望自己一下就学会 UML,就会
建模,得跟 java 学习联系起来,编个几万行代码,慢慢就会设计对象了。然后看 GOF《设
计模式》,对你的面向对象思想一个巨大的提升,这时你一定会去重读继承,接口,抽象
类的相关的细节了,并且你会发现你的理解能力上了一个台阶。然后看看三层结构的知识
这时候编程考虑使用 jsp+servlet+javabean,分出表示层,业务层和数据访问层,这是基础。
2、 以上都是 J2SE,然后看 thinking in enterprise java,学习 j2ee 基础知识,你慢慢就会明白
持久层的一些机制了,后面的什么各种新鲜的东西,CMP 的东西本质是什么,你都很好理
解了。当然你要不断编码,把书里的概念都变成实践,只有自己动手做,才能理解,看会
不等于学会,学会不等于学精,学好技术不等于会设计,层次会越来越高。实践是认识的
唯一来源!!!一定要实践。
3、编码时你可以考虑看看《重构》这本书,觉得很好,同时还可以看看 Thinking in Design
Pattern with java,会使你的代码越来越漂亮。
4、 现在你的代码已经很专业了,而且可以分出不同的层次,因为你知道了最基本的原则,
那就是要高内聚,低耦合,要不断地解耦,但是怎么更好的解耦,什么是最佳实践,你可
能并不知道,虽然你看了下面这本书,你会发现你有些做法已经是最佳实践了,但是依然
会存在这种情况,有些你并不确定,那就看看 core java pattern 吧,都是 14 年以上开发经验
的架构师和众多 java 大师的经验总结,书中序言所写,看完这本书,你将成为 Java 架构师。
5、这些知道之后,你已经对分层的本质很理解了,你可以知道 Struts 不过是框架而已,只
是运用了页面助手,前端控制器,应用控制器等这些表示层或者表示层和业务层(Tier)
中间连接层(Layer)的模式,对于标签的理解你也是深刻的。而到集成层,采取不同的策
略和模式,数据持久化的理论和经验,框架不过是把大家都用得着的东西做好了给你用,
没有框架的话很多事需要你自己做,仅此而已,跟那些伟大的思想相比,它们太简单了。
至于到具体的容器,DAO 策略还是 CMP,BMP,在具体使用怎样的 ORM 工具,都是更简
单的事情了。但是看 spring,struts 这些框架时你会重新阅读前面的 java 教程的,因为
spring 用到了 java 的反射机制等。
6、到此为止,你会发现你 OOP 时,想到的就会是性能,到底用数组还是 ArryList,还是用
HashMap,OOD 时,你会考虑并发性,扩展性,复用性,现有框架,池,事务等方面,你
会发现每一个问题,你都有好几种选择方案,你会不断重构你的代码,改良你的设计。