GWT / Eigenes Servlet / Konfigurationen

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von alt-mich, 3. Dezember 2011 .

Schlagworte:
Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 3. Dezember 2011
    Hallo,

    ich bin gerade dabei, einen eigenen Service mit dem Google Web Toolkit zu schreiben.
    In meinem Projekt habe ich im Client-Package (de.foo.gwt.Test.client) die Java-Dateien 'MyService' und 'MyServiceAsync' angelegt, im Server-Package (de.foo.gwt.Test.server) 'MyServiceImpl'.
    Mit diesen Dateien gibt es keine Probleme, da keine Fehler.
    In der 'MyService' habe ich über der Interface-Definition noch folgende Zeile hinzugefügt:
    Code:
    @RemoteServiceRelativePath("myService")
    Was ich nicht hinbekomme, ist die 'web.xml' im war-Ordner zu konfigurieren, momentan sieht sie so aus:
    Code:
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
     http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
     version="2.5"
     xmlns="http://java.sun.com/xml/ns/javaee">
     <!-- Load servlet into servlet container -->
     <servlet>
     <servlet-name>myServiceImpl</servlet-name>
     <servlet-class>de.foo.gwt.Test.server.MyServiceImpl</servlet-class>
     </servlet>
     <servlet-mapping>
     <servlet-name>myServiceImpl</servlet-name>
     <url-pattern>/gwtest/myService</url-pattern> <!-- was hier hin? -->
     </servlet-mapping>
     <!-- Default page to serve -->
     <welcome-file-list>
     <welcome-file>gwTest.html</welcome-file>
     </welcome-file-list>
    </web-app>
    
    Ich weiß nicht, was ich bei 'url-pattern' eintragen soll. Eine Erklärung von Google hat mir nicht weitergeholen. Denn was in diesem Artikel überhaupt nicht erwähnt wird, ist ob ich in der '*.gwt.xml' auch noch eine Zeile hinzufügen muss, die so aussieht:
    Code:
    <servlet path="/myService" class="de.foo.gwt.Test.server.MyServiceImpl"/>
    Für eine verständliche Erklärung, was wo eingetragen werden muss und warum, wäre ich sehr dankbar!
     
  2. 3. Dezember 2011
    AW: GWT / Eigenes Servlet / Konfigurationen

    auch wenn du im webtechnik-bereich richtig warst, werden sich hier mehr java-programmierer finden lassen.
     
  3. 4. Dezember 2011
    AW: GWT / Eigenes Servlet / Konfigurationen

    Ich konnte das Problem lösen!

    Wie vermutet lag der Hase bei der Konfiguration der web.xml bei der angedeuteten Zeile vergraben.
    Wenn bei der MyService.java
    Code:
    @RemoteServiceRelativePath("myService")
    angegeben wird, muss die web.xml so aussehen:
    Code:
    ...
    <servlet-mapping>
     <servlet-name>myServiceImpl</servlet-name>
     <url-pattern>/gwtest/myService</url-pattern>
    </servlet-mapping>
    ...
    Ein wenig tricky ist das '/gwtest/'; soweit wie ich weiß, ist das der Projektname, nur eben in kleinen Lettern; ob diese Angabe Case-Sensitive ist, habe ich nicht ausprobieret.

    Weshalb es nicht funktioniert hat, obwohl ich es eigentlich richtig konfiguriert habe, war dass das Plugin erst gestoppt und das Projekt neu kompiliert werden muss, damit die Änderungen der web.xml übernommen werden (zuverlässiger hat es funktioniert, als ich auch den Browser - Chrome - zusätzlich geschlossen und neu geöffnet habe).
     
  4. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.