a Java class that is somewhat similar to a servlet
a Java program that extends the class TagSupport
an instance of a Java class that implements either the Tag or BodyTag interface (depending on whether the tag uses a body between a start tag and an end tag) in the standard javax
an instance of a Java class that implements one of two standard Java interfaces, depending on whether the tag processes a body of statements (between a start tag and an end tag)