在 JSP 页中,通过使用 jsp:useBean 操作创建 DBSelect、DBProcedureCall 或 DBModify Bean 并接着使用 scriptlet 对这些 Bean 执行方法,可以获得通过这些 JSP 操作能够获得的所有功能。提供 JSP SQL 操作的目的是为了在您不需要 DB Bean 的全部灵活性时为您提供方便。使用 JSP SQL 操作时与直接使用 Bean 时的局限性包括:
通过直接使用 DB Bean,可以对何时打开和关闭数据库连接进行完全控制。借助打开或关闭 AutoCommit 以及执行显式落实或回滚的功能,您还对事务作用域具有完全控制权。
在使用 JSP SQL 操作时限制对连接的控制权的原因是为了确保不会由于疏忽而使事务和连接保持打开状态,导致长期占用数据库资源。
通过使用标准的 JSP 操作 <jsp:getProperty> 和 <jsp:setProperty>,可以获取并设置 DBSelect、DBModify 和 DBProcedureCall bean 的任何属性,但并不保证任何属性都有用。例如,可以设置 DBSelect Bean 的 lockRows 属性,但由于上述原因,它不能完成任何操作。
也可以在使用 JSP SQL 标记库中的操作的同时直接使用 DB Bean。如果使用 x:select 操作来创建 DBSelect Bean,则可以在 scriptlet 中执行它的方法。