我用jsp加javaBean的模式调试一个web程序。但是老是出错,请各位大侠帮忙!谢谢!
具体情况:
jsp页面代码:<html>
<head>
<title>一个简单的使用JavaBean的例子</title>
</head>
<%@page contentType="text/html; charset=gb2312"%>
<jsp:useBean id="mybean" class="test.MyBean" />
<body>
<h2>这是一个使用JavaBean的简单例子。</h2>
<%!
   String str1="这里调用了JavaBean中的方法。";
   String str2="不是吗?";
%>   
<%
   mybean.setValue(str1);
   str2=mybean.getValue()+str2;
%>
<h3>
  <%=str2%>
</h3>  
</body>
</html>
javaBean代码:package test;public class MyBean{
private String str;
private int num;
//初始化
public MyBean(){
str="This is the initial value.";
num=0;
}
//设置str
public void setvalue(String avalue){
str=avalue;
}
//得到str
public String getvalue() {
return str;
}
//设置number
public void setnumber(int Number)
{
        num=Number;
}
//得到number
public int getnumber()
{
return num;
}
}错误提示:type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: Unable to compile class for JSPAn error occurred at line: 6 in the jsp file: /05/05_01.jspGenerated servlet error:
    [javac] Compiling 1 source fileC:\Program Files\Apache Software Foundation\Tomcat 5.0\work\Catalina\localhost\_\org\apache\jsp\_05\_05_005f01_jsp.java:45: package test does not exist
      test.MyBean mybean = null;
          ^
An error occurred at line: 6 in the jsp file: /05/05_01.jspGenerated servlet error:
C:\Program Files\Apache Software Foundation\Tomcat 5.0\work\Catalina\localhost\_\org\apache\jsp\_05\_05_005f01_jsp.java:47: package test does not exist
        mybean = (test.MyBean) pageContext.getAttribute("mybean", PageContext.PAGE_SCOPE);
                      ^
An error occurred at line: 6 in the jsp file: /05/05_01.jspGenerated servlet error:
C:\Program Files\Apache Software Foundation\Tomcat 5.0\work\Catalina\localhost\_\org\apache\jsp\_05\_05_005f01_jsp.java:49: package test does not exist
          mybean = new test.MyBean();
                           ^
3 errors
org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:127)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:351)
org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:415)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:458)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:439)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:552)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:291)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
note The full stack trace of the root cause is available in the Tomcat logs.谢谢各位大大,偶已经自己憋了三天了。5555555555555555

解决方案 »

  1.   

    很基础的问题.
    setvalue和setValue()
      

  2.   

    首先你的代码是有问题的,getter和setter方法没有写正确。另外你上面的问题应该是没有找到包。你看看是不是你的class放置的地方不对,或者是目录结构不对。
      

  3.   

    呵呵!憋了三天了
    小心身体啊!
    注意下javaBean命名规范,
    另外检查你的包的地方是不是放对了.
      

  4.   

    一定要注意声明javabean时候的命名和路径
      

  5.   

    其实就是你的那个bean的路径没有找到
      

  6.   

    很伤俺的自尊啊!
    路径问题我也想到了,错误中提示的那个路径下明明有编译后的class文件啊,test包也存在。我想不是setvalue  getvalue的问题。
    还有,偶会注意代码规范问题。继续等待高手出现中 
      

  7.   

    仁兄, 根据你贴出来的出错信息来看, 如果你的test包存在于当前项目中WEB-INF/classes目录下,而且编译后的class文件也在test目录下,
    那么你按如下方式试试看, 
    首先,将<%@page contentType="text/html; charset=gb2312"%>放在jsp文件的第一行,并改为
    <%@ page contentType="text/html; charset=gb2312" language="java" %>
    其次,暂时注释<jsp:useBean id="mybean" class="test.MyBean" />,然后通过添加
    <%@ page import="test.MyBean" %>
    并在<%和%>之间将实例化的过程进行人为干预,看看效果如何?如果还不行, 那就只有沉下心来有针对性的尝试!