title: javax.servlet.ServletException: Wrapper cannot find servlet class
body: <p>I have made a servlet from "Jasper Reports for Java Develper" (chapter 3) which will show Jasper Report on browser.</p>
  
  <p>The servlet look like below:</p>
  
  <pre><code>public class FirstReportSendToBrowserServlet extends HttpServlet {
  
      //just implement doGet in the block
      protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {               
          // ...            
      }
  }
  </code></pre>
  
  <p>Then I compiled the servlet and put it into Tomcat. When I fire up tomcat, it works well. But the servlet doesn't work, I get the following exception:</p>
  
  <pre><code>javax.servlet.ServletException: Wrapper cannot find servlet class FirstReportSendToBrowserServlet or a class it depends on
      org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
      org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
      org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
      org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
      org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
      org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
      org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
      java.lang.Thread.run(Thread.java:619) 
  </code></pre>
  
  <p>But the servlet class has already been deployed in Tomcat, can somebody give hints?</p>