2012-04-04 2 views
1

Wie erstellt man einen einfachen Webserver in Java mit Eclipse, Tomcat und Jersey? Schritte folgen?Beruhigende WebServices in Java mit Eclipse, Tomcat und Jersey

Wir schaffen einfache Webserver auf die folgenden Links verwenden:

, aber wir haben einen Fehler wie folgt aus:

java.lang.ClassNotFoundException: com.sun.jersey.spi.container.servlet.ServletContainer 
+0

hast du die jersey libs zu deinem Klassenpfad hinzugefügt? –

+0

Ja, ich habe alle Jersy Gläser zu Lib-Ordner hinzugefügt – Rajeswari

+1

Siehe http://Stackoverflow.com/q/10009199/443515 – Qwerky

Antwort

3

maven laufen haben. Dann führen Sie diesen Befehl (drücken Sie die Eingabetaste, wenn es etw fragt):

mvn archetype:generate -DgroupId=com.test.rest -DartifactId=test -DarchetypeArtifactId=maven-archetype-webapp 

Es wird Ihnen eine einfache Webapp erstellen. Erstellen Sie nun das Quellpaket als src/main/java/com/test/Rest, und erstellen Sie eine einfache Klasse wie folgt mit einem Namen „test“ in ihm:

package com.test.rest; 

import javax.ws.rs.GET; 
import javax.ws.rs.Path; 
import javax.ws.rs.PathParam; 
import javax.ws.rs.core.Response; 

@Path("/test") 
public class test{ 

@GET 
@Path("/{param}") 
public Response getMsg(@PathParam("param") String msg) { 

    String output = "Jersey say : " + msg; 

    return Response.status(200).entity(output).build(); 

    } 

} 

An diesem Punkt Sie Fehler erhalten soll, lösen sie durch das Hinzufügen dieser Abhängigkeit zu Ihrem pom:

<dependency> 
     <groupId>com.sun.jersey</groupId> 
     <artifactId>jersey-server</artifactId> 
     <version>1.8</version> 
    </dependency> 

Sie eine Attrappe laufen kann „mvn sauber installieren“, so dass maven wird das Repository und Ihre Fehler downloaden verschwinden.

Jetzt gehen, zu Webapp/WEB-INF und web.xml wie folgt konfigurieren:

<web-app id="WebApp_ID" version="2.4" 
xmlns="http://java.sun.com/xml/ns/j2ee" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> 
<display-name>Restful Web Application</display-name> 

<servlet> 
    <servlet-name>jersey-serlvet</servlet-name> 
    <servlet-class> 
       com.sun.jersey.spi.container.servlet.ServletContainer 
      </servlet-class> 
    <init-param> 
     <param-name>com.sun.jersey.config.property.packages</param-name> 
     <param-value>com.test.rest</param-value> 
    </init-param> 
    <load-on-startup>1</load-on-startup> 
</servlet> 

<servlet-mapping> 
    <servlet-name>jersey-serlvet</servlet-name> 
    <url-pattern>/rest/*</url-pattern> 
</servlet-mapping> 

hier gesagt, dass wir Klassen, die geladen werden und gab auch einen kleinen Präfix mit „/ sich ausruhen". Ihr Webservice beginnt mit diesem Präfix.

Jetzt sind Sie bereit, bauen Sie die App und fügen Sie die JAR-Datei unter Tomcat/Webapps-Ordner. wenn Sie Ihren Kater ausführen können Sie Ihre Webservice erreichen über:

(url_to_tomcat_server/jar_name/prefix_at_web_xml/prefix_at_java_rest_class/dummy_text_requested_byclass)

localhost:8080/test/rest/test/blabla 

Hinweis: getestet und läuft

0

Kopieren Sie alle Ihre Jersey Gläser, einschließlich Jersey-Servlet-1.12.jar, in Ihrem lib-Ordner. Schau, dass du es in den Build-Pfad eingefügt hast.