网络上、书店都提供了很多资料,很多方式都可以得到J2EE方面的资料。如何系统的、高效的学习J2EE这个问题摆在我们面前。比如, 有些人在看完一大堆书后,动起手来时还是不知道怎么开始。等等这些问题是我们最难处理的。如何寻找到一条很好的方式方法呢?
其实, 换一个角度来看,比如,学英语,一共有三个层面的东西,首先是词汇,然后是语法,再者是习惯用法(希望读者能够从程序设计的角度考虑问题,看看这两者有什么相似之处,其实他们的逻辑是一样的)。还比如,上数学课,老师在黑板上解题,大家都很轻松得听懂,自己动手时就会有很多问题。这些看来很简单的问题,其实都包含一个道理:理论联系实际,理论指导实践。
我们的理论在于,我们要有很好的方法。有些人看了很多书,写了不少程序,水平还是提高得很慢,很难跨越这道难关。还是方法问题。当然,我所谈论的方法,是自己的心得,体会,大家都有自己很独特的方法。没有绝对好、绝对坏的方法,看作用对象是谁。所以这里我们重点看看我这文章中所会提出来的方法。大家来评论评论。
J2EE是现在进行时。我们知道J2EE由很多技术构成,比如,EJB、XML、JDBC、RMI、JSP、Servlet等等这些,又包含很多内容。 无论这些具体的技术会怎么发展,怎么变化,我们要抓住主线,那就是掌握J2EE构架的精髓。用什么来分析呢,作用对象自然是J2EE Specification(最新版是1.4,http://java.sun.com/j2ee )!
当然学习J2EE的前提是你对J2SE有了足够的熟悉了,还有一点,你有很好的态度和兴趣。只看J2EE规范是不够的,最好结合产品和例子去思考,我建议大家用JBuilder 7 +BEA WebLogc Platform 7.0,这种开发模式。为什么这么说呢?首先,JBuilder 7本身的功能就是不错,应该属于主流Java IDE了。其次,BEA WebLogic Platform 7.0对J2EE Specification最新版支持程度很好,同时也较容易获取,用的人也多。第三,开发效率不错。(Borland网站有一份讲述JBuilder 7 + BEA WebLogic 7.0集成开发的文档。PDF格式。)?
JBuilder 7本身提供了很多帮助文档,有PDF格式,也有HTML格式(采用JavaHelp技术制作的),另外书店有一些JBuilder的参考用书,个人认为没有必要,第一,提供的版本都比较陈旧;第二,没有什么内容;第三,一般都是抄袭JBuilder 本身提供的帮助文档。(个人观点,没有任何商业目的)。当然,你的外语差不多要有四级水平,这个可不能没有,至少阅读能力不错(其实也不是这样的,我最开始时也是害怕,但开始投入后,英语资料也很简单,而且很地道!同时提高了您的外语)。
有了这两者,我们需要找出合适的对象来学习。在这里给出几方面的素材给大家提供参考。
第一,在JBuilder 7的安装目录的这个地方,~~:\JBuilder7\samples\Ejb\Ejb20\ESiteWL,有一个很好的例子,ESite。其中用到了Session Fa?ade设计模式,用到了JSP、Servlet、Session Beans、Entity Beans(cmp)等技术,学习过程中不懂得地方可以参考第二。
第二, http://java.sun.com/j2ee/tutorial/index.html 提供的J2EE Tutorial资料,很不错,Sun公司的。
第三,Java Pet Store,刚开始学习J2EE技术分析该例子有点困难,再者这个例子中的J2EE构架不是很实用,但她给我们展示了J2EE几乎所有的核心技术,同时还提供了一本书,Design Enterprise Applications with J2EE Platform,很不错。第四,对J2EE构架比较了解,对EJB,XML,JSP,Servlet等技术有了较好的理解和程序经验后,建议看看这几本书。《J2EE In Practice》、《Core J2EE Patterns》、《Sun Certified ENT Architect for J2EE - Tech Study Guide》、《Java Tools for Extreme Programming - wiley》、《EJB Design Patterns》、《MasteringEJB 2》、《Enterprise JavaBeans,3rd》,够你看得了:)。
有了上述基础,结合大家做项目中的一些经验,我想水平应该会有不少提高。在初步掌握上述基础后,我们每个人都可以有自己在J2EE中的定位,比如有些开发人员可以考虑把时间花在商务逻辑层、另外一些喜欢花功夫在表示层,更有贪婪的家伙花在J2EE中所有的层。还有Web Services(J2EE 1.4 Specification的重点,估计2003年初推出,今后的重要发展方向)。
同时,大家要注意从软件工程的角度考虑系统设计,实施,建议用用Together!!!要求大家对UML有足够的了解。