我也不是太懂,个人意见。
第一个程序可能是因为没有初始化的原因,你的这句aa.TestBean("This is a test java bean.");像是没有什么意义,把它改成aa.setName("This is a test java bean.");试试。我没有测试过,不知道对不对。
至于第一个程序与第二个程序有何区别,期待高手指教。

解决方案 »

  1.   

    第一部分也需要<%@ page import="test.TestBean" %> 
    不import是不能用这个TestBean的对象的
      

  2.   

    晕,构造方法怎么能这样调用,这样改
    <jsp:useBean id="aa" scope="page" class="test.TestBean" /> 
    <html><body>
    <%
    aa.setName("This is a test java bean.");
    %>
    Java bean name is: <%=aa.getName()%>
    </body></html>
      

  3.   

    第一种实现查找test.TestBean的实例,如果从在就使用这个事例,如果不存在,就生成一个实例。第二种方法,使你自己生成的实例。一般来说,都是用第一种,因为第二中总是一个新的对象
      

  4.   

    楼上的,不行呀,还是出错的。
    org.apache.jasper.JasperException: class test.TestBean : java.lang.InstantiationException: test.TestBean
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:254)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
      

  5.   

    TestBean()方法是类public class TestBean的构造方法了,
    你改为:package test;
    public class TestBean{
    public TestBean(){

    public void setName(String name){
    this.name=name;}
    public String getName(){
    return this.name;

    }
    试试,
    <jsp:useBean id="aa" scope="page" class="test.TestBean" /> 
    <html><body>
    <%
    aa.setName("This is a test java bean.");
    %>
    Java bean name is: <%=aa.getName()%>
    </body></html>
    我没调试过,不知道是否可以~~
      

  6.   

    ps:
    <jsp:useBean id="aa" scope="page" class="test.TestBean" /> 是标签,而<%@ page import="test.TestBean" %> 是代码,我个人认为用标签比较好,
      

  7.   

    用<jsp:useBean id="aa" scope="page" class="test.TestBean" />,
    不要用aa.TestBean("This is a test java bean.");,改成
    aa.setName("This is a test java bean.");
      

  8.   

    有TestBean这个方法吗..??不要给我说这是个构造函数...当你调用<jsp:useBean id="aa" scope="page" class="test.TestBean" />时
    TestBean类已经构造了.用标签的比用代码的快....而且提高程序可读性..
      

  9.   

    我在classpath下加上%tomcat%\webapps\myapp\WEB-INF\classes,他就可以了(已经把aa.TestBean("This is a test java bean.");改成aa.setName("This is a test java bean."); bean也改成static TestBean(){}了),为什么呢?
      

  10.   

    改了之后:
    <%@ page contentType="text/html;charset=gb2312"%>
    <html><body>
    <jsp:useBean id="aa" scope="page" class="test.TestBean"/> 
    <%
    aa.setName("This is a test java bean.");
    %>
    Java bean name is:<h3><%=aa.getName()%></h3>
    </body></html>bean:::
    package test;
    public class TestBean{
    private String name = null;
    public TestBean(){

    public void setName(String strName_p){
    this.name=strName_p;
    }
    public String getName(){
    return this.name;

    }
    路径是classes\test\下在classpath下加上%tomcat%\webapps\myapp\WEB-INF\classes,他就可以了(已经把aa.TestBean("This is a test java bean.");改成aa.setName("This is a test java bean."); bean也改成static TestBean(){}了)
      

  11.   

    getName不行吗???出现什么错误啊???还有想说的:不用这样做::在classpath下加上%tomcat%\webapps\myapp\WEB-INF\classes