如果要使用useBean,web.dbconn.DBConnect为你自己写的类,编译后的class文件DBConnect.class应该放在WEB-INF\classes\web\dbconn目录下面<%@ page import = "web.managefunc.*"%>是引入你所需要的类,可以是系统类,也可以是你自己写的类,可以存放在WEB-INF\classes下面如果要useBean那你就一定要先import把你的Bean类引入,才能使用
相反,如果你import,则不一定使用Bean,它也可能是其他工具类

解决方案 »

  1.   

    import 只是帮你在这个页面中声明对一个类的引入,并没有使用这个类
    jsp:useBean是帮你产生一个类的实例:)
      

  2.   

    是的!用import是没有直接的产生实例!但是不是说不能生成!
    而jsp:useBean是直接生成的!
    那么效率也就不用说了吧!
      

  3.   

    一个是在ACTION里serAttribute的实例,也就是带有数据的实例,另一个是没有实例过的CLASS,两者概念完全不同的!
      

  4.   

    基本上没使用bean,用import然后再实例化就能满足了,不过,bean好像有一种内省的功能是特有的,我也不太清楚,期待高人的回答。
      

  5.   

    我也是一个初学者,就我得理解,在本质上他们没什么区别,都是Java类,但是JavaBean相当于实例化得类,效率高些,而通过import引入得类,每次在使用时必须实例化,就是要申明一个对象,这样通用性不高,效率低呵呵,仅仅是本人拙见,说错了不要骂我啊
      

  6.   

    bean本身也是类,也可以用导入的方式,
    只是 使用usebean 可以有会话啊,有范围,容器可以保持,自动初始化
      

  7.   

    这个无所谓常用不常用的问题,假设我现在要在JSP中引用java.util.Date这个类作为JAVABEAN
    可以这样写:
    <jsp:useBean id="date" scope="page" class="java.util.Date" />
    <jsp:getProperty name="date" property="time" /> 也可以这样写:
    <%@ page import = "java.util.Date"%>
    <%
    Date date=new Date();
    out.println(date.getTime());
    %>
    两种效果是一样的,
    第一种是以标签的形式,即JAVABEAN来实现的,这种方式要求JAVA类中有不带参数的构造函数,并且初始化时只能初始化不带参数的构造函数
    第二种是以传统的编码方式来实现的,可以初始化带参数的构造函数,并且不需要JAVA类中一定带有不带参数的构造函数第一种方式适合JAVABEAN,即那些只需要简单显示属性的值,或设置属性的情况
    第二种方式适合工具类的方式,例如需要对某些信息进行格式化输出等等所以这两种方式的调用要视不同的场合下调用当然,这些讨论都是基于你的项目是采用JSP+JAVABEAN的这种简单方式而定的,即model1的方式
    换一种编程体系,如struts,理想的状况下,这两种方式都不会用到的
      

  8.   

    一般来说,javabean中只需要包含get和set方法,并且javabean通常只是作为前后台交互数据的媒介,javabean中不应该包含业务逻辑但在一个项目中,可能或多或少的会在JSP页面中引用JAVA类(如利用工具类对数据进行格式化,尽管不规范,但有时也是很难避免的),这个时候你可能需要用到上述的第二种方式了,当然你如果一定要用JAVABEAN的方式
    例如:
    <jsp:useBean id="date" scope="page" class="java.util.Date" />
    <%=date.getTime()%>
    这样也没错,但这样做会不利于维护,最好的办法就是,尽量不要在页面上包含JAVA代码,把业务逻辑尽量往后台迁移,前台代码尽量的少