JSP引擎即将遇到自定义标签时,首先创建标签处理器类的实例对象,然后,按照JSP规范定义的通信规则依次调用它的方法:
1、public void setPageContext(PageContext pageContext),jsp引擎实例化标签处理器后,将调用此方法把jsp的pageContext对象传递给标签处理器,标签处理器以后可以通过这个对象和jsp页面进行通信
2、public void setParent(Tag tag),setPageContext方法执行之后,web容器调用setParent方法将当前的父标签传递给当前的标签处理器类,如果当前标签没有父标签,则传递给setParent方法的参数值为null
3、public int doStartTag(),调用了setParent方法和setPageContext方法之后,web容器执行到自定义标签的开始标记,就会调用标签处理器的doStartTag方法
4、public int doEndTag(),web容器执行文自定义标签的标签体后,就会接着去执行自定义标签的结束标记,此时,web容器会去调用标签处理器的doEndTag方法
5、public void release(),通常web容器执行完自定义标签后,标签处理器会驻留在内存中,为其他请求服务,直至停止web应用时,web容器才会调用release方法