Tomcat 7.0 utiliza la etiqueta puesta en común:
http://tomcat.apache.org/tomcat-7.0-doc/jasper-howto.html
JSP Tag personalizada Pooling - Los objetos instanciados java para JSP etiquetas personalizadas ahora pueden ser agrupados y reutilizados. Esto aumenta significativamente el rendimiento de las páginas JSP que usan etiquetas personalizadas.
Esa página también dice que web.xml puede contener una opción "enablePooling" para eso, y que su valor predeterminado es verdadero.
Así que yo diría que desactivar la reutilización de etiquetas no es una buena idea, ya que daría lugar a una pérdida de rendimiento.
Tomcat 7,0 garantiza que el estado de la voluntad clase etiqueta no cambia entre un doStartTag() y doEndTag():
http://tomcat.apache.org/tomcat-7.0-doc/jspapi/javax/servlet/jsp/tagext/Tag.html
doStartTag y doEndTag métodos pueden ser invocados en el controlador de etiqueta. Entre estas invocaciones, el controlador de etiqueta se supone para mantener un estado que debe ser preservado
Pero el mismo párrafo se dice entre paréntesis que Se espera que el objeto tenga sus propiedades retenida después:
Después de la invocación doEndTag, el controlador de etiquetas está disponible para otras invocaciones (y se espera que haya conservado sus propiedades).
Entonces, lo que hago es restablecer todas las variables locales a su valor predeterminado justo antes de que regrese doEndTag(). No encontré ninguna explicación sobre cómo se implementa la agrupación y reutilización de etiquetas Tomcat (TagHandlerPool.java, supongo), así que creo que es la opción más segura.
¿Puedes dar un ejemplo? Por ejemplo, ¿un caso de prueba con falla mínima? –
¿Qué implicaría este ejemplo? mi tomcat config + jsp + etiqueta personalizada? parece el tamaño prohibitivo – mkoryak