Skip to content
 

Resin und JSP Tags

Wenn man JSP Tags implementiert sollte man auf das unterschiedliche Handling von Attributen in Tomcat und Resin achten.

Beispiel: JSP Seite mit zwei Aufrufen von einem Tag mit gleichen Attributen.

<test:test counter="1" key="key"/>
<test:test counter="1" key="key"/>

Im Tomcat werden die Set-Methoden in der Tag-Klasse jeweils zweimal aufgerufen. Im Resin greift beim JSP kompilieren eine Optimierung und die beiden Set Aufrufe vom zweiten Tag werden nicht generiert, da die Attribute die gleichen Werte enthalten wie der erste Tag.

Das folgende Beispiel funktioniert in Tomcat und Resin genau gleich. Obwohl der zweite Tag das gleiche Counter Attribute hat wird auch im Resin die Set Methode zweimal aufgerufen.

<test:test counter="1" key="key"/>
<test:test counter="1" />

Unterschiedliche Anzahl Attribute erzeugen unterschiedliche Instanzen der Tagklasse.

Weiter sollte man im Resin auf das unterschiedliche Classloading achten. Per default benutzt Resin das Parent-First Loading. Klassen des Server haben vorrang von Klassen der Webapplikation. Dieses Handling lässt sich mit folgendem Eintrag im resin.conf umstellen, so dass Klassen der Webapplikation den Vorrang haben.

<servlet-classloader-hack>false</servlet-classloader-hack>

Leave a Reply

(required)