Сервлет 2.5 Автоматический импорт - PullRequest
1 голос
/ 25 ноября 2011

Это странно, и я надеюсь, что кто-то может пролить свет на это.Мы находимся в процессе перехода от Weblogic 8.1 к 10.3.4 и как часть этого мы обновляем различные вещи, включая наши дескрипторы развертывания.В нашем веб-приложении наш web.xml был Servlet verion 2.3 со следующим <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">

Теперь мы изменили его на 2,5 следующим образом: <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">

После изменения мы столкнулись с некоторыми jspsкоторые не компилируются во время выполнения.Они терпят неудачу, потому что мы не импортировали некоторые необходимые классы для этого jsp.Например, в одном мы используем Календарь (java.util), но по какой-то причине не смогли написать объявление импорта для него.По какой-то причине в 2.3 это не имело значения.Кто-нибудь знает, если это была особенность 2.3, что некоторые классы были импортированы на лету, когда импорт не был объявлен.Я полностью ценю, что они должны быть импортированы должным образом, но я боюсь, что у нас может быть несколько других jsps, которые потерпят неудачу.

Ответы [ 2 ]

4 голосов
/ 01 декабря 2011

С http://docs.oracle.com/cd/E12840_01/wls/docs103/webapp/weblogic_xml.html

Неявный импорт пакетов Servlet 2.5

Спецификация Servlet 2.5 требует, чтобы только java.lang. *, Javax.servlet. *,Пакеты javax.servlet.jsp. * и javax.servlet.http. * импортируются неявно.В соответствии со спецификацией Servlet 2.5, WebLogic Server будет импортировать только эти обязательные пакеты.Принимая во внимание, что предыдущие версии WebLogic Server также импортировали пакеты java.io. *, java.util. * И javax.servlet.jsp.tagext. *.

WebLogic Server будет следовать предыдущему поведению версии 2.4 или более ранней.и импортируйте необязательные пакеты, если произойдет любое из следующих действий:

В файле дескриптора weblogic.xml установлен флаг обратной совместимости.

Версия веб-приложения - 2,4или более ранняя версия.

Отдельные файлы JSP / TAG в веб-приложении версии 2.5 имеют версию 2.0 или более раннюю.

0 голосов
/ 25 ноября 2011

Возможно, предыдущая версия WebLogic выполняла импорт, потому что она использовала Calendar (или java.util. *) Для внутреннего использования. Это, однако, не в спецификации.

Вы можете использовать компилятор weblogic appc (или jspc, но не рекомендуется) для предварительной компиляции JSP и посмотреть, какие из них не компилируются.

См. http://docs.oracle.com/cd/E12840_01/wls/docs103/webapp/reference.html#wp57794

...