Servlet返回JSTL结果或对象列表?

时间:2013-12-17 21:08:04

标签: java mysql jsp servlets jstl

假设有Tomcat 7,MySql 5.5和JSP,以及手动编码的DAO ......

从“生产”应用程序的perspactive,以下查询体系结构之间是否存在重大偏好?

在任何一种情况下,servlet都会调用DAO来获取项目,然后将它们传递给JSP,以便在属性中显示。

1)DAO使用以下命令返回JSTL结果:result = ResultSupport.toResult(rs);

2)DAO返回一个包含完整数据对象的List。

对我而言,如果您要对它们进行实质性操作,对象似乎更好。即更新它们。但是对象列表对于仅显示数据表来说太多了。对于频繁使用的应用程序,似乎列表将消耗大量服务器资源而几乎没有实际好处。此外,似乎连接表以满足不同的显示要求需要大量的编码工作和维护。

似乎让DAO返回JSTL结果用于轻量级显示目的在服务器上会更容易,而且编码维护也更容易。

我知道在生产环境中使用JSP中的JSTL SQL标记是不受欢迎的 - 尽管我从未真正理解为什么......在Java servlet中使用JSTL结果会产生同样的负面看法吗?

我无法找到解释这两种方法之间首选架构的权威指南。鉴于JSTL结果的便利性,我很惊讶它很少提到?

有什么想法吗?

由于

1 个答案:

答案 0 :(得分:0)

DAO的主要思想是封装数据访问逻辑并将其与业务逻辑隔离开来。 Option 2就是这么做的。

Option 1使业务逻辑与数据模型紧密耦合,因为它需要知道记录集的确切结构。如果您决定重构数据库实现,则必须重新编写业务逻辑层的一部分。