求教一道面试题

orderyan 2010-09-15 05:56:24
1. 利用Struts 的数据缓存、自动校验,Spring 的注入、配置事务管理,XML文件通用配置 实现一业务数据通用保存模块。功能需求如下:
 在不增加Java代码的情况下能够实现新业务数据的保存
 在不增加Java代码的情况下能够实现业务数据的扩充(数据项的增减)
 能够实现单表、主子表、单条记录、多条记录的自动保存
 是所有业务数据保存时的唯一入口
 能够提供业务数据可配置性的自动校验(必录、长度、正则表达式等)
 提供切换数据库的可能性
 异常能够进行统一处理
 能够提供模块运行的详细日志

现有一思路如下:
1. 通过Struts 的通用ActionForm 实现各种业务数据表单的数据收集
2. 通过Struts 的ActionForm 的 validate方法实现数据的自动校验
3. 复写 ActionMapping 的setInput 方法实现不同表单异常时的返回
4. 每个业务表单数据与数据库之间的对应通过XML文件配置,包含数据的校验、数据的类型(字符串、日期)、格式化方法
5. 设计一XML解析类将4中描述的XML文档解析为Java对象
6. 设计一辅助类实现将5中解析出的对象转换为对应的SQL语句
7. 在数据库DAO 层通过继承Spring的JdbcDaoSupport对象设计一数据库DAO层,专门负责执行6中解析出的SQL语句,并通过Spring 中的Transactional提供的注释行配置事务将所有SQL执行纳入到一个事务范围,确保数据保存的事务性,同时利用Log4j提供SQL的运行日志
8. 6所描述的辅助类实现接口编程,再通过Spring 接管Action 方式将正确类型的辅助类注入到Action中,实现数据库切换的可能性
9. 7中的DAO层通过Spring的注入机制运行时注入至Action 中,实现数据的自动保存,并提供切换DAO层的可能性
10. 通过XML文档的配置提供数据保存成功后的跳转

问题:请简述上述思路的可行性,如可行则说出该思路的优缺点,如不可行则给出你的意见或者新的思路.
...全文
160 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Qin_Tianxiang 2010-09-16
  • 打赏
  • 举报
回复
没看明白
wcl_friend 2010-09-16
  • 打赏
  • 举报
回复
1、Struts的ActionForm是不是只能收集一个Bean的数据信息呢,可以考虑用HashMap。
2、Struts的ActionForm 的 validate 这个可以用,但是对那些不需要进行校验的方法需要在XML中进行配置,如果这个Action处理的业务逻辑比较多,可以把校验提取出来,写一个新的Action进行校验。

仅供参考。

安心逍遥 2010-09-16
  • 打赏
  • 举报
回复
帮顶,ssh正在学习中....
thegodofwar 2010-09-15
  • 打赏
  • 举报
回复
题目好长...
jinchun1234 2010-09-15
  • 打赏
  • 举报
回复
这贴干嘛的啊!
a5867320 2010-09-15
  • 打赏
  • 举报
回复
看帖留名,有空再来

81,115

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