Использование GWT с базой данных - PullRequest
0 голосов
/ 28 октября 2009

Как настроить встроенную Jetty, которая поставляется с GWT, чтобы при нажатии кнопки запуска в Eclipse мое серверное приложение могло получить доступ к базе данных postgresql?

Ответы [ 3 ]

1 голос
/ 28 октября 2009

Да, встроенный GWT-сервер Jetty работает нормально для простых сервлетов, но в большинстве случаев вам нужно нечто большее, чем Jetty не предлагает. Помимо простых тестовых сервлетов, я всегда использую контейнер GlassFish и Tomcat с опцией noserver . Это позволяет вашим сервлетам использовать всю мощь Java Enterprise Bean и Java Persistence API (JPA). Самый простой способ проверить это - построить проект и развернуть WAR в контейнере. Затем измените ваш целевой объект проекта GWT hosted , чтобы использовать параметр noserver , и передайте параметр -startupUrl с URL-адресом вашего Tomcat / Glassfish (URL-адрес вашего проекта в контейнере ). GWT может быть очень скудным в сочетании с чистым JPA с использованием POJO DTO. Смотрите мой пример GWTPersistence на> NingZhang.info

1 голос
/ 28 октября 2009

Нам повезло с переносом нашего веб-приложения Tomcat (использующего OpenEJB) на встроенный сервер GWT (Jetty), просто следуя стандартным процедурам настройки веб-приложения.

Но в конце концов мы решили работать в хост-режиме с опцией noserver и вместо этого подключаться к серверу Tomcat.

0 голосов
/ 29 октября 2009

Оказалось, что мне нужно было запустить приложение на сервере Tomcat на другом хосте (потому что нужную мне базу данных было слишком сложно перенести на компьютер разработчика для тестирования). Я использовал «ant war && scp Navaid.war foo: / www / tomcat / webapps /» для развертывания на стороне сервера и изменил конфигурацию запуска Eclipse для проекта на

  • снимите флажок «Запустить встроенный сервер» на вкладке «Основные»
  • добавить следующие параметры в «Аргументы программы» на вкладке «Аргументы»

    -noserver -whitelist "^ http [:] [/] [/] foo [.] Bar [.] Com [:] 8080"

Мне также удалось изменить build.xml, чтобы "ant hosted" запускал хост-режим с удаленным сервером. Я нашел «размещенную» цель и строку , которая выглядит следующим образом:

<arg value="-startupUrl"/>

и добавил следующую строку перед ним:

<arg value="-noserver"/>

и изменил строку после нее с

<arg value="Navaid.html"/>

до

<arg value="http://foo.bar.com:8080/Navaid/Navaid.html"/>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...