Erholsamen JAX-RS-Server-Fehler

Habe ich Probleme mit Restful Webservices mit Jersey Umsetzung.
In der Dokumentation steht, dass ich downloaden soll :
Jersey JAX-RS 2.0 RI bundle, entpacken Sie es und fügen Sie die Gläser auf meine WEB-INF/lib
Ordner. Diese Gläser sind:

  • jersey-client -
  • jersey-common
  • jersey-container-servlet
  • jersey-container-servlet-core
  • jersey-server

Wenn ich das Tue, so bekomme ich immer folgende exception:

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

Nach einiger recherche fand ich heraus, dass ich hinzufügen sollte jersey-servlet-1.12.jar statt
hinzufügen die Gläser aus der download-Quelle oben gepostet. So habe ich es gemacht. Ich Hinzugefügt
dies zu meinen web.xml

<servlet>
    <servlet-name>JAX-RS Servlet</servlet-name>
    <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>JAX-RS Servlet</servlet-name>
    <url-pattern>/jaxrs/*</url-pattern>
</servlet-mapping>

Und implementiert habe ich eine kleine test-Klasse:

import java.util.List;

import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import javax.persistence.TypedQuery;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;

import de.hof.university.spj.model.Movie;

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

    @GET
    @Produces("application/json; charset=UTF-8")
    public List<Movie> getMovieList() {
        EntityManagerFactory factory = Persistence.createEntityManagerFactory("SPJUnit");
        EntityManager em = factory.createEntityManager();

        TypedQuery<Movie> query = em.createQuery("Select m FROM Movie m WHERE m.movieID = 4204", Movie.class);

        return query.getResultList();
    }
}

Wenn ich jetzt call http://localhost:8080/MyApp/jaxrs/test bekomme ich diesen Fehler:

HTTP Status 500 - Internal Server Error. The server encountered an internal error (Internal Server Error) that prevented it from fulfilling this request.

Ich weiß nicht, wie zu tun, verwenden Sie die jersey-Implementierung richtig.

InformationsquelleAutor Mulgard | 2013-06-28

Schreibe einen Kommentar