【笔记】Java web 新项目入手过程总结
当我们拿到手一个新项目的时候,我们该如何进行快速的学习和掌握:
1 整体架构上
要开始入手一个新的 java web 应用应该遵循这样一个原则
1 、首先是整体框架,也就是通常所说的三层构架:
数据库 + 应用服务器 + 应用
2 、其此是框架各个部分所处的环境
就是数据库,应用服务器的 os 都是什么,怎么沟通,怎么在对应 os 下调配数据库以及应用服务器
3 、再次应该是应用服务器和数据库的连接
这点很重要,要查找相关资料怎么配置应用服务器和数据库连接,以及使用的数据库连接池技术
4 、然后才是了解应用的构架
也就是所谓的项目源码了,具体使用了那种 mvc 模式,使用了什么日志工具,测试工具、编译工具,还用要是你去熟悉一个公司的项目的话,这个公司可能有自己的 web 相干开发工具
我用 visio 做了一个图形应该是这样的顺序
用我最近的具体例子来做说明吧:
1、 首先是 3 层构架
数据库是 mysql
应用服务器是 resin
应用基本上是 struts+hibernate
这里明确了学习目标应该是
mysql 的相关使用方法
resin 的相关使用方法
2、 其次是 os
数据库和应用服务器放在一台主机上, OS 是 linux
但是日常的开发环境是 windows
所以用到了常用的 ssh 对主机进行管理
这里明确了学习目标应该是
Unix 相关命令
Ssh 的使用方法
3、 然后是数据库和应用服务器的连接方法
使用 mysql 的 jdbc 接口
这里明确了学习目标应该是
Resin 对数据库连接的配置方法
Mysql 对数据去连接有什么要求
4、 最后是应用代码层
这层应该是最后学习,但是我们往往习惯对整个系统没有弄清框架就开始这层的研究,这就导致在研究中不断出现有关框架的各种问题,而又要中断当前学习,开始查找另一个资料。我开始就犯了这个毛病,所以进度缓慢
这里我的项目使用了 hibernate+struts 作为基本框架,用 Ant 进行编译发布工作,使用 eclipse 作为 ide ,另外用到的 java 工具有 jfreechart,quartz 等,再有自己公司开发的 web 框架工具包
这里明确了学习目标应该是
边参照源码一边学习 Struts , hibernate , ant , eclipse , jfreechart , quartz ,自己公司的工具包
然后再在数据库的角度对整个业务逻辑做出理解
当然,以上四步中肯定是有些工具和技术已经掌握了,我们所要面向的是我们没有掌握方面,然后最终达到掌握系统的目的!要注意我们的目的是上手新平台不是学习新技术!
再小的项目也要先从需求做起
1 需求分析 最好写文档 写用例 画用例图 使用word 和 rational rose 或其它UML工具
2 架构设计 确定使用什么架构 是b/s还是c/s 是二层还是三层 明确每层的功能
3 系统设计 根据需求分析的结果 将系统划分模块,具体到希望系统完成一个什么功能,设计出类,定义好类的属性方法,建立类之间的关系 画流程图 rose
4 详细设计 对每个类的方法作流程详细设计复杂的可以写出大致的算法 不需要实际编码
5 编码
6 测试
2 应用架构上
步骤:表结构->web.xml->mvc->db->spring ioc->log->代码
1、先了解项目数据库的表结构,这个方面是最容易忘记的,有时候我们只顾着看每一个方法是怎么进行的,却没有去了解数据库之间的主外键关联。其实如果先了解数据库表结构,再去看一个方法的实现会更加容易。
2、然后需要过一遍web.xml,知道项目中用到了什么拦截器,监听器,过滤器,拥有哪些配置文件。如果是拦截器,一般负责过滤请求,进行AOP等;如果是监听器,可能是定时任务,初始化任务;配置文件有如 使用了spring后的读取mvc相关,db相关,service相关,aop相关的文件。
3、查看拦截器,监听器代码,知道拦截了什么请求,这个类完成了怎样的工作。有的人就是因为缺少了这一步,自己写了一个action,配置文件也没有写错,但是却怎么调试也无法进入这个action,直到别人告诉他,请求被拦截了。
4、接下来,看配置文件,首先一定是mvc相关的,如springmvc中,要请求哪些请求是静态资源,使用了哪些view策略,controller注解放在哪个包下等。然后是db相关配置文件,看使用了什么数据库,使用了什么orm框架,是否开启了二级缓存,使用哪种产品作为二级缓存,事务管理的处理,需要扫描的实体类放在什么位置。最后是spring核心的ioc功能相关的配置文件,知道接口与具体类的注入大致是怎样的。当然还有一些如apectj等的配置文件,也是在这个步骤中完成。
5、log相关文件,日志的各个级别是如何处理的,在哪些地方使用了log记录日志。
6、从上面几点后知道了整个开源项目的整体框架,阅读每个方法就不再那么难了。
7、当然如果有项目配套的开发文档也是要阅读的。