首先说一些题外话,做web页面开发,也是j2ee吧。
现在学习mvc,应用struts的兄弟姐妹们多多,最近struts也release了1.2.2版本了。
最近一个同事问我如何让一个新人快速进入到struts的开发中去。我理了理头绪,“往事一幕幕”。
从个人职业规划来看,主要有几个思想的方向。前几天谈论理论与实践的距离和有效性,作为coder,我们是实践者,我们也是工作人,我们需要一些方法论来指导我们的思想,我们通过我们思想的脉络来把握技术的发展。
主要有两个方向:一个是project management;一个是developer.
每一个程序员都有把握整个项目的欲望和冲动;动力之后是方法论了。
想到今天我也对别人怎么去coding指手画脚,:)。
1.了解java的代码规范.刚开始是十分重要的。就像人生的第一步似的。
3.了解一下jdk的版本,和在项目中jdk的控制。
2.开发环境ide的版本,eclipse等,如果是eclipse,还有plugins的了解。(怎么配置代码的style.)
3.对于tomcat的了解和配置;读读tomcat的源码也是不错的野味呢./sun one
4.了解mvc的结构和发展。
5.了解测试驱动开发和junit.
6.了解jdbc,更好能了解一些关于数据连接的封装。
7.了解presentation—business—persistence等layer结构;有时间了解framework更好。
8.了解一些java pattern。
9.有时间了解spring的bean管理想法,顺便就学到了依赖注入的思想了,看看martin fowler的文章,了解各个注入方法的特点。
10.了解jsp的语法。
11.了解javascript的语法。
12.了解struts自带的taglib(JSTL)。apache有一个专门的taglib项目,我们所需要的所有的taglib在里面都有。通过我接触的一些开源的项目,taglib使用的十分广泛。http://jakarta.apache.org/taglibs/index.html 一个tagunit网站http://www.tagunit.org/tagunit/index.jsp
13.有时间可以读struts的源码,我还没有读过,有点儿遗憾,如果能看一下servlet跟好了。
14.了解servlet,filter,listener的用法。特别是filter,链职责模式也可以学到了。
15.了解commons-logging,log4j.如何写log,什么时候写log. http://logging.apache.org
16.servlet api javadoc: http://java.sun.com/products/servlet/2.2/javadoc/
17.apache struts: http://struts.apache.org/ http://struts.apache.org/api/index.html struts已经release了1.2.2版本,应该有不少新特性。
18.junit site: http://www.junit.org/junit/javadoc/index.htm
19.我们一般画图用的open source 的api也是apache的POI: http://jakarta.apache.org/poi http://jakarta.apache.org/poi/apidocs/index.html
如果一开始,我们还是自己写jdbc比较好吧,慢慢的可以接触or mapping的东西。
1.jdbc怎么写可以看 java核心技术.里面还有怎么用java写存储过程的例子。
2.过一段时间可以看看or mapping的东西(Object Relation Mapping);现在比较热的开源的是:ibatis和hibernate.
在学习过程中,xml和uml都会跑进来的。enjoy it!
关于presentation layer,更多的涉及到jsp,javascript和struts.
1.struts taglib的运用。
2.struts里面有一个validation.xml和validator-rules.xml两个需要理解。
3.struts的formbean的机制,执行顺序。
4.actionmapping的原理。
5.struts-config.xml的配置。(建议:在项目中将struts-config.xml分离,team中每一个成员维护自己的。)
6.中文化的一些问题。unicode的编写。建议使用java提供的命令行:native2ascii -encoding gb2312 sourceFile.properties destFile.properties
7.说明:在struts中,有一个c—control的概念,在我们应用层编码,是看不见它的存在的。它体现在struts中应该是一个org.apache.struts.action.RequestProcessor的类,我也记得不太清楚。
8.了解struts开发中一个baseform的模式。(只有一个baseform的模式)
9.在jpetstore4.0.5中,采取了只使用一个action的模式,这样做是为了将business和action分离,在action层进行了一个公用提取,利于business logic的公用和维护,也提高了可测试性。。。。。。
10.那就看看jpetstore的源代码吧。注:jpetstore4.0.5版使用了ibatis的sql mapping和dao framework。
有时间可以了解一下project management的一些工具,学习写ant和maven的脚本,这都是很重要的。
学习cvs,了解版本控制。
了解exception机制,原理和发展始末以及方向。
学习xp开发方式。
4.开始学习分析设计了,掌握uml了,了解各个层次的pattern的时机到来了。
还有一些书要看了。经常上网看别人对于现在的开发方向的讨论。。。