我们学习Java大概有3个方向,第一,桌面系统,包括C/S结构;第二,J2ME,面向无限领域,很有潜力的家伙,看看中国的手机用户就知道了。第三,面向企业应用、计算的平台,J2EE。
初次涉及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
这个问题摆在我们面前。比如,
有些人在看完一大堆书后,动起手来时还是不知道怎么开始。等等这些问题是我们最难处理的。如何寻找到一条很好的方式方法呢?
其实,
换一个角度来看,比如,学英语,一共有三个层面的东西,首先是词汇,然后是语法,再者是习惯用法
(
希望读者能够从程序设计的角度考虑问题,看看这两者有什么相似之处,其实他们的逻辑是一样的
)
。还比如,上数学课,老师在黑板上解题,大家都很轻松得听懂,自己动手时就会有很多问题。这些看来很简单的问题,其实都包含一个道理:理论联系实际,理论指导实践。
我们的理论在于,我们要有很好的方法。有些人看了很多书,写了不少程序,水平还是提高得很慢,很难跨越这道难关。还是方法问题。当然,我所谈论的方法,是自己的心得,体会,大家都有自己很独特的方法。没有绝对好、绝对坏的方法,看作用对象是谁。所以这里我们重点看看我这文章中所会提出来的方法。大家来评论评论。
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>