потерян в развертывании: session.getAttribute () возвращает NULL в некоторых конфигурациях Tomcat - PullRequest
0 голосов
/ 08 мая 2011

У меня возникло несколько проблем, которые я не могу понять с первого взгляда.История довольно проста, но я полагаю, что решение находится за некоторыми реальными проблемами конфигурации / развертывания /inconsistencies.

Я определил JSP и два сервлета.JSP помещает что-то в сеанс, и сервлеты должны извлекать данные и манипулировать ими.Основным симптомом является то, что сервлеты не видят данные сеанса при просмотре JSP в Chrome и Firefox.Интересно, что JSP / сервлеты обмениваются данными при использовании внутреннего браузера Eclipse, а также при использовании Internet Explorer (работает на Win7).

Здесь приведено немного длинное описание вместе с некоторой информацией (и последующими признаками)Что касается локальной конфигурации (и, как я полагаю, в этом и заключается проблема): я установил Eclipse (Helios) в c: \ labs \ eclipse и распаковал Tomcat (7.0.12) в c: \ labs \ tomcat.Я также установил плагин Sysdeo, который запускает Tomcat.

Сначала, когда я запускаю Tomcat с помощью кнопки плагина Sysdeo Eclipse, а затем пытаюсь получить доступ к некоторому относящемуся к приложению URL-адресу из внешнего браузера - тогда обнаруживается главная страница Tomcat., но не приложение JSP / страниц.Однако, когда я запускаю Tomcat с помощью кнопки Eclipse «play / run» (когда выбирается какая-либо страница JSP из веб-проекта Eclipse) - тогда я могу увидеть обработанную страницу JSP обе из внутреннего браузера Eclipse И из любого внешнего браузера.В чем разница между этими двумя режимами запуска?

Во-вторых, при запуске Tomcat только через кнопку Eclipse «играть / запускать» и при вызове JSP и сервлетов либо из внутреннего браузера Eclipse, либо из внешнего браузера Internet Explorer, затем все данные совместно используются JSP и сервлетами.Однако (только для того же режима запуска), если я пытаюсь получить доступ к JSP / сервлетам из внешних браузеров Chrome / Firefox - тогда JSP / сервлеты найдены, но данные, похоже, НЕ передаются через сеанс http (напечатан идентификатор сеанса)и проверил, что это правильно).

В-третьих, когда я запускаю Tomcat с помощью кнопки «оплатить / запустить», я могу увидеть распечатки журналов сервлетов () ТОЛЬКО в консоли Eclipse при использовании внутреннего браузера Eclipse.Когда JSP / сервлеты вызываются из внешних браузеров - я не смог найти распечатки журналов (но только несколько строк, связанных с доступом в файлах, которые находятся в каталоге журналов Tomcat).

Попытался обобщить технические проблемыэто выглядит странно для меня - я, скорее всего, скучаю по некоторой ценной информации, связанной с развертыванием / конфигурацией.Посоветуйте, пожалуйста, что я делаю не так, и какая конфигурация лучше / правильнее, которая позволит совместно использовать данные сеанса при вызове ресурсов приложения из всех внешних браузеров.Если вам нужны какие-либо дополнительные сведения о моей конфигурации / среде - просто спросите.

Оцените

1 Ответ

0 голосов
/ 08 мая 2011

Убедитесь, что вы используете Eclipse для Java EE разработчиков , а не Eclipse для разработчиков Java.Он уже поставляется со встроенным плагином сервера Tomcat.Плагин Sysdeo довольно старый, он вам вообще не нужен, и я не удивлюсь, если это все-таки виновник некоторых из описанных проблем.

Что касается запуска JSP / Servlet с использованием внутреннегоEclipse-браузер в отличие от обычного веб-браузера, у меня самого были проблемы с внутренним браузером, я бы не рекомендовал использовать его для других целей, кроме «быстрого тестирования».Однако то, что он не разделяет сеанс с другим браузером, является нормальным поведением.В любом случае они не используют один и тот же экземпляр браузера.Сеансы не зависят от компьютера, они зависят от браузера.

Я бы просто интегрировал Tomcat в Eclipse, используя подключаемый модуль EE, запускал и останавливал его по свойствам сервера (а не щелкнув правой кнопкой мыши JSP / Servlet и выбрав Запустить или что-то еще) и использовать настоящий веб-браузер для доступа к страницам.Чтобы правильно приступить к разработке JSP / Servlet с использованием Eclipse и Tomcat, я настоятельно рекомендую вам использовать Coreservlets.com руководства.В нижней части нашей вики-страницы сервлетов вы можете найти несколько прямых ссылок.

...