register.html
---------------
<html> 
<body> 
用户信息注册:<br><hr> 
<form method="post" action="register.jsp"> 
<table> 
<tr><td>姓名:<input name="userName" type="text"></td></tr> 
<tr><td>密码:<input name="password" type="password"></td></tr> 
<tr><td>年龄:<input name="age" type="text"></td></tr> 
<tr><td><input type=submit value="submit"></td></tr> 
</table> 
</form> 
</body> 
</html>
register.jsp
---------------
<%@   page   contentType="text/html;charset=gb2312"%>   
<JSP:useBean   id="user"   scope="page"   class="com.jspdev.ch3.TestBean"/>
<jsp:setProperty   name="user"   property="*"/>
<html>   
<body>   
注册成功:<br>
<hr>
使用bean属性方法:<br>
<hr>
使用getProperty:<br>
用户名:<%=user.getUserName()   %><br>
密码:<%=user.getPassword()   %><br>
年龄:<%=user.getAge()%><br>
用户名:<jsp:getProperty   name="user"   property="userName"/><br>
密码:<jsp:getProperty   name="user"   property="password"/><br>
年龄:<jsp:getProperty   name="user"   property="age"/><br>
</body>   
</html>   
===================================================
TestBean.java
-----------------------------------
package   com.jspdev.ch3;public   class   TestBean
{
public   String   userName;
public   String   password;
public   int   age;   public   void   setUserName(String   name)
{
this.userName=name;
}
public   void   setPassword(String   password){
this.password=password;
}
public   String     getUserName()
{
return   this.userName;
}
public   String   getPassword()
{
return   password;
}
public   int   getAge()
{
return   this.age;
}
public   void   setAge(int   age)
{
this.age=age;
}
}
==========================================
我现在用的环境是TOMCAT4.1   +JDK1.4.2我的工作目录是:
class放到了:webapps\work\WEB-INF\classes\com\jspdev\ch3\TestBean.class下面是运行时的错误:HTTP   Status   500   -   --------------------------------------------------------------------------------
type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: com.jspdev.ch3.TestBean
at org.apache.jasper.compiler.BeanRepository.getBeanType(BeanRepository.java:135)
at org.apache.jasper.compiler.Generator$GenerateVisitor.visit(Generator.java:650)
at org.apache.jasper.compiler.Node$GetProperty.accept(Node.java:507)
at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:983)
at org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:1025)
at org.apache.jasper.compiler.Node$Visitor.visit(Node.java:1031)
at org.apache.jasper.compiler.Node$Root.accept(Node.java:187)
at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:983)
at org.apache.jasper.compiler.Generator.generate(Generator.java:1891)
at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:198)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:327)root cause java.lang.ClassNotFoundException: com.jspdev.ch3.TestBean
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1407)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1252)
at org.apache.jasper.compiler.BeanRepository.getBeanType(BeanRepository.java:133)
at org.apache.jasper.compiler.Generator$GenerateVisitor.visit(Generator.java:650)
at org.apache.jasper.compiler.Node$GetProperty.accept(Node.java:507)
at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:983)
at org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:1025)
at org.apache.jasper.compiler.Node$Visitor.visit(Node.java:1031)
at org.apache.jasper.compiler.Node$Root.accept(Node.java:187)
at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:983)
at org.apache.jasper.compiler.Generator.generate(Generator.java:1891)
at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:198)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:327)
我在work\Standalone\localhost\_\register_.java发现:register_.java居然为0k;而且没有生成
register_.class文件
我不知道是什么原因。
我用一般的jsp文件能通过,并显示结果。
我在想一定是jvm不能编译到usebean的中的.class文件。
可是我就是不知道怎么改。......因为我是初学者。

