20110826 Java学习方法总结
学习JavaEE已经有一段时间了,自以为对JavaEE也是有一点地认识和理解的。如果有菜鸟也想学习JavaEE的话,那么,下面推荐一下我的学习进阶步骤(仅代表我个人):
①先学JAVA的基本语法。如Logic Java、Java oop 等,精通面向对象的思想:封装、继承和多态,以及后面学的接口。
( 其中封装和继承稍微简单一点,多态比较难一点;但能不能理解好多态,又是能不能理解面向对象思想的重要一步,而接口,学习起来并不难,难就难在如何运用好,在这里,教大家一个理解接口的简单方法:接口就是一种规范。)
②系统的学一下数据库。像数据库中的五大范式、事务调度、数据仓库、数据挖掘等很专业的知识,我们都没有必要掌握;但我这么说,并不代表我们就不要学数据库了。像数据库中的SQL语句是一定要精通的,这对以后的学习很有帮助.有些常会出错的,一定要注意.比如,Select语句中where后面多个条件的连接用的是and而不是,(逗号);Insert语句中Values后接的是(),括号中的值用逗号隔开;Update语句后面一定要有关键字Set;Delect删除记录时,一定要记得加where条件;聚合函数Count后面要加(*)或者你取的数据库表的别名。
(最好能熟练运用SQLServer、 DB2、MySQL、Oracle中的一个或几个)
③再学JSP、Servlet。掌握最基本的JSP代码、JSP指令(page指令、include指令、taglib指令)、JSP动作、servlet和一些XML配置文件方面的知识,JSP比起以后要学的Struts而言,难度要小很多,但是光看书是不够的,一定要多做一些小项目.
(推荐大家按照书上的例子做一些小的网站,最好采用JSP + JavaBean的设计模式,这样可以为以后学习MVC打下基础)
④透彻的理解MVC编程思想。书上经典的例子一定要会做,代码可以不记住,但MVC的编程思想一定要理解并能够灵活的运用
(虽然,MVC并不能算是一种技术,但我依然把它单独列为一个阶段,可见其重要。如果这个理解不了,JavaEE以后就真的没法学了)
⑤在就是学习Struts框架。学习Struts,要认真琢磨它的运行原理和执行流程,特别是ActionForm、Action组件的作用和Struts-config.xml这个核心配置文件每一处用到的配置。
(学到这一步,才算是真正接触了JavaEE,以上学的东西不过是为SSH三大框架的学习做好铺垫.当然,这个时候就要用到J2EE的开发工具了,个人推荐eclipse或者MyEclipse,其实MyEclipse也就是eclipse的豪华版,一个收费,一个不收费)
此外,还要熟悉Struts标签,掌握自定义标签是如何使用的。
(但这个时候千万不要追求大而全,只学习几种常用的标签就可以了,重点放在bean和logic标签上,Struts的html标签和普通的html标签没什么区别,所以……你懂的)
还有,要准确的理解:Action、ActionForm、biz、dao这几个层之间的关系.
(本质还是MVC的设计模式。Action作用:响应用户请求,调用后台逻辑,跳转其他页面。)
多思考一下,多问自己几个为什么。譬如Struts框架既然是一个半成品,那我们使用它的好处是什么,它是如何响应客户端请求的,我们又是如何扩展和配置的等等。
最后,在学习一下Struts2.
(Struts2虽然和Struts1在名称上很相像,但二者有本质上的区别;Struts2是在另一个著名框架WebWork基础上发展而来)
⑥最后学习Hibernate和Spring,现在Hibernate和Spring也是相当流行的。
Hibernate使用时只需要操纵对象,使开发更对象化,抛弃了数据库中的思想,完全的面向对象思想。但它在只针对某一对象(单个对象)简单的查改删增比较实用,批量修改、删除则不是它的强项。
Spring是一个非侵入性的轻量级框架,允许在应用系统中自由地选择和组装Spring的各功能模块,并且不强制要求应用中的类必须从Spring 的系统API中的某个类来继承或者实现某个接口。同时也提供和其它框架集成的接口,如与Hibernate、Struts 的集成等,便于应用开发.
上面是我粗略地勾勒了一下学习JavaEE的曲线。归纳一下:学习Java是需要循序渐进、实例驱动、思考总结的。至于其他的,估计大家工作以后慢慢琢磨,不过学这东西,还要看大家的天赋和造化了,反正我是看的云里雾里的,头都大了。这里面涉及的知识点都很多,需要我们耐心细致地学习。大家在做项目的时候会发现各种各样的异常和问题。不要害怕,因为这些错误都是我们的好朋友,我们要把它们通通都记录下来,并坚韧地排除掉它们。这里要记住:尽量避免重复犯错,不要在同一个地方跌倒两次。总之,这个一个相对比较枯燥、耗时间和耗精力的阶段。我们要做的就是不断地参考,不断地思考,不断地总结,最好还能和志同道合的人不断地争论。
(记得我最疯狂的一次是:一天都没出门,从早上7点起来开始敲代码,一直到凌晨1点,连吃饭都在寝室解决.其实当你真正进入代码的世界,你会将周围的一切都忘了.)
推荐学习使用的软件(都是我用过的,没用的暂时忽略):
1.Web容器:TomCat 7.0、TomCat 6.0(个人感觉没什么区别,还有,改端口号是在tomcat的conf文件下server.xml配置文件中。)
2.开发工具:MyEclipse 9.0、Eclipse 3.2(注意3.2版本是装不上Tomcat 7 的。)
3.网页设计工具:Dreamweaver CS5、CS3(个人推荐用CS5,因为用CS3时,JavaScript代码不注意写错了,找都找不到,很头疼的;CS5带了纠错的功能,虽然还不能像Eclipse那样,不过已经很不错了)
4.数据库:SQL Server 2005/ 2000、Oracle 11g(Oracle 不怎么会用,学习中……)
最后,祝大家学的实用,学的开心!!!
長孫如水
2011年8月6日