Versuchen, um einen REst-Service mit Jersey
Ich bin nach diese tutorial zum erstellen eines REst-Service mit Jersey.
Manchmal das verstehe ich nicht ganz, was der Autor des Tutorials bedeutet aber diese sind die Schritte, die ich verfolgt habe, so weit :
1) Erstellt ein dynamisches web-Projekt und nannte Sie : de.vogella.jersey.first
2) Installiert Maven dependencies in eclipse
3) Umgewandelt mein Projekt ein Maven-Projekt (das heißt, erstellt eine pom.xml Datei)
4) Hinzugefügt die notwendigen Abhängigkeiten in pom.xml
so, dass ich verwenden kann, jersey, ohne manuell fügen Sie die jar-Dateien. Ich habe Folgendes xml :
<dependencies>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-server</artifactId>
<version>1.17.1</version>
</dependency>
</dependencies>
5) Der Autor schlägt vor, erstellen eine java-Klasse und gibt einige code. Ich kann nur annehmen, dass er möchte, dass wir ein neues Paket im src-Ordner , benennen Sie es de.vogella.jersey.first
und erstellen Sie eine java-Klasse und nennen Sie es Hello
und platzieren Sie den code dort ein. Das ist, was ich getan habe.
6) Dann schlägt er zu öffnen web.xml
- Datei. Theres keine solche Datei in das Projekt. So ich gehen Sie vor und erstellen Sie eine solche Datei in die WebContent/WEB-INF/lib
Weg. Ich Stelle den code, dass er vorschlagen.
7) Nächste ist der Schritt, den ich nicht verstehen die meisten. Er spricht über die web.xml
dass wir soeben Hinzugefügt haben, und insbesondere erklärt er:
"Der parameter "com.Sonne.jersey.config.Eigenschaft.Paket" definiert, in dem der Paket-Trikot Aussehen wird für die web service-Klassen. Diese Eigenschaft muss auf Ihre Ressourcen-Klassen. "
8) Letzten Schritt öffnen Sie die URL http://localhost:8080/de.vogella.jersey.first/rest/hello
in meinem browser. Allerdings bekomme ich HTTP Status 404 - /de.vogella.jersey.first/rest/hello
Mit was soll ich es ersetzen, genau die com.sun.jersey.config.property.package
?
Sind die Schritte, die ich verfolgt habe, bis jetzt richtig , oder habe ich etwas falsch interpretiert?
- Die web.xml die Datei geht in
WebContent\WEB-INF
nicht inlib
.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Eigentum
com.sun.jersey.config.property.package
muss nur gesetzt werden, da das Paket enthält die web service-Klassen. Im tutorial ist esde.vogella.jersey.first
, und Sie können sehen, dass dieHello
Klasse deklariert ist unter diesem Paket.In anderen Worten, wenn Sie die Anwendung bereitstellen, Trikot Aussehen wird für die web-service-Klassen in das Paket
de.vogella.jersey.first
, und in diesem Fall ist es die Klasse zu findenHello
erklärt wird, mit derjavax.ws.rs.Path
annotation, und erstellen Sie einen web service-Endpunkt-hören Sie auf die URL, die erklärt wurde, mit@Path
.Aber ich habe nie so ein Ding für mein Trikot Projekte. Ich habe gerade meine web-service-Klassen in der
src
Ordner und Jersey erkennt Sie, egal welches Paket ich Sie in. Dies ist die minimale Konfiguration, die ich mit Jersey-Projekte inweb.xml
:Auch wenn Sie keine Lust Maven-Projekte, erstellen Sie einfach ein einfaches Dynamisches Web-Projekt, und kopieren Sie die Jersey-JARs zu
WebContent/WEB-INF/lib
.Auch, wie Qwerky vorgeschlagen,
web.xml
werden inWebContent/WEB-INF/
und.jar
Dateien kopiert werden sollenWebContent/WEB-INF/lib
.Andere als die, die beschrieben Prozedur sieht gut aus!
web.xml
ist in Ordnung. Werfen Sie einen Blick auf das tutorial, Kapitel5.3. Define Jersey Servlet dispatcher
:<servlet-mapping>
ist definiert nach<servlet>
!Informationen, wenn Sie mit Jersey-2 in dieser Klasse wurde ersetzt mit
jersey.config.server.provider.packages
so dass Ihre Ressource-Konfiguration wäre wie:jersey.config.server.provider.packages
während in der Beschreibung spricht er übercom.sun.jersey.config.property.packages
. Deine Antwort gelöscht es..