解决方案 »

  1.   

    你要先执行Bean吧,先要打包Bean,
    你在目录下执行Bean:javac TestBean.java -d .
    注意格式,这是打包,再把打包文件放到\WEB-INF\classes文件下面去,在\WEB-INF\下你还要配置一个xml文件.
    到网上找一些别的资料看一下,不是你说把这个放进去就行,Tomcat还要一些别的配置,
    你放在\jsp-examples\下是另一回事,不用加XML文件.
      

  2.   

    <JSP:useBean真是这样的吗?要小写的。
      

  3.   

    不是<JSP:useBean这个原因.我用<jsp:usebean还是一样的饿。
    也就是不能编译通过。不知道是什么原因.
    还请高手吗帮忙.
      

  4.   

    root cause java.lang.ClassNotFoundException: com.jspdev.ch3.TestBean明显是没找到类,估计是没部署好吧
      

  5.   

    应该还是服务端配置的问题!仔细检查一下web-info的配置!
      

  6.   

    <%@ page import="java.sql.*,com.jspdev.ch3.*,java.util.*,java.sql.*" errorPage=""%>
    这样试试看
      

  7.   

    那么web-info怎么配置呢,在那里去配置呢.我是初学者.还不是很明白
      

  8.   

    你的JavaBean写的有问题,JavaBean的书写是有严格规定的,它应该有一个无参的构造函数.
    在你的JavaBean里加上这句:
    public TestBean()
    {
       
    }
    应该就可以了.
      

  9.   

    xingfo(一江涛水) ( ) 信誉:100  2006-3-1 22:37:52  得分: 0  
     
     
       
    你要先执行Bean吧,先要打包Bean,
    你在目录下执行Bean:javac TestBean.java -d .
    注意格式,这是打包,再把打包文件放到\WEB-INF\classes文件下面去,在\WEB-INF\下你还要配置一个xml文件.
    到网上找一些别的资料看一下,不是你说把这个放进去就行,Tomcat还要一些别的配置,
    你放在\jsp-examples\下是另一回事,不用加XML文件.  
     
      

  10.   

    再把打包文件放到\WEB-INF\classes文件下面去,在\WEB-INF\下你还要配置一个xml文件.但是这个xml文件怎么去配置呢???
      

  11.   

    有可能你改了jsp文件后没有deploy, redeploy一下,jsp文件得生新deploy文件后才生成正确的servlet
      

  12.   

    deploy, redeploy一下,具体怎么弄呢
      

  13.   

    先写个方法测试BEAN是否正确再看看部署是否OK再测试JSP页面
      

  14.   

    bean打包成功了吗?就是编译。然后再去运行JSP。如果是书附带的盘里的源代码没有可能会出错误。我以前弄的时候就好使。一步一步做。别急```
      

  15.   

    呵呵。晕死。我用的是WebLogic。帮不了,也顶一个。
      

  16.   

    ---------------------------------
    你的JavaBean写的有问题,JavaBean的书写是有严格规定的,它应该有一个无参的构造函数.
    在你的JavaBean里加上这句:
    public TestBean()
    {
       
    }
    应该就可以了.
    ----------------------------------
    你自己原创的吧?JavaBean里没如果没有写构造方法的话编译的时候会给自动加上一个空的构造方法,也就是说你上面那个东东写跟不写是一样的。
      

  17.   

    我说楼主,你不要光找书上的,这个代码是<jsp详解……第二版>是吧?我原先也看过这本书,都说了你要先保证你的BEAN能够运行成功,你再把你打的包放到你需要的文件夹下面去。
    都说了你的类找不到,就说明你的BEAN没有运行成功,虽说你的代码跟书上的一样,但书上没说运行啊。
      

  18.   

    我的代码是从<jsp详解……第二版>上面弄来的啊。可是我也把java编译成.class文件了啊.
    也放好了位置了啊.即放在:
    class放到了:webapps\work\WEB-INF\classes\com\jspdev\ch3\TestBean.class
    应该是没有错的吧.可是就不是知道错在那里......
      

  19.   

    BEAN能够运行成功,怎么弄呢.具体一点啊.我是个初学者,真的不知道怎么弄.
      

  20.   

    我在目录下执行Bean:javac TestBean.java -d .执行过拉.还是老样子
      

  21.   

    搂主。我怀疑你没有把class文件保留在你的JSP文件的classes的目录下。。代码没问题。不用看代码了。把路径调整好就是了。
      

  22.   

    我也常有这个问题,很有可能是你的配置问题,
    把work\Standalone\localhost下的转化的java代码册除掉,再重启服务器,试一下,前题是要
    配置好你的web.xml,
      

  23.   

    把class文件保留在你的JSP文件的classes的目录下是没有问题的
    我想应该是 web.xml文件把.
    但是我也不知道怎么去弄的啊.
    不知道能否告诉一下我呢.怎么配置.
      

  24.   

    我还是不知道web.xml到底要怎么样去配置呢
      

  25.   

    我看了很多的例子都不用配置什么web.xml文件就可以直接的使用了.