Problema com Custom Tags

Oi Galera,

Este é o meu primeiro post no fórum. Estou aprendendo a usar custom tags do JSP e meu objetivo é formar uma base para aprender Struts e JSF. Já passei por Servlets e JSP.

Já vasculhei uma boa parte da net (incluindo o próprio GUJ) atrás dessa solução.

Esta é a estrutura da minha aplicação:

  app
    |
    +-- teste3.jsp
    |
    +-- WEB-INF
          |
          +-- web.xml
          |
          +-- classes
          |     |
          |     +-- minhastags
          |           |
          |           +-- MeuTagHandler.class
          +-- tlds
                |
                +-- teste.tld

O arquivo teste3.jsp:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<HTML>

  <HEAD>
    <%@ taglib uri="/WEB-INF/tlds/teste.tld" prefix="msajsp" %>
    <TITLE><msajsp:example /></TITLE>
    <!-- <LINK REL=STYLESHEET
          HREF="JSP-Styles.css"
          TYPE="text/css"> -->
  </HEAD>

  <BODY>

    <H1><msajsp:example /></H1>

    <msajsp:example />

  </BODY>

</HTML>

O arquivo web.xml:

<?xml version="1.0" encoding="ISO-8859-1" ?>

<web-app>

  <servlet>
    <servlet-name>Principal</servlet-name>
    <jsp-file>/teste3.jsp</jsp-file>
  </servlet>


  <servlet-mapping>
    <servlet-name>Principal</servlet-name>
    <url-pattern>/*</url-pattern>
  </servlet-mapping>

</web-app>

O arquivo MeuTagHandler.java:

package minhastags;

import javax.servlet.jsp.*;
import javax.servlet.jsp.tagext.*;
import java.io.*;

public class MeuTagHandler extends TagSupport {

  public int doStartTag() {

    try {
      JspWriter out = pageContext.getOut();
      out.print("Ol&aacute;, Mundo, Custom tags!");
    } catch(IOException ioe) {
      System.out.println("Error in ExampleTag: " + ioe);
    }

    return(SKIP_BODY);

  }

}

O arquivo teste.tld:

<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE taglib
        PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN"
        "http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">

<taglib>

  <tlib-version>1.0</tlib-version>
  <jsp-version>1.1</jsp-version>
  <short-name>msajsp</short-name>
  <info>
    A tag library from More Servlets and JavaServer Pages, http://www.moreservlets.com/.
  </info>

  <tag>
    <name>example</name>
    <tag-class>MeuTagHandler</tag-class>
    <body-content>empty</body-content>
    <info>Simplest example: inserts one line of output</info>
  </tag>

</taglib>

E o erro que dá quando acesso a URL http://localhost:8080/app/teste3.jsp:

exception

org.apache.jasper.JasperException: /teste3.jsp(8,11) Unable to load tag handler class “MeuTagHandler” for tag “msajsp:example”
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40)
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:198)
org.apache.jasper.compiler.Parser.parseCustomTag(Parser.java:1242)
org.apache.jasper.compiler.Parser.parseElements(Parser.java:1467)
org.apache.jasper.compiler.Parser.parse(Parser.java:138)
org.apache.jasper.compiler.ParserController.doParse(ParserController.java:216)
org.apache.jasper.compiler.ParserController.parse(ParserController.java:103)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:154)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:315)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:295)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:282)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:586)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

[color=red][size=18]A quem puder me ajudar, agradeço muito![/size][/color]