posts - 431,  comments - 344,  trackbacks - 0

     转自http://www.blogjava.net/black_zerg/archive/2005/05/30/5327.html 

       在 src 目录下为 Java 源码

dao    负责数据访问对象的定义和实现

  其中 Dao 结尾为接口, Impl 结尾为实现。目前一般用 hibernate 做实现。
domain 实体对象

logic   针对实体对象封装的逻辑

  这里 service 是外观接口, serviceimpl 是实现,考虑目前情况简单,并没有进一步分离逻辑,业务逻辑都在 impl 中完成。

web    界面相关的 Java 类

  common 是一些常用类,如处理中文问题的 filter.

  displaytag 中放了 displaytag 相关的类,多为 wrapper.

  webwork 中都是对应的 action ,

其中 BaseAction 是基本的抽象类,基本后续开发应继承此类

CrudAction 是为了一般的 Crud 工作而作的一个抽象类,可以继承用来简化工作。

而 CaseDispatcher 负责菜单点击后分发到相关 Action ,同时处理权限和 session 工作。
 
其他 action 按模块进行了组织

左边是 webroot 的结构

 

 

重要的配置文件有:

Spring

applicationContext.xml

applicationContext-db.xml

Webwork

xwork.xml

webwork.properties

i18n

 labels.properties

log4j

 log4j.properties

displaytag

 displaytag.properties

dbConnect

 jdbc.properties

 

关于一些技术难点和细节:

1.  各框架连接: spring 到 hibernate 使用 spring 的 hibernate 支持。 Spring 到 webwork 使用 autoware 的拦截机制自动装配。

2.  列表的问题,采用 displaytag 。功能强大,使用简洁,可实现排序和数据导出。

3.  数据下载,使用 displaytag 自带的 excel 下载

4.  文件上传,使用 webwork 提供的解决方案,用拦截机制实现。

5. jsp 代码组织方面,我们使用 taglib 和 css 技术使 jsp 中页面逻辑减少到最小,一般情况完全可以不使用 <% %> 的 script 段 。同时我们使用两个 include 来包含常用的 taglib 定义, js 引用和 html 结构,使 jsp 代码非常简洁。

6.  中文问题 我们使用 filter 来解决页面 gbk 到 Java 程序 unicode 的转换,同时通过正确的设置数据库连接 url 完成和数据库之间的交互。

7.  I18n 国际化。我们要求在 jsp 代码中不出现中文,所有提示信息都通过资源文件 labels.properties 来完成。页面中可以使用 jstl 或 webwork 标签来调用。

8.  界面验证问题。使用 webwork 的 validate 机制用 xml 定义,或在 action 中代码判断。

posted on 2006-12-11 13:21 周锐 阅读(1163) 评论(0)  编辑  收藏 所属分类: Hibernate 、Spring 、Webwork