初次涉及Java领域,感觉到Java入门是好像没有C,C++入门快,工具也没有什么Turbo C,Visual C++好用(自己的破机器实在陪不起JBuilder,贪婪的家伙,以后一定要收拾她)。什么JAVA_HOME,CLASSPATH,虚拟机等概念都是初次基础,旁边的人都很少用Java的。感觉Java就是做Applet的。让我不可思议的是JAVA 2,JDK,J2SE,J2EE,J2ME等新名词在自己的脑海里蔓延。慢慢的自己知道了JCP组织是制定Java相关规范的发源地http://java.jcp.org ,于是订阅了一份邮件列表。真是好东西啊,定期有Java的最新动向,所以Java的动态尽收眼里,建议大家也去订阅一份。免费的。自己动手下载了Java(TM) 2 SDK和Java(TM) 2 SDK Documentation后,不懂的就查Java(TM) 2 SDK Documentation,特别好用,也不需要什么手册之类的,建议大家都要有一份。
搭起Java开发环境后,记得还是用UltraEdit编辑并编译的(在其中可以配好Java的编译环境)。慢慢的改用JCreator了。不错,至少很多方面有改进。最开始卖了一套 2本书,还不错。对于入门来说足够了。
不知道什么时候,要开始干项目了,以前从书上看到的东西,慢慢的在项目中有了很好的机会去温习,慢慢的有了感觉,开始主要是用Swing,开发桌面系统,放置一个按钮怎么也放不好,后来才知道有一个布局管理器。开始涉及到数据库访问,JDBC。
每次,美美的享用一顿大餐后,也来也觉得自己是不是应该换一种学习方式,因为这样学习效果不太好。比较乱。让我想起了Java Specification,对,我开始研究Java规范了。最开始下载的规范是JDBC Specification,很多概念一目了然,尤其是DATABASE的事务性控制,自己对于她的理解慢慢的有了较为深入的了解。对于开发C/S结构,比如,Swing+JDBC,开发数据库应用系统,让我学会开发两层结构的应用系统。很神气。
也不知道什么时候要开始开发一个网站,基于Linux+JSP+JavaBean+Oracle的系统。很是有意思。为什么这么说呢?因为不同于Swing+JDBC的开发模式,系统之间多了一层(JavaBean,姑且就这么叫吧!嘻嘻);同时,很多开发技术和面向左面系统不一样,比如分页技术。
完成项目后,自己对于Java的很多方面都比较了解了。开始思考一个问题,J2EE是什么东西?。我们学习Java大概有3个方向,第一,桌面系统,包括C/S结构;第二,J2ME,面向无限领域,很有潜力的家伙,看看中国的手机用户就知道了。第三,面向企业应用、计算的平台,J2EE。
在痛苦的抉择后,我选择J2EE..分享J2EE给我带来的快乐。学到现在,最大的感觉,就是: 简单就是美,美就是Java.不会有学MFC的痛苦,也不会有去分析STL的艰辛,网路应用上一点也不逊色于C++。开始进入我的J2EE之旅。
还是下载了一份J2EE规范,一份J2EE SDK。开始研究J2EE,大概过了1个月,开始有感觉了,也就在这个时候,需要我去完成一个J2EE构架方面的项目。差不多边学编写完成了,很多概念在写完后都不是很清晰,因为东西太多了,主要是基于JSP(Servlet)+Session Bean+EIS构架开发系统。当然也学到很多东西,至少对SB EJB的编写不成问题。懂得了JSP如何调用EJB……..
完成项目后,我开始研究Java Pet Store了,很是过瘾。开始知道了Servlet过滤器,XML方面较为全面的知识,知道了J2EE整个框架中各种技术的实际应用。慢慢的,开始研究WebLogic配置好的Pet Store(也是Sun公司的)。慢慢的分析两者的不同之处。开始对J2EE Specification有了很好的感觉。因为J2EE Specification本身是很严肃的,但Pet Store给出了活力。在反复的学习中,我明白了J2EE构架的70—80%。新的问题又出来了,实际企业中会如何建构一个J2EE系统呢?带着这个问题,我开始分析Core J2EE Patterns,这本书。同时,也有EJB Design Patterns。慢慢的,开始知道了J2EE的魅力所在,知道了J2EE为什么会在企业中得到较为好的认可。大家都知道,设计模式一词,在公司上班,你们的老板会看你的代码吗?会赞赏你的DP很好吗,我想很少。在完成你的工作进度之余,加班,加班,再加班,我想你没有更多的时间去分析研究DP.但,J2EE框架不一样,她内置了很多优秀的设计模式,我们在设计开发、构架一个J2EE系统中用到了很多设计模式。比如,MVC,EJB中封装的DAO设计模式。
构架J2E系统用Session Fa?ade,Message Fade设计模式也不会太困难。这也是后来J2EE吸引我的地方。慢慢的我知道了,作为一个J2EE开发者,我们要掌握其中的核心内容。我个人认为,3方面很重要。实施EJB系统常用的架构、设计模式,比如session fa?ade、message fade、DTO等。J2EE系统构架中常用的模式。UML-> EJB,EJB->UML相互映射。现在也一样在研究
其实, 换一个角度来看,比如,学英语,一共有三个层面的东西,首先是词汇,然后是语法,再者是习惯用法 ( 希望读者能够从程序设计的角度考虑问题,看看这两者有什么相似之处,其实他们的逻辑是一样的 ) 。还比如,上数学课,老师在黑板上解题,大家都很轻松得听懂,自己动手时就会有很多问题。这些看来很简单的问题,其实都包含一个道理:理论联系实际,理论指导实践。
我们的理论在于,我们要有很好的方法。有些人看了很多书,写了不少程序,水平还是提高得很慢,很难跨越这道难关。还是方法问题。当然,我所谈论的方法,是自己的心得,体会,大家都有自己很独特的方法。没有绝对好、绝对坏的方法,看作用对象是谁。所以这里我们重点看看我这文章中所会提出来的方法。大家来评论评论。
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 有足够的了解。
<script type="text/javascript"> var arrBaiduCproConfig=new Array(); arrBaiduCproConfig['uid'] = 123541; arrBaiduCproConfig['n'] = 'codeofcpr'; arrBaiduCproConfig['tm'] = 30; arrBaiduCproConfig['cm'] = 68; arrBaiduCproConfig['um'] = 34; arrBaiduCproConfig['rad'] = 0; arrBaiduCproConfig['w'] = 234; arrBaiduCproConfig['h'] = 60; arrBaiduCproConfig['bd'] = '#FFFFFF'; arrBaiduCproConfig['bg'] = '#FFFFFF'; arrBaiduCproConfig['tt'] = '#0000CD'; arrBaiduCproConfig['ct'] = '#004040'; arrBaiduCproConfig['url'] = '#0000CD'; arrBaiduCproConfig['bdl'] = '#E0E0E0'; arrBaiduCproConfig['wn'] = 1; arrBaiduCproConfig['hn'] = 1; arrBaiduCproConfig['ta'] = 'right'; arrBaiduCproConfig['tl'] = 'bottom'; arrBaiduCproConfig['bu'] = 1; </script><script type="text/javascript"> </script>