_jspService excede el límite de 65535 bytes

Así que estoy lidiando con un código de servlet heredado que se ejecuta en Websphere 7 (JDK 6). La configuración del entorno de desarrollo usa Tomcat 6 (JDK 6).

  1. ¿Por qué funciona en Websphere 7 y no en Tomcat 6?
  2. ¿Esto está relacionado con el servidor de aplicaciones?

Si tu respuesta es sí, no. 2, ¿tiene una solución para esto en Tomcat 6 (JDK 6) además de desglosar el código o usar includes dynamics?

El cronogtwig no concuerda con el cambio de estático incluye a dynamic incluye principalmente porque la mayoría de las páginas se combinan con el código del modelo de negocio, incluida la plantilla principal de la aplicación.

Parece que estás alcanzando un límite de método de 64k , probablemente debido a cómo Tomcat crea una clase de tu JSP. Esta página sugiere cambiar su estática incluye así:

< %@ include file="test.jsp" %> 

A dynamic incluye esto para evitar el problema:

  

Me quedé sin bloques estáticos html / jss / css que pude externalizar en jsp:include (en su mayoría html no estático quedaba) …

Puede poner en su archivo web.xml , mappedfile establecido en falso como para deshacerse de muchas líneas estáticas que no son necesariamente buenos bloques para poner en una inclusión, pero se sumn para ahorrar espacio:

  jsp org.apache.jasper.servlet.JspServlet ...  mappedfile false  ...  

La solución Peter Hart suena como una buena opción también.

Es mejor señalar directamente dónde cambiarlo como se indica en el siguiente enlace: https://www.assetbank.co.uk/support/documentation/knowledge-base/byte-limit-exceeded-error/

Busque el archivo [Tomcat_Home] /conf/web.xml y busque el archivo ‘JspServlet’. Esto debería devolver un nodo xml de contenga algunos valores . Necesitará agregar un adicional igual al siguiente.

  mappedfile false  

Eso es más claro y directo para el usuario de tomcat

Otras soluciones de referencia que, por supuesto, en su mayoría se dijeron en comentarios anteriores, pero todo en un solo lugar para leer, aquí: http://answered.site/development-environment-setup-uses-tomcat-6-jdk-6-why-does- it-work / 603017 /

El problema también se encuentra en tomcat-8 con JDK1.8 (Java8)

A veces, romper su JSP en includes no tiene sentido o no funciona. Otra forma de forzar que su JSP se divida en métodos separados cuando se comstack es separar su JSP en segmentos usando .

Para JBoss eap 6 en standalone.xml, agregue el siguiente código debajo del subsistema web.

    

Resolvió mi problema.

¿Por qué funciona en Websphere 7 y no en Tomcat 6?

Porque tienen diferentes comstackdores JSP que traducen las JSP a diferentes códigos Java. El comstackdor Tomcat JSP (Jasper) aparentemente no puede tratar con JSP grandes.

Quizás la siguiente pregunta es, ¿es posible cambiar el límite de tamaño de método de la JVM?

No. Estos límites están integrados en el formato / estructura de los archivos de clase.

Los detalles están en la especificación de JVM … pero es bastante complicado, y no está del todo claro por su pregunta a qué límite ha llegado. (Pero eso es inmaterial … no se pueden cambiar).

Me encontré con este problema hoy
Mi problema se resolvió cuando tomé Tomcat 8.0.30 en lugar de Tomcat 8.0.39

Al configurar el parámetro de inicialización “mappedFile” en “false” funcionó para mí.

Pero usando el plugin eclipse, se eliminará y tendrá que establecerse de nuevo en el hogar de Tomcat.

Para el servidor wildfly, en standalone.xml -> dentro del subsistema undertow: reemplace jsp-config por

  

Eidt: La solución dada no era la solución, pero la falta de interpretación (el problema no se puede reproducir en todas las versiones de Tomcat) lo siento.