Cette erreur indique que le contenu du JSP est trop important.

Les bonnes pratiques, à tenter en priorité :
- externaliser le code Javascript si cela est possible (il n'est pas possible d'externaliser du code contenant un événement Adélia ::ADELIA_EVT par exemple),
- externaliser les déclarations de classe CSS.

Si ces bonnes pratiques ne suffisent pas :

Sous Tomcat (testé en version 6, ne semble pas fonctionner en version 5), il est possible de configurer la transformation du JSP en classe Java (servlet) et lui il indiquer de faire une génération de code plus optimisée. Pour cela :

 

  • Arrêter Tomcat.
  • Ouvrir le fichier web.xml se trouvant dans le sous répertoire "conf" du répertoire d'installation de Tomcat.
  • Modifier le noeud <servlet> comme suit.

 

<servlet>
<servlet-name>jsp</servlet-name>
<servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
<init-param>
<param-name>fork</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>xpoweredBy</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>mappedfile</param-name>
<param-value>false</param-value>
</init-param>
<load-on-startup>3</load-on-startup>
</servlet>

Rajouter le noeud <init-param> contenant mappedfile.

  • Re generer le JSP et redemarrer Tomcat.

Si l'erreur persiste, à l'heure actuelle (v11 PTF 7) la seule solution est de réduire la taille de la maquette HTML.

Note : Il semble que WebSphere génère du code plus optimisé que celui généré par Tomcat donc si l'erreur se produit sous Tomcat, cela n'implique pas forcement qu'elle se produise aussi sous WebSphere.

Articles connexes