我自定义了一个类 如下:
package mypackage;
public class hello { 
String s;
public hello()
{this.s="hello";
}
public void setstring(String mystring)
{
this.s=mystring;
}
public String getstring()
{
  return (this.s);
}
}
现在 ,在jsp中我用<%@ page import="mypackage.hello"%>倒入该类,但在使用其成员函数时:
hello a=new hello();
String str=a.getstring();
out.println(str);
出现以下问题:
java.lang.NoSuchMethodError: mypackage.hello.getstring()Ljava/lang/String;
org.apache.jsp.hello_jsp._jspService(hello_jsp.java:69)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)向高手求救!

解决方案 »

  1.   

    你的代码是写在<%%>之间的吗?
    要不你用<jsp:useBean>来生成一个bean来测试一下,看能访问不,然后再看...........
      

  2.   

    大概是你的编辑后的.class文件位置放的不对吧,我把hello.class位置为:Tomcat 5.0\webapps\ROOT\WEB-INF\classes\mypackage\hello.class
    把jsp文件放在\Tomcat 5.0\webapps\ROOT文件夹下面就可以了。
      

  3.   

    测试的jsp文件如下:
    <%@ page import="mypackage.hello"%>
    <html>
    <body><%
    hello a=new hello(); 
    String str=a.getstring(); 
    out.println(str); 
    %>
    </body>
    </html>
      

  4.   

    <%hello a=new hello(); 
    String str=a.getstring(); 
    out.println(str); %>
      

  5.   


    设置让tomcat auto reload你的applicationbtw:java一般推荐类名大写,毋以恶小而为之,毋以善小而不为
      

  6.   

    <%
    Hello h=new Hello():
    String str=h.getstring();
    System.out.println(str);
    %>
      

  7.   

    原来我把package放在C:\Tomcat\webapps\mytest\WEB-INF\classes,我试了freesnail的建议,结果好使,我就查找原因,后来发现,使我的wen-inf出了点问题,我把root下的该文件复制过了,就能运行了。谢谢大家的参与,马上揭帖