J2ee学习流程
在这里我谈谈我在学习j2ee流程,并谈到在此过程中领会的经验和教训。以便后来者少走
弯路。
Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE。这三块相互补充,应用
范围不同。
J2SE就是Java2的标准版,主要用于桌面应用软件的编程;
J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;
J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。
先学习j2se
要学习j2ee就要先学习j2se,刚开始学习j2se先建议不要使用IDE,然后渐渐的过渡到使用
IDE开发,毕竟用它方便嘛。学习j2se推荐三本书,《java2核心技术一二卷》,《java编
程思想》,《java模式》。其中《java编程思想》要研读,精读。这一段时间是基本功学
习,时间会很长,也可能很短,这要看学习者自身水平而定。
不要被IDE纠缠
在学习java和j2ee过程中,你会遇到五花八门的IDE,不要被他们迷惑,学JAVA的时候,要
学语言本身的东西,不要太在意IDE的附加功能,JAVA编程在不同IDE之间的转换是很容易
的,过于的在意IDE的功能反而容易耽误对语言本身的理解。目前流行的IDE有jbuilder,
eclipse和eclipse的加强版WSAD。用好其中一个就可以了,推荐从eclipse入手j2ee。因为
Jbuilder更适合于写j2se程序。
选择和学习服务器使用配置
当你有了j2se和IDE的经验时,可以开始j2ee的学习了,web服务器:tomcat,勿庸置疑,
tomcat为学习web服务首选。而应用服务器目前主要有三个:jboss、weblogic、webspher
e。有很多项目开始采用jboss,并且有大量的公司开始做websphere或weblogic向jboss应
用服务器的移植(节省成本),这里要说的是,学习tomcat和jboss我认为是首选,也是最
容易上手的。学习服务器使用配置最好去询问有经验的人(有条件的话),因为他们或许
一句话就能解决问题,你自己上网摸索可能要一两天(我就干过这种傻事),我们应该把
主要时间放在学习原理和理论上,一项特定技术的使用永远代替不了一个人的知识和学问
。
学习web知识
如果你是在做电子商务网站等时,你可能要充当几个角色,这是你还要学习:
html,可能要用到dreamwave等IDE。
Javascript,学会简单的数据校验,数据联动显示等等
J2eeAPI学习
学习j2eeAPI和学习服务器应该是一个迭代的过程。
先学习jsp和servlet编程,这方面的书很多,我建立看oreilly公司的两本《jsp设计》和
《java servlet编程》,oreilly出的书总是那本优秀,不得不佩服。
学习jdbc数据库编程,j2ee项目大多都是MIS系统,访问数据库是核心。这本应属于j2se学
习中,这里拿出来强调一下。
学习jndi api,它和学习ejb可以结合起来。
学习ejb api,推荐书《精通ejb》
经过上面的这些的学习,大概可以对付一般的应用了。
有人说跟着sun公司的《j2ee tutorial》一路学下来,当然也可以。
学习ejb设计模式和看代码(最重要)
设计模式是练内功,其重要性可以这么说吧,如果你不会用设计模式的话,你将写出一堆
使用了ejb的垃圾,有慢又是一堆bug,其结果不如不用ejb实现(ejb不等于j2ee)
无论学习什么语言,都应该看大量代码,你看的代码量不到一定数量,是学不好j2ee的
目前有很多开源的工程可以作为教材:
jive论坛
petstore sun公司
dune sun公司
等等,研读一个,并把它用到自己的工程中来。
J2ee其他学习
当你渐渐对j2ee了解到一定深度时,你要开始关注当前领域中的一些技术变化,J2ee是一
块百家争鸣的领域,大家都在这里提出自己的解决方案,例如struts,hibernate,ofbiz
等等,学习这些东西要你的项目和目标而定,预先补充一下未尝不可,但不用涉及太深,
毕竟学习原理和理论是最最重要的事。
目前常见j2eeAPI
JavaServer Pages(JSP)技术1.2
Java Servlet技术2.3
JDBC API 2.0
Java XML处理API(JAXP)1.1
Enterprise JavaBeans技术2.0
Java消息服务(JMS)1.0
Java命名目录接口(JNDI)1.2
Java事务API(JTA) 1.0
JavaMail API 1.2
JavaBeans激活架构(JAF)1.0
J2EE连接器体系结构(JCA)1.0
Java认证和授权服务(JAAS)1.0
学习上面的某些API要以你的项目而定,了解所有他们总之是有好处的
上面印证了大家说的一句话,java语言本身不难学,但是技术太多,所以学java很费劲
。回想一下,基本上每个初学者,在刚学习java的时候可能都会问别人这么一句话,你怎
么知道的哪个方法(api)在哪个包里的?呵呵,无他,唯手熟尔。