转自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
中代码判断。