﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-火焰出林工作室-文章分类-学习方法谈</title><link>http://www.blogjava.net/blameswood/category/26350.html</link><description>程序人生:JAVA Web之路</description><language>zh-cn</language><lastBuildDate>Thu, 04 Oct 2007 21:17:34 GMT</lastBuildDate><pubDate>Thu, 04 Oct 2007 21:17:34 GMT</pubDate><ttl>60</ttl><item><title>J2EE学习经验和流程（个人版）&lt;转&gt;</title><link>http://www.blogjava.net/blameswood/articles/150435.html</link><dc:creator>火焰出林</dc:creator><author>火焰出林</author><pubDate>Thu, 04 Oct 2007 13:53:00 GMT</pubDate><guid>http://www.blogjava.net/blameswood/articles/150435.html</guid><wfw:comment>http://www.blogjava.net/blameswood/comments/150435.html</wfw:comment><comments>http://www.blogjava.net/blameswood/articles/150435.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/blameswood/comments/commentRss/150435.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/blameswood/services/trackbacks/150435.html</trackback:ping><description><![CDATA[<p>在这里我谈谈我在学习<a href="http://www.javadby.com/yuyanjichu/index.html"><u>j2ee</u></a>流程，并谈到在此过程中领会的经验和教训。以便后来者少走弯路。 </p>
<p>　　<a href="http://www.javadby.com/"><u>java</u></a>发展到现在，按应用来分主要分为三大块：j2se,j2me和<a href="http://www.javadby.com/yuyanjichu/index.html"><u>j2ee</u></a>。这三块相互补充，应用范围不同。</p>
<p>　　j2se就是<a href="http://www.javadby.com/"><u>java</u></a>2的标准版，主要用于桌面应用软件的编程；<br />
　　j2me主要应用于嵌入是系统开发，如手机和pda的编程；<br />
　　<a href="http://www.javadby.com/yuyanjichu/index.html"><u>j2ee</u></a>是<a href="http://www.javadby.com/"><u>java</u></a>2的企业版，主要用于分布式的网络程序的开发，如电子商务网站和erp系统。</p>
<p>　　先学习j2se</p>
<p>　　要学习<a href="http://www.javadby.com/yuyanjichu/index.html"><u>j2ee</u></a>就要先学习j2se，刚开始学习j2se先建议不要使用ide，然后渐渐的过渡到使用ide开发，毕竟用它方便嘛。学习j2se推荐两本书，《<a href="http://www.javadby.com/"><u>java</u></a>2核心技术一二卷》，《<a href="http://www.javadby.com/"><u>java</u></a>编程思想》，《<a href="http://www.javadby.com/"><u>java</u></a>与模式》。其中《<a href="http://www.javadby.com/"><u>java</u></a>编程思想》要研读，精读。这一段时间是基本功学习，时间会很长，也可能很短，这要看学习者自身水平而定。</p>
<p>　　不要被ide纠缠</p>
<p>　　在学习<a href="http://www.javadby.com/"><u>java</u></a>和<a href="http://www.javadby.com/yuyanjichu/index.html"><u>j2ee</u></a>过程中，你会遇到五花八门的ide，不要被他们迷惑，学<a href="http://www.javadby.com/"><u>java</u></a>的时候，要学语言本身的东西，不要太在意ide的附加功能，<a href="http://www.javadby.com/"><u>java</u></a>编程在不同ide之间的转换是很容易的，过于的在意ide的功能反而容易耽误对语言本身的理解。目前流行的ide有jbuilder，eclipse和eclipse的加强版wsad。用好其中一个就可以了，推荐从eclipse入手<a href="http://www.javadby.com/yuyanjichu/index.html"><u>j2ee</u></a>。因为jbuilder更适合于写j2se程序。</p>
<p>　　选择和学习服务器使用配置</p>
<p>　　当你有了j2se和ide的经验时，可以开始<a href="http://www.javadby.com/yuyanjichu/index.html"><u>j2ee</u></a>的学习了，web服务器：tomcat，勿庸置疑，tomcat为学习web服务首选。而应用服务器目前主要有三个：jboss、weblogic、websphere。有很多项目开始采用jboss，并且有大量的公司开始做websphere或weblogic向jboss应用服务器的移植（节省成本），这里要说的是，学习tomcat和jboss我认为是首选，也是最容易上手的。学习服务器使用配置最好去询问有经验的人（有条件的话），因为他们或许一句话就能解决问题，你自己上网摸索可能要一两天（我就干过这种傻事），我们应该把主要时间放在学习原理和理论上，一项特定技术的使用永远代替不了一个人的知识和学问。</p>
<p>　　学习web知识</p>
<p>　　如果你是在做电子商务网站等时，你可能要充当几个角色，这是你还要学习：<br />
　　html，可能要用到dreamwave等ide。<br />
　　<a href="http://www.javadby.com/"><u>java</u></a>script，学会简单的数据校验，数据联动显示等等</p>
<p>　　<a href="http://www.javadby.com/yuyanjichu/index.html"><u>j2ee</u></a>api学习</p>
<p>　　学习<a href="http://www.javadby.com/yuyanjichu/index.html"><u>j2ee</u></a>api和学习服务器应该是一个迭代的过程。<br />
　　先学习jsp和servlet编程，这方面的书很多，我建立看oreilly公司的两本《jsp设计》和《<a href="http://www.javadby.com/"><u>java</u></a> servlet编程》，oreilly出的书总是那么优秀，不得不佩服。<br />
　　学习jdbc数据库编程，<a href="http://www.javadby.com/yuyanjichu/index.html"><u>j2ee</u></a>项目大多都是mis系统，访问数据库是核心。这本应属于j2se学习中，这里拿出来强调一下。<br />
　　学习jndi api，它和学习ejb可以结合起来。<br />
　　学习ejb api，推荐书《精通ejb》<br />
　　经过上面的这些的学习，大概可以对付一般的应用了。<br />
　　有人说跟着sun公司的《<a href="http://www.javadby.com/yuyanjichu/index.html"><u>j2ee</u></a> tutorial》一路学下来，当然也可以。</p>
学习ejb设计模式和看代码（最重要）
<p>　　设计模式是练内功，其重要性可以这么说吧，如果你不会用设计模式的话，你将写出一堆使用了ejb的垃圾，有慢又是一堆bug，其结果不如不用ejb实现（ejb不等于<a href="http://www.javadby.com/yuyanjichu/index.html"><u>j2ee</u></a>）。<br />
　　无论学习什么语言，都应该看大量代码，你看的代码量不到一定数量，是学不好<a href="http://www.javadby.com/yuyanjichu/index.html"><u>j2ee</u></a>的。</p>
<p>　　目前有很多开源的工程可以作为教材：<br />
　　jive论坛<br />
　　petstore sun公司<br />
　　dune sun公司<br />
　　等等，研读一个，并把它用到自己的工程中来。</p>
<p>　　<a href="http://www.javadby.com/yuyanjichu/index.html"><u>j2ee</u></a>其他学习</p>
<p>　　当你渐渐对<a href="http://www.javadby.com/yuyanjichu/index.html"><u>j2ee</u></a>了解到一定深度时，你要开始关注当前领域中的一些技术变化，<a href="http://www.javadby.com/yuyanjichu/index.html"><u>j2ee</u></a>是一块百家争鸣的领域，大家都在这里提出自己的解决方案，例如structs，hiberate，ofbiz等等，学习这些东西要你的项目和目标而定，预先补充一下未尝不可，但不用涉及太深，毕竟学习原理和理论是最最重要的事。</p>
<p>　　目前常见<a href="http://www.javadby.com/yuyanjichu/index.html"><u>j2ee</u></a>api</p>
<p>　　<a href="http://www.javadby.com/"><u>java</u></a>server pages(jsp)技术1.2 <br />
　　<a href="http://www.javadby.com/"><u>java</u></a> servlet技术2.3 <br />
　　jdbc api 2.0 <br />
　　<a href="http://www.javadby.com/"><u>java</u></a> xml处理api(jaxp)1.1 <br />
　　enterprise <a href="http://www.javadby.com/"><u>java</u></a>beans技术2.0 <br />
　　<a href="http://www.javadby.com/"><u>java</u></a>消息服务(jms)1.0 <br />
　　<a href="http://www.javadby.com/"><u>java</u></a>命名目录接口(jndi)1.2 <br />
　　<a href="http://www.javadby.com/"><u>java</u></a>事务api(jta) 1.0 <br />
　　<a href="http://www.javadby.com/"><u>java</u></a>mail api 1.2 <br />
　　<a href="http://www.javadby.com/"><u>java</u></a>beans激活架构(jaf)1.0 <br />
　　<a href="http://www.javadby.com/yuyanjichu/index.html"><u>j2ee</u></a>连接器体系结构(jca)1.0 <br />
　　<a href="http://www.javadby.com/"><u>java</u></a>认证和授权服务(jaas)1.0 </p>
<p>　　学习上面的某些api要以你的项目而定，了解所有他们总之是有好处的<br />
　　上面印证了大家说的一句话，<a href="http://www.javadby.com/"><u>java</u></a>语言本身不难学，但是技术太多，所以学<a href="http://www.javadby.com/"><u>java</u></a>很费劲。回想一下，基本上每个初学者，在刚学习<a href="http://www.javadby.com/"><u>java</u></a>的时候可能都会问别人这么一句话，你怎么知道的哪个方法(api)在哪个包里的？呵呵，无他，唯手熟尔。</p>
<img src ="http://www.blogjava.net/blameswood/aggbug/150435.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/blameswood/" target="_blank">火焰出林</a> 2007-10-04 21:53 <a href="http://www.blogjava.net/blameswood/articles/150435.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>