一个新 java web 项目入手过程总结
<o:p> </o:p>
最近在新工作中要上手一个新 java web 项目,经过几天的努力后,终于上手了,回顾过程,发现可疑对其中的经验进行一下总结,这样下次再要上手一个项目就可以有一个基本的程序,不会像这次这样混乱了。
<o:p> </o:p>
要开始入手一个新的 java web 应用应该遵循这样一个原则
1 、首先是整体框架,也就是通常所说的三层构架:
数据库 + 应用服务器 + 应用
2 、其此是框架各个部分所处的环境
就是数据库,应用服务器的 os 都是什么,怎么沟通,怎么在对应 os 下调配数据库以及应用服务器
3 、再次应该是应用服务器和数据库的连接
这点很重要,要查找相关资料怎么配置应用服务器和数据库连接,以及使用的数据库连接池技术
4 、然后才是了解应用的构架
也就是所谓的项目源码了,具体使用了那种 mvc 模式,使用了什么日志工具,测试工具、编译工具,还用要是你去熟悉一个公司的项目的话,这个公司可能有自己的 web 相干开发工具
我用 visio 做了一个图形应该是这样的顺序
<o:p> </o:p>
<v:shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"><v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"></v:path><o:lock v:ext="edit" aspectratio="t"></o:lock></v:shapetype>
<o:p> </o:p>
用我最近的具体例子来做说明吧:
1、 首先是 3 层构架
数据库是 mysql
应用服务器是 resin
应用基本上是 struts+hibernate
这里明确了学习目标应该是 <o:p></o:p>
mysql 的相关使用方法 <o:p></o:p>
resin 的相关使用方法 <o:p></o:p>
2、 其次是 os
数据库和应用服务器放在一台主机上, OS 是 linux
但是日常的开发环境是 windows
所以用到了常用的 ssh 对主机进行管理
这里明确了学习目标应该是 <o:p></o:p>
Unix 相关命令 <o:p></o:p>
Ssh 的使用方法 <o:p></o:p>
3、 然后是数据库和应用服务器的连接方法
使用 mysql 的 jdbc 接口
这里明确了学习目标应该是 <o:p></o:p>
Resin 对数据库连接的配置方法 <o:p></o:p>
Mysql 对数据去连接有什么要求 <o:p></o:p>
4、 最后是应用代码层
这层应该是最后学习,但是我们往往习惯对整个系统没有弄清框架就开始这层的研究,这就导致在研究中不断出现有关框架的各种问题,而又要中断当前学习,开始查找另一个资料。我开始就犯了这个毛病,所以进度缓慢
这里我的项目使用了 hibernate+struts 作为基本框架,用 Ant 进行编译发布工作,使用 eclipse 作为 ide ,另外用到的 java 工具有 jfreechart,quartz 等,再有自己公司开发的 web 框架工具包
这里明确了学习目标应该是 <o:p></o:p>
边参照源码一边学习 Struts , hibernate , ant , eclipse , jfreechart , quartz ,自己公司的工具包
然后再在数据库的角度对整个业务逻辑做出理解
<o:p> </o:p>
<o:p> </o:p>
当然,以上四步中肯定是有些工具和技术已经掌握了,我们所要面向的是我们没有掌握方面,然后最终达到掌握系统的目的!要注意我们的目的是上手新平台不是学习新技术!