gwt beginner - как организовать + хранить код в веб-приложении java, которое использует gwt для внешнего интерфейса, а также имеет внутренний код - PullRequest
0 голосов
/ 16 марта 2012

Я работаю над веб-приложением Java - оно будет использовать GWT для внешнего интерфейса.

Я понимаю, что для пакета com.abc.xyz код на стороне клиента будет находиться в com / abc / xyz/ client, в то время как код на стороне сервера будет в com / abc / xyz / server

В том же веб-приложении также есть некоторый чисто Java-код, например, слушатель, который ожидает добавления новых элементов в очередь.Затем приложение должно обработать элементы в очереди.

Этот код частично находится в пакете com.abc.xyz, а также в некоторых других пакетах - com.qwerty.package и com.pqr.zzz

Правильно ли я считаю, что вышеуказанный тип приложения может быть создан как комбинация кода GWT и Java?

Как мне разместить код пакетов, упомянутых выше, в моей папке src.Кроме того, как я могу получить окончательное приложение, которое состоит из нескольких страниц, созданных с использованием GWT, а также некоторого чисто серверного кода (например, прослушивателей) - будет ли весь сгенерированный код (состоящий из JS / HTML из GWT и серверного Java-кода)используется GWT, а также чистый Java-код, используемый слушателем на стороне сервера) - запустить ли его как веб-приложение в Google Menu в Eclipse?Будет ли это автоматически создавать нужный файл войны Java правильно?

Кроме того, я планирую использовать Smart GWT для интерфейсной части - это будет означать некоторые изменения в процедуре по сравнению с приложениями чистого GWT?

Ответы [ 4 ]

2 голосов
/ 16 марта 2012

Я предлагаю вам организовать ваш код в три пакета: - клиентский пакет для всего кода, который компилируется компилятором GWT и не используется на стороне сервера - серверный пакет для кода, который используется исключительно на стороне сервера - общий пакет для кода, который используется как на стороне сервера, так и на стороне клиента (следовательно, скомпилирован). В вашем файле gwt.xml:

<source path="client" />
<source path="shared" />

Обратите внимание, что общий код, выполняемый на сервере, не может вызывать некоторые функции, такие как GWT.create (). Обычно вы храните здесь свои объекты передачи данных, которые используются в вызовах RPC.

Если вы используете плагин Eclipse и создаете шаблон проекта с образцом контента, вам будет хорошо. Если вы используете стороннюю библиотеку, такую ​​как smartgwt, вы должны добавить ее в свой путь сборки и включить строку в ваш gwt.xml, чтобы компилятор мог ее найти.

<inherits name="" />
1 голос
/ 16 марта 2012

Правильно ли я считаю, что вышеуказанный тип приложения может быть создан как комбинация кода GWT и Java?

GWT - это код Java, клиентская часть будет скомпилирована вJavascript.Вы можете использовать любой Java API в службах на стороне сервера, в моем текущем проекте я использую, среди прочего, Swing, JPA, Hibernate, Guice, log4j и доступ к базам данных MongoDB и Mysql.

Какразместить код пакетов, упомянутых выше, в моей папке src.

Это мой макет:

src/main/java:
org.foo.bar.client - GWT client code (activities, events, MVP, places, entry point class)
org.foo.bar.controller - one Swing MVC Controller for my login page (I handle login outside of GWT at the moment)
org.foo.bar.security - My Spring Security classes (Authentication Listener/Provider etc.)
org.foo.bar.server.repository - Spring JPA repositories
org.foo.bar.server.service - RPC services
org.foo.bar.shared - domain classes (JPA entities), they are used both by the client and server
src/main/resources:
org/foo/bar/client/ - property files (constants and messages) for internationalization
META-INF/persistence.xml - for JPA
log4j - logging configuration

я запускаю его как веб-приложение вМеню Google в Eclipse

Проект GWT, созданный в Eclipse, содержит работающий скрипт сборки муравьев, который может создать для вас войну.Затем вы можете развернуть его в своем предпочтительном веб-контейнере, таком как Tomcat, Jetty ... Однако компиляция (часть, которая генерирует клиентский javascript) занимает много времени, поэтому для тестирования используйте режим разработки GWT в Eclipse - вам придетсяустановите плагин для вашего веб-браузера, чтобы воспользоваться им.

0 голосов
/ 16 марта 2012

Пожалуйста, обратитесь к следующей ссылке для упаковки корпоративного приложения

http://code.google.com/webtoolkit/articles/mvp-architecture.html

Надеюсь, это поможет вам. Кроме того, рекомендуется использовать Maven вместе с GWT, чтобы разделить проект на простые модули, а затем собрать их для создания крупномасштабного приложения.

0 голосов
/ 16 марта 2012

вы можете использовать Eclipse для всех приложений GWT. у него есть хороший плагин, поскольку он поставляется с графическим интерфейсом. вам также нужно установить движок приложения для ваших браузеров во время тестирования. Это будет предложено, когда вы попытаетесь автоматически протестировать код в браузере.

если вы хотите использовать готовый код Java в проекте, так как я знаю, что вы будете использовать для логического кода, так как часть GUI анализируется с Java на javascritp в gwt, поэтому вам нужно реализовать в gwt способ Java.

...