Я использую Eclipse GWT Plug-in для создания приложения GWT. Позже мне придется развернуть это как веб-приложение Tomcat. Я прочитал много страниц о том, как это сделать, и это выглядит очень просто, но здесь это не работает.
Если я создаю новое веб-приложение с помощью плагина и копирую содержимое каталога war в папку de tomcat_install / webapps, оно сразу работает, я получаю приложение и все вещи загружаются правильно.
Если я сделаю то же самое с приложением, над которым я работаю уже пару недель, я ничего не получу, просто загружается простой HTML-файл, который я использую в качестве страницы приветствия. Если я осматриваю страницу, то вижу, что она правильно загрузила файл .nocache.js, но на моей странице вообще нет элементов управления.
Все работает в разработке, мой сервлет правильно сопоставлен.
Вот мой app.gwt.xml:
<?xml version="1.0" encoding="UTF-8"?>
<module rename-to='VirtualLabPortal'>
<inherits name="com.google.gwt.user.User" />
<inherits name='com.google.gwt.user.theme.standard.Standard'/>
<inherits name="com.google.gwt.i18n.I18N"/>
<set-property name="gwt.logging.enabled" value="FALSE"/>
<define-property name="webkitVariant" values="safari, chrome" />
<collapse-all-properties />
<extend-property name="locale" values="en"/>
<extend-property name="locale" values="fr" />
<set-property-fallback name="locale" value="fr"/>
<entry-point
class="com.banctecmtl.ca.vlp.view.webview.client.VirtualLabPortal" />
<source path='view/webview/client' />
<source path='shared' />
<source path='model' />
</module>
Моя сеть, xml, где отображаются два моих сервлета, выглядит следующим образом:
<?xml version="1.0" encoding="utf-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
<servlet>
<servlet-name>VlpControllerService</servlet-name>
<servlet-class>com.banctecmtl.ca.vlp.view.webview.server.VlpControllerServiceImpl</servlet-class>
</servlet>
<servlet>
<servlet-name>UserAccessService</servlet-name>
<servlet-class>com.banctecmtl.ca.vlp.view.webview.server.UserAccessServiceImpl</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>VlpControllerService</servlet-name>
<url-pattern>/VirtualLabPortal/VlpController</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>UserAccessService</servlet-name>
<url-pattern>/VirtualLabPortal/UserAccess</url-pattern>
</servlet-mapping>
<!-- Default page to serve -->
<welcome-file-list>
<welcome-file>VirtualLabPortal.html</welcome-file>
</welcome-file-list>
</web-app>
Обратите внимание, что в моих сервисных интерфейсах я использую @RemoteServiceRelativePath("VlpController")
и @RemoteServiceRelativePath("UserAccess")
для обеспечения правильного отображения.
Это содержимое моей точки входа, которую я упростил, чтобы посмотреть, смогу ли я заставить ее работать при развертывании:
public class VirtualLabPortal implements EntryPoint {
/**
* Entry point method.
*/
public void onModuleLoad() {
RootPanel.get().add(new Label("This"));
}
}
Поскольку тело моей html-страницы пустое, появляется белая страница, javascript должен написать тестовую метку на этой странице, но ничего не происходит. Как я уже сказал, мой VirtualLabPortal.nocache.js
загружается на html-странице.
Есть ли что-то, чего мне здесь совершенно не хватает?
РЕДАКТИРОВАТЬ:
Я думаю, что только что получил его, я удалил два свойства, добавленные моим партнером в файл gwt.xml, чтобы уменьшить количество перестановок, и, похоже, оно уже исправлено:
<set-property name="gwt.logging.enabled" value="FALSE"/>
<define-property name="webkitVariant" values="safari, chrome" />
<collapse-all-properties />