как развернуть приложение GWT на Tomcat - PullRequest
5 голосов
/ 02 июня 2011

Я искал этот сайт для ответа на этот вопрос и не мог найти решение.Я просто сжал каталог war в своем проекте приложения GWT eclipse, затем переименовал его в .war, а затем поместил в папку tomcat webapps.когда я запускаю веб-приложение, первый экран успешно отображается, но когда я вызываю сервлет в моем коде src, он дает мне ресурс, не найденный сервером tomcat.Я уверен, что я добавил запись для сервлета в файле web.xml, и приложение работало хорошо, когда я запускаю его в режиме eclipse gwt dev.что-то мешает моим сервлетам (стандартные сервлеты, а не сервлеты GWT RPC) быть найденными и запущенными tomcat.в чем может быть причина?


ОБНОВЛЕНИЕ

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app
    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
    "http://java.sun.com/dtd/web-app_2_3.dtd">

<web-app>

  <!-- Servlets -->

  <servlet>
        <servlet-name>OAuth</servlet-name>
        <servlet-class>org.goauth.server.OAuthServlet</servlet-class>

    </servlet>
    <servlet-mapping>
        <servlet-name>OAuth</servlet-name>
        <url-pattern>/goauth/oauth</url-pattern>
    </servlet-mapping>
     <servlet>
        <servlet-name>OAuthCallback</servlet-name>

        <servlet-class>org.goauth.server.OAuthCallbackServlet</servlet-class>

    </servlet>
    <servlet-mapping>
        <servlet-name>OAuthCallback</servlet-name>
        <url-pattern>/goauth/callback</url-pattern>
    </servlet-mapping>
    <servlet>
        <servlet-name>service</servlet-name>

        <servlet-class>org.goauth.server.OAuthServiceImpl</servlet-class>

    </servlet>
    <servlet-mapping>
        <servlet-name>service</servlet-name>
        <url-pattern>/goauth/service</url-pattern>
    </servlet-mapping>
    <servlet>
        <servlet-name>OAuthConfirm</servlet-name>
        <servlet-class>org.goauth.server.OAuthConfirmServlet</servlet-class>

    </servlet>
    <servlet-mapping>
        <servlet-name>OAuthConfirm</servlet-name>
        <url-pattern>/goauth/confirm</url-pattern>
    </servlet-mapping>
  <!-- Default page to serve -->
  <welcome-file-list>
    <welcome-file>GOAuth.html</welcome-file>
  </welcome-file-list>    
</web-app>

Ошибка

ничего в файлах журналов Tomcateединственная ошибка в браузере:

HTTP Status 404 - /goauth/oauth

type Status report

message /goauth/oauth

description The requested resource (/goauth/oauth) is not available.
Apache Tomcat/6.0.20

Ответы [ 3 ]

4 голосов
/ 04 июня 2011

Я нашел проблему: для вызова моего сервлета я вызывал URL в формате: "/goauth/OAuth" это работало с плагином eclipse gwt в режиме разработки, но не при развертывании войны на сервере Tomcat. решение состоит в том, что мой URL, указывающий на мой сервлет, должен иметь вид:

String href = GWT.getHostPageBaseURL()+"goauth/OAuth";

поэтому нам нужно сообщить tomcat полный URL-адрес, добавив префикс URL-адреса сервлета к GWT.getHostPageBaseURL ().

1 голос
/ 02 июня 2011

Посмотрите, как создать GWT .war в затмении: http://blog.elitecoderz.net/gwt-and-tomcat-create-war-using-eclipse-to-deploy-war-on-tomcat/2009/12/

0 голосов
/ 03 июня 2011

В вашем отображении попробуйте изменить / goauth / oauth на / OAuth

...