无论如何,Bean的class文件放到Mytest/WEB-INF/classes目录下。
你的mybean.java没有package就这么放
Mytest/WEB-INF/classes/mybean.class
jsp的文件只要放到Mytest下面就可以了,然后把怎么Mytest目录放到Tomcat等的webapps目录下
<jsp:useBean id="atest" scope="session" class="mybean"/>
能运行后你要仔细看看书,理解一下WEB-INF的作用

解决方案 »

  1.   

    你的mybean.java没有package就这么放
    Mytest/WEB-INF/classes/mybean.class
    jsp的文件只要放到Mytest下面就可以了,然后把怎么Mytest目录放到Tomcat等的webapps目录下
    我现在就是这样放的,不过仍然存在一定的问题,我再看看,试验试验,如果再不行我只能把出错的提示贴上来大家帮助我看看咯
      

  2.   

    javaBean的放置问题不是很难
    你要把他放在你可以运行jsp的目录下的/WEB-INF/classes
    这样就可以了,如果还发生不可调用问题,那你就要查一下你的jsp看看是不是有问题
      

  3.   

    不知道你用的什么容器
    classpath可能有点关系,把Mytest/WEB-INF/classes加进去
      

  4.   

    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: /test.jspGenerated servlet error:
        [javac] Compiling 1 source fileC:\WEB\Tomcat4\work\Standalone\localhost\mytest\test_jsp.java:51: cannot resolve symbol
    symbol  : class mybean 
    location: class org.apache.jsp.test_jsp
          mybean atest = null;
          ^An error occurred at line: 6 in the jsp file: /test.jspGenerated servlet error:
    C:\WEB\Tomcat4\work\Standalone\localhost\mytest\test_jsp.java:53: cannot resolve symbol
    symbol  : class mybean 
    location: class org.apache.jsp.test_jsp
            atest = (mybean) pageContext.getAttribute("atest", PageContext.SESSION_SCOPE);
                     ^An error occurred at line: 6 in the jsp file: /test.jspGenerated servlet error:
    C:\WEB\Tomcat4\work\Standalone\localhost\mytest\test_jsp.java:56: cannot resolve symbol
    symbol  : class mybean 
    location: class org.apache.jsp.test_jsp
                atest = (mybean) java.beans.Beans.instantiate(this.getClass().getClassLoader(), "mybean");
                         ^
    3 errors//////这是第一种情况下的错误!
      

  5.   

    type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception javax.servlet.ServletException: org/apache/jsp/mybean
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:249)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:260)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
    at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2415)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
    at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
    at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:432)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:386)
    at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:534)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:530)
    at java.lang.Thread.run(Thread.java:536)
    root cause java.lang.NoClassDefFoundError: org/apache/jsp/mybean
    at java.lang.Class.getDeclaredConstructors0(Native Method)
    at java.lang.Class.privateGetDeclaredConstructors(Class.java:1590)
    at java.lang.Class.getConstructor0(Class.java:1762)
    at java.lang.Class.newInstance0(Class.java:276)
    at java.lang.Class.newInstance(Class.java:259)
    at org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:146)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:189)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:260)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
    at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2415)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
    at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
    at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:432)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:386)
    at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:534)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:530)
    at java.lang.Thread.run(Thread.java:536)////////这是第二个错误
      

  6.   

    你可以试试在在classes下面建一个package将你的mybean.class放在这个package里面,然后在能过jsp调用的个package里面的类试试着,其他的好像没什么错啊!
      

  7.   

    应该是没问题的
    要不你在classes下编译 mybean.java
      

  8.   

    要不大家给我分析分析源代码?
    /////////////////////////////////////////////////////mybean.java
    public class mybean
    {
    String firstProperty;
    public void mybean(){}
    public void setFirstProperty(String str)
    {
    firstProperty = str;
    }
    public String getFirstProperty()
    {
    return firstProperty;
    }
    }
    ////////////////////////////////////////////////////test.jsp
    <%@page contentType="text/html;charset=gb2312"%>
    <%@page pageEncoding="UTF-8"%>
    <html>
    <head><title>Use to test my beans</title></head>
    <body>
    <jsp:useBean id="atest" scope="page" class="mybean" />
    <jsp:setProperty name="atest" property="firstProperty" value="hello"/>
    <jsp:getProperty name="atest" property="firstProperty"/></body>
    </html>
    __-_-_-________________--------------------_______________----------
    是不是每次该了.java并重新编译过后需要重启tomcat?
      

  9.   

    package mybean;public class mybean
    {
    String firstProperty;
    public void mybean(){}
    public void setFirstProperty(String str)
    {
    firstProperty = str;
    }
    public String getFirstProperty()
    {
    return firstProperty;
    }
    }
    <%@page contentType="text/html;charset=gb2312"%>
    <%@page pageEncoding="UTF-8"%>
    <html>
    <head><title>Use to test my beans</title></head>
    <body>
    <jsp:useBean id="atest" scope="page" class="mybean.mybean" />
    <jsp:setProperty name="atest" property="firstProperty" value="hello"/>
    <jsp:getProperty name="atest" property="firstProperty"/></body>
    </html>在classes下编译mybean.java
    重启tomcat
    试试
      

  10.   

    你的源码中没有包名称。
    即使你编译后放在那个什么org.jsp什么包里面。
    也会出错的
    在源吗中用package 后。
    用javac -d . *.java来编译会自动产生包名。同时把文件放在包中。
      

  11.   

    问题解决,但。。
    ①源码没有包名无论如何都不行,不管放在什么地方。(但我在一些教程上也见到过没有包名成功的情况)
    ②不能放在classes\org\apache\jsp(这个由系统自动产生的目录)下,我自己建立了一个名称不一样但层数都一样的目录classes\com\mybeans\test,把.class放在里面,就没有问题了。