null

Превышение лимита на размер JSP страницы в WebSphere

Одна из первых проблем, с которой можно столкнуться, начиная работу с сервером приложений IBM WebSphere 7.0, это ограничение на размер скомпилированной JSP-страницы. Пример сообщения об ошибке приведён ниже.

com.ibm.ws.webcontainer.webapp.WebApp logServletError SRVE0293E: [Servlet Error]-[/html/folder/page.jsp]: com.ibm.ws.jsp.JspCoreException: JSPG0049E: /html/folder/page.jsp failed to compile :

 

C:\IBM\WebSphere\AppServer\profiles\AppSrv01\temp\R420-PRD-SRVNode01\server1\myportlet\myportlet.war\html\folder\_page.java : 383 : The code of method _jspService(HttpServletRequest, HttpServletResponse) is exceeding the 65535 bytes limit

 

В 7-й версии сервера код, получаемый после компиляции JSP, занимает больше места, чем в предыдущих версиях, и для без того больших страниц может превысить лимит в 64К байт. Это приводит к тому, что ранее успешно работающие приложения на новом сервере не запустятся.

 

Проблему можно обойти разбиением больших страниц на несколько и использованием для их объединения тега <jsp:include>. Но в данной статье мы рассмотрим правильное решение.

 

Причиной увеличения размеров страницы при компиляции является новый способ доступа к ресурсам в приложениях, введённый в функции инъекции ресурсов WebSphere 7.0. Чтобы отключить инъекцию ресурсов на стадии трансляции, нужно установить следующее свойство для JSP контейнера:

 

com.ibm.wsspi.jsp.disableResourceInjection  true

 

Последовательность шагов для задания свойств WebSphere:

 
  1. В консоли администратора перейти в Servers > Server Types > WebSphere application servers > server_name > Web Container Settings > Web container.

  2. В блоке Additional Properties выберите Custom Properties.

  3. На странице Custom Properties, нажмите New.

  4. Введите имя свойства, в нашем случае “com.ibm.wsspi.jsp.disableResourceInjection”, и его значение (“true”).

  5. Нажмите Apply или OK.

  6. Нажмите Save в блоке Messages, чтобы сохранить изменения конфигурации.

  7. Перезапустите сервер.

 

Step 1

Step 2

Step 3

Step 4

Step 5