Разрывы тега <bean: cookie> в Struts на WebLogic 11gR1 - PullRequest
0 голосов
/ 20 сентября 2010

Я пытаюсь развернуть очень простое Struts приложение на WebLogic 11gR1 .В приложении есть один JSP с именем Welcome.jsp, и этот JSP содержит следующий тег:

<bean:cookie name="" id=""/>

Связанный taglib импортируется в верхней части JSP с использованием следующей строки:

<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>

Когда этот тег находится внутри JSP, у меня появляется следующая ошибка:

Welcome.jsp:11:24: javax.servlet.http.Cookie cannot be resolved
<body bgcolor="white"><bean:cookie name="" id=""/>

Но когда я удаляю этот тег, Welcome.jsp работает просто отлично.

JSP включает в себя другие теги, такие как:

<bean:message key="welcome.heading"/>

Эти теги работают просто отлично.

И, наконец, ActionServlet из Распорки также работает и запускается с приложением.

Я предполагаю, что должна быть проблема с загрузкой классов, но я не понимаю, почему Struts ActionServlet работает: javax.servlet.http.Cookie и javax.servlet.http.HttpServlet объявлены в одном пакете.

Возможно, есть проблема с реализацией Oracle класса Cookie в WebLogic, но это очень маловероятно.

Спасибо.

1 Ответ

1 голос
/ 20 сентября 2010

javax.servlet.http.Cookie - это интерфейс, показывающий структуру, которую должны реализовать те, кто реализует Servlet API.

Возможно, проблема связана с вашей конфигурацией / библиотекой WebLogic 11gR1: я объясню, используя Tomcat 7.0.

В Tomcat 7.0 в папке TOMCAT_HOME/lib есть servlet-api.jar.Этот jar позволяет Tomcat поддерживать спецификацию Java Servlet API (и включает Cookie.class, включенный в каталог, в javax / servlet / Cookie).

Ваш WebLogic 11gR1 должен иметь библиотеку контейнера сервлетов, которая соответствует сервлетуAPI (как сервлет Tomcat-api.jar).Я никогда не использовал WebLogic, но если у вас есть папка lib где-то (очевидно, WL_HOME/server/lib), убедитесь, что где-то есть api сервлета (я думаю, что weblogic.jar содержит реализации api сервлета).

Кроме того, убедитесь, что в вашем файле WAR нет библиотеки, подобной сервлету (например, servlet-api.jar, jar-сервлетов eclipse и т. Д.), Поскольку это может конфликтовать с библиотекой сервлетов WebLogic.

...