1.修改conf\server.xml中的
        <!-- Tomcat Root Context -->
        <!--
          <Context path="" docBase="ROOT" debug="0"/>
        -->
  把注释去掉,把docbase改为发布目录
2.如果没有使用servlet,filter,taglib等东西的话,web.xml可以为空
3.在/WEB-INF/classes下放入。class文件,/WEB-INF/classes目录需要在classpath中声明
4.myBeans.java编译好了应该放在/WEB-INF/classes目录下

解决方案 »

  1.   

    按您说的做了  真的很有效 谢谢  但是我调试第一个bean的时候出现了麻烦 程序如下:MyBeans的程序:public class MyBeans
    {
    String str = "hello world";
    public String getStr()
    {
    return str;
    }
    public void setStr(String str)
    {
    this.str = str;
    }
    }
    testbeans.jsp:
    <html>
    <body>
    <jsp:useBean id="bean" scope="application" class="MyBeans"/>
    <%
    String strOut = bean.getStr();
    %>
    methord 1:<p>
    output1: <%=strOut%><br>
    output2: <%=bean.getStr()%>
    <p>
    <%bean.setStr("hello");
    %>
    <b> methord2: </b><p>
    output:<jsp:getProperty name="bean" property="str"/></body>
    </html>我按照您的意思部署了相关文件 但我在地址栏敲入:
    http://localhost:8080/myjsp/testBeans.jsp时出现如下错误提示:
    java.lang.ClassNotFoundException: MyBeans
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1443)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1289)
    at org.apache.jasper.compiler.BeanRepository.getBeanType(BeanRepository.java:181)
    at org.apache.jasper.compiler.Generator$GenerateVisitor.visit(Generator.java:692)
    at org.apache.jasper.compiler.Node$GetProperty.accept(Node.java:552)
    at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:1028)
    at org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:1070)
    at org.apache.jasper.compiler.Node$Visitor.visit(Node.java:1076)
    at org.apache.jasper.compiler.Node$Root.accept(Node.java:232)
    at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:1028)
    at org.apache.jasper.compiler.Generator.generate(Generator.java:1917)
    at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:242)
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:369)
    at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:473)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:190)
    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:256)
    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:171)
    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:594)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:392)
    at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:565)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:619)
    at java.lang.Thread.run(Thread.java:536)help!
      

  2.   

    不好意思 还掉了一段错误提示信息:
    org.apache.jasper.JasperException: MyBeans
    at org.apache.jasper.compiler.BeanRepository.getBeanType(BeanRepository.java:183)
    at org.apache.jasper.compiler.Generator$GenerateVisitor.visit(Generator.java:692)
    at org.apache.jasper.compiler.Node$GetProperty.accept(Node.java:552)
    at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:1028)
    at org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:1070)
    at org.apache.jasper.compiler.Node$Visitor.visit(Node.java:1076)
    at org.apache.jasper.compiler.Node$Root.accept(Node.java:232)
    at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:1028)
    at org.apache.jasper.compiler.Generator.generate(Generator.java:1917)
    at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:242)
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:369)
    at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:473)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:190)
    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:256)
    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:171)
    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:594)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:392)
    at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:565)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:619)
    at java.lang.Thread.run(Thread.java:536)
      

  3.   

    MyBeans.java编译成MyBeans.class后放在web-inf/classes下应该没问题
      

  4.   

    我把web-inf  写成了web_info  我现在改正了 :)但是问题仍在继续 :(我的myBeans.java和testBean.jsp都没有变  部署按照您的意思 但是我敲入
    http://localhost:8080/myjsp/testBean.jsp是提示信息如下:org.apache.jasper.JasperException: Unable to compile class for JSPAn error occurred at line: -1 in the jsp file: nullGenerated servlet error:
        [javac] Since fork is true, ignoring compiler setting.
        [javac] Compiling 1 source file
        [javac] Since fork is true, ignoring compiler setting.
        [javac] D:\Tomcat 4.1\work\Standalone\localhost\myjsp\testBean_jsp.java:43: cannot resolve symbol
        [javac] symbol  : class MyBeans 
        [javac] location: class org.apache.jsp.testBean_jsp
        [javac]       MyBeans bean = null;
        [javac]       ^
        [javac] D:\Tomcat 4.1\work\Standalone\localhost\myjsp\testBean_jsp.java:45: cannot resolve symbol
        [javac] symbol  : class MyBeans 
        [javac] location: class org.apache.jsp.testBean_jsp
        [javac]         bean = (MyBeans) pageContext.getAttribute("bean", PageContext.APPLICATION_SCOPE);
        [javac]                 ^
        [javac] D:\Tomcat 4.1\work\Standalone\localhost\myjsp\testBean_jsp.java:48: cannot resolve symbol
        [javac] symbol  : class MyBeans 
        [javac] location: class org.apache.jsp.testBean_jsp
        [javac]             bean = (MyBeans) java.beans.Beans.instantiate(this.getClass().getClassLoader(), "MyBeans");
        [javac]                     ^
        [javac] D:\Tomcat 4.1\work\Standalone\localhost\myjsp\testBean_jsp.java:74: cannot resolve symbol
        [javac] symbol  : class MyBeans 
        [javac] location: class org.apache.jsp.testBean_jsp
        [javac]       out.print(JspRuntimeLibrary.toString((((MyBeans)pageContext.findAttribute("bean")).getStr())));
        [javac]                                               ^
        [javac] 4 errors at org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:130)
    at org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:293)
    at org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:353)
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:370)
    at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:473)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:190)
    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:256)
    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:171)
    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:594)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:392)
    at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:565)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:619)
    at java.lang.Thread.run(Thread.java:536)--------------------------------------------------------------------------------Apache Tomcat/4.1.24help!
      

  5.   

    package bean; //这里加一个包
    public class MyBeans
    {
    String str = "hello world";
    public String getStr()
    {
    return str;
    }
    public void setStr(String str)
    {
    this.str = str;
    }
    }
      

  6.   

    <jsp:useBean id="bean" scope="application" class="MyBeans"/>
    这句改成
    <jsp:useBean id="bean" scope="application" class="bean.MyBeans"/>
      

  7.   

    编译MyBeans.java时使用:javac -d . MyBeans.java
      

  8.   

    谢谢 了   问题真的解决了 但我不明白为什么非要把myBean.class放在web-inf的
    一个包里面呢  放在web-inf下面不行吗 ???如果您能解答我这个问题就再好不过了
      

  9.   

    使用BEAN,是从一个包里引用一个类,不能单独调用一个类。
      

  10.   

    哥们看了你你帖看得出你和我一样白痴,我现在在看乐思的JSP编程指南,也是满头雾水,给你我的QQ希望你能瞧得起一齐探讨114593629 你只要说明是csdn 朋友,一、我一定加你
      

  11.   

    看看tomcat的文档吧,一切都会明白的
      

  12.   

    楼上兄弟
    哪里有tomcat的文档?