**自定义标签的执行过程?**
http:
前提: tomcat服务器启动时,加载到每个web应用,加载每个web应用的WEB-INF目录下的所有文件!!!例如。web.xml, tld文件!!!
1)访问definedLables.jsp资源
2)tomcat服务器把jsp文件翻译成java源文件->编译class->构造类对象->调用_jspService()方法
3)检查jsp文件的taglib指令,是否存在一个名为www.mylables.showip的tld文件。如果没有,则报错
4)上一步已经读到iplable.tld文件
5)读到<show:showIp> 到iplable.tld文件中查询是否存在<name>为showip的<tag>标签
6)找到对应的<tag>标签,则读到<tag-class>内容
7)得到 defineLables.showIp,Class文件。
构造ShowIpTag对象,然后调用ShowIpTag里面的方法
实现SimpleTag接口才能成为自定义标签处理器类:
**自定义标签处理器类的生命周期**
void setJspContext(JspContext pc)
--设置pageContext对象,传入pageContext(一定调用)通过getJspCotext()方法得到pageContext对象
void setParent(JspTag parent)
--设置父标签对象,传入父标签对象,如果没有父标签,则不调用此方法。通过getParent()方法得到父标签对象。
void setXXX(值) --设置属性值。
void setJspBody(JspFragment jspBody) --设置标签体内容。标签体内容封装到JspFragment对象中,然后传入JspFragment对象。通过getJspBody()方法得到标签体内容。如果没有标签体内容,则不会调用此方法
void doTag() --执行标签时调用的方法。(一定调用)