我有一个数据库操作类。databaseconn 这个类中放置了与数据库操作的代码,我在页面调用的时候我要
用到     DatabaseConn db=new DatabaseConn();
我在jsp页面用到javabean  <jsp:usebean  id="db" class=="com.lotus.databaseconn">
这和new一个对象有什么区别呢?这两种方法哪一种好一些,就占用的资源来说,是否上面的占用的资源大一些。

解决方案 »

  1.   

    JSP一般用于页面最终数据的呈现,就是所谓的表示,一些数据库方面的具体操作最好需要封装,分层,一般有会写DAO的,专门的数据库层。我觉得你写的东西应该不是很大吧,那么具体资源方面也不需要考虑太多。
      

  2.   

      做这种东西不需要非常谨慎,一般初级编程的时候例如用servlet,javabean,可以考虑jsp页面页面中写入执行的逻辑代码。但是编程是要讲究层级关系的,这样能更好的降低表现层,逻辑层,数据层的耦合性增强内聚性,并且需要封装的功用代码都要封装,这样的有点就是增强jsp的性能,提高安全性,更重要的就是便于管理,如果啥都一股脑的写到页面里,就显得乱,后期维护会造成很大的困难。
      所以你提到的这种问题,我认为你只是暂时性的编程习惯,熟练了你就不会这样写了,不知道自己说得其当不恰当总之只是个人观点。望见谅
      

  3.   

    恩,jsp中不宜夹杂业务逻辑,顶多有简单的for循环或输出控制。
    以前上课时老师给我们看过一个老早的项目的jsp,足足有千把行,又是html,又是java代码。这样真的不好维护。
      

  4.   

    jsp中不宜夹杂业务逻辑,顶多有简单的for循环或输出控制。 
    以前上课时老师给我们看过一个老早的项目的jsp,足足有千把行,又是html,又是java代码。这样真的不好维护。
      

  5.   

    上面诸位兄台讲的是更高层次,但从你讲的“占用的资源来说”,我认为两个是一样,当然如果你在<jsp:usebean 里设置scope的属性就另当别论了。我刚开始做jsp就是这样些,后面就不要这样了,注意分层
      

  6.   

    DatabaseConn db=new DatabaseConn(); 
    是使用new操作符来产生一个对象。
    <jsp:usebean  id="db" class=="com.lotus.databaseconn"> 
    通过反射来产生一个对象,前提条件是com.lotus.databaseconn必须有无参数构造器
    就所谓的资源来说,没有任何区别。