TagLibraries are APIs
I'd argue that a tag library is a collection of tags, defined by a single Tag Library Descriptor (TLD), and usually associated with one or more URIs which identify the library to JSP pages/documents. The
Tag Extension API provides the interfaces and classes required to implement Tags (by creating Tag Handler classes), which must then be deployed
into a Tag Library. Tag Files are written in JSP syntax (along with the special <%@ tag %> directive) and may either be deployed into Tag Libraries or stand-alone in an application.
To implement Simple Tag, you must extend SimpleTagSupport class.
You
must implement the SimpleTag interface. You
may extend the SimpleTagSupport class (which implements SimpleTag) if that's more convenient - but it's not a requirement.
Charles Lyons (SCJP 1.4, April 2003; SCJP 5, Dec 2006; SCWCD 1.4b, April 2004)
Author of OCEJWCD Study Companion for Oracle Exam 1Z0-899 (ISBN 0955160340 / Amazon Amazon UK )