Imagine you’re in a page that invokes the tag, and the tag depends on specific request attributes (that it gets from the JspContext available to the tag handler).
Now imagine the tag can’t find the attributes it needs, and that the tag knows the rest of the page will never work if the tag can’t succeed. What do you do? You could have the tag throw a JspException, and that would kill the page... but what if it’s only the rest of the page that won’t work? In other words, what if you still want the first part of the page—the part of the page that’s evaluated before the tag invocation—to still appear as the response, but you don’t want the response to include anything still left to be processed after the tag throws an exception?
No problem. That’s exactly why SkipPageException exists.
The tag handler doTag() method
The JSP that invokes the tag