Kann mir jemand sagen, wie man einen erholsamen Web-Service mit Jersey 2.0 macht, indem man maven nicht verwendet. Ich habe überall gesucht und Tutorial für Jersey1.x-Versionen gefunden, aber nicht für 2.0. Bitte helfenBeruhigender Webservice mit Trikot 2.0 ohne Maven
Antwort
ich die Antwort gefunden
package com.hellowebservice;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
@Path("/hello")
public class Hello {
@GET
@Produces(MediaType.TEXT_PLAIN)
public String sayPlainTextHello() {
return "Hello Jersey";
}
// This method is called if XML is request
@GET
@Produces(MediaType.TEXT_XML)
public String sayXMLHello() {
return "<?xml version=\"1.0\"?>" + "<hello> Hello Jersey" + "</hello>";
}
// This method is called if HTML is request
@GET
@Produces(MediaType.TEXT_HTML)
public String sayHtmlHello() {
return "<html> " + "<title>" + "Hello Jersey" + "</title>"
+ "<body><h1>" + "Hello Jersey" + "</body></h1>" + "</html> ";
}
}
Web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
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">
<display-name>FirstRestWebService</display-name>
<servlet>
<display-name>Rest Servlet</display-name>
<servlet-name>RestServlet</servlet-name>
<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>javax.ws.rs.Application</param-name>
<param-value>com.hellowebservice.MyApplication</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>RestServlet</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
</web-app>
MyApplication.java
package com.hellowebservice;
import org.glassfish.jersey.server.ResourceConfig;
public class MyApplication extends ResourceConfig {
public MyApplication() {
packages("com.hellowebservice");
}
}
Lauf mit localhost: 8080/FirstRestWebService/rest/hallo
Was sind die enthaltenen JARs? Haben Sie es geschafft, komplexe Objekte anstelle von Strings zurückzugeben? –
Ich versuchte dieses Beispiel, aber wenn ich die URL traf, heißt es "HTTP Status 404 -/FirstRestWebService/Rest/Hallo" – Chetan
können Sie pls klären, was bedeutet, mit "localhost ..." laufen, wo ist der Server, der startet? Wo ist die Hauptmethode? – Gobliins
Nur um die vorherige Antwort hinzuzufügen. Wenn Sie Maven nicht verwenden und nur Eclipse mit einem dynamischen Webprojekt erstellen und auf einem Web-App-Server wie Tomcat bereitstellen.
Laden Sie einfach die Jersey JAX-RS 2.0 RI-Bundle Jersey Downloads, entpacken und fügen Sie alle Gläser in den Ordnern lib, api und ext zu Ihrem Build-Pfad. (Ich habe versucht, ohne Ext Gläser, aber Klasse nicht gefunden beim Starten des Servers).
Fügen Sie auch alle JAR-Dateien der Deployment-Assembly Ihres dynamischen Webprojekts hinzu, damit sie automatisch in das Verzeichnis WEB-INF/lib kopiert werden, wenn sie auf Ihrem Web-App-Server bereitgestellt werden. Zusammen mit dem Code & web.xml in der obigen Antwort, sollten Sie eine RESTful API haben mit Jersey 2 und läuft.
Wir bieten detaillierte Antwort basierend auf der Benutzerantwort user2629427. wir überprüft diese auf Windows 7.
Anforderung: (Klammern Version anzeigen, welche in diesem Beispiel getestet)
- Kater (8 zip-Version)
- Jersey (2.x)
Entpacken Sie den Tomcat & erstellen Sie eine untere Ordnerstruktur in tomcat 'Webapps' Ordner (Groß- und Kleinschreibung bei Ordnernamen).
abc
|___ WEB-INF
|____ classes
|____ lib
Put 'Hello.java' und 'MyApplication.java' in 'Klassen' -Ordner und 'web.xml' in 'WEB-INF' -Ordner.
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID"
version="3.1">
<servlet>
<servlet-name>rest</servlet-name>
<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>javax.ws.rs.Application</param-name>
<param-value>com.king.MyApplication</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>rest</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
</web-app>
Myapplication.java
package com.king;
import org.glassfish.jersey.server.ResourceConfig;
public class MyApplication extends ResourceConfig {
public MyApplication() {
packages("com.king");
}
}
Hello.java
package com.king;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
@Path("/hello")
public class Hello {
@GET
@Produces(MediaType.TEXT_PLAIN)
public String sayPlainTextHello() {
return "Hello Jersey";
}
// This method is called if XML is request
@GET
@Produces(MediaType.TEXT_XML)
public String sayXMLHello() {
return "<?xml version=\"1.0\"?><hello>Hello Jersey</hello>";
}
// This method is called if HTML is request
@GET
@Produces(MediaType.TEXT_HTML)
public String sayHtmlHello() {
return "<html><title>Hi Jersey</title><body><h1>Hello Jersey this is laksys</body></h1></html>";
}
}
Dekomprimieren Jersey und kopieren Sie alle JAR-Dateien von api, ext und lib (nicht Ordner) in den lib-Ordner Ihrer Apps.
Jetzt kompilieren die beiden Java-Dateien mit folgendem Befehl
D:\apache-tc-8\webapps\abc\WEB-INF\classes>javac -d . -cp ..\lib\javax.ws.rs-api-2.0.1.jar;..\lib\jersey-server.jar;..\l ib\jersey-common.jar *.java
Weiter, um den Tomcatbediener laufen
D:\apache-tc-8\bin>startup
In Browser-Adressleiste Typ dieser: http://localhost:8080/abc/rest/hello
- 1. Wie Trikot 2.0 Guice auf Grizzly verwenden
- 2. Integrieren von Neo4j mit Trikot und Kater
- 3. Json-Konvertierung mit Trikot
- 4. Erstellen einer Webanwendung mit Trikot
- 5. basic Jersey webservice mit maven jetty plugin
- 6. JAX-RS ohne Trikot auf WAS7
- 7. Client Authentifizierung mit Trikot
- 8. Trikot 1.1.4 Fehler
- 9. Trikot Bereitstellung
- 10. Cascading Dropdown ohne jede Webservice mit
- 11. Spring 3 Hibernate JPA 2.0 Maven und Wert '2.0' Fehler
- 12. WebService von WSDL im Frühling, Maven (Vertrag zuerst) erstellen
- 13. Erstellen eines WCF Beruhigender Dienst, Gleichzeitigkeitsprobleme
- 14. Trikot und Filter Ausnahmebehandlung
- 15. Basic Abhängigkeits-Injektion mit Trikot von Business-Schicht
- 16. Maven Abhängigkeit ohne Radfahren?
- 17. Ignorieren web.xml Fehler-Seite mit ExceptionMapper Trikot
- 18. Maven-Repository Standort für hsqldb 2.0
- 19. Ohne Abhängigkeit in maven
- 20. maven Abhängigkeit ohne Version
- 21. Retrofit 2.0-Methode ohne Antwort
- 22. quartz Scheduler mit Feder MVC ohne Maven
- 23. Authentifizierter Webservice mit LDAP
- 24. java trikot erhalten volle URL
- 25. Ember 2.0 ohne Ember cli?
- 26. So führen Sie Webservice Ohne Web refrence
- 27. Spring-Boot Trikot: erlauben Jersey statischen Inhalt
- 28. Unit-Test-Trikot Rest Anruf mit Jersey-Test-Framework
- 29. Trikot - StreamingOutput als Antwort Einheit
- 30. Trikot 1.91.x 404 Fehler
Welche Build-Tool wollen Sie benutzen? –
Ich benutze nur Eclipse – user2629427
Eclipse ist eine IDE, kein Build-Tool. Wenn Sie Maven nicht verwenden möchten, verwenden Sie wahrscheinlich Ant oder Gradle, ... Welche von diesen verwenden Sie? Welche von diesen verwendet * Eclipse *? –