jersey/tomcat Beschreibung Der origin-server nicht finden eine aktuelle Darstellung für die Ziel-Ressource
Habe ich konfiguriert jersey (mit tomcat-server) entsprechend den details beschrieben, bis Schritt 6.3 hier:
http://www.vogella.com/tutorials/REST/article.html#jerseyprojectsetup
Unten ist meine web.xml Datei, der einzige Unterschied ist, dass der Pfad/Paketname für die jersey.config.server.provider.packages
den Anweisungen verfügt;
<param-name>jersey.config.server.provider.packages</param-name>
<param-value>com.vogella.jersey.first</param-value>
weil com.vogella.jersey.first
ist Ihrem Paket-Namen, während ich wählte, um zu zeigen Sie mir zu meiner Standard-Paket (jerseytest)
aber dies ist meine web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
<display-name>jerseytest</display-name>
<servlet>
<servlet-name>Jersey REST Service</servlet-name>
<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
<!-- Register resources and providers under com.vogella.jersey.first package. -->
<init-param>
<param-name>jersey.config.server.provider.packages</param-name>
<param-value>jerseytest</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Jersey REST Service</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
</web-app>
wenn ich die Anwendung auf dem tomcat-server, den ich erhalte:
HTTP Status 404 – Nicht Gefunden
Art Status Bericht
Message /jerseytest/
Beschreibung Der origin-server nicht finden eine aktuelle Darstellung
für die Ziel-Ressource oder nicht bereit ist, offen zu legen, dass man existiert.Apache Tomcat/8.5.23
und wenn ich im browser auf den Endpunkt erwähnt im tutorial :
http://localhost:8080/com.vogella.jersey.first/rest/hello
Bekomme ich einen nicht gefunden Fehler:
HTTP Status 404 – Nicht Gefunden
Art Status Bericht
Message Not Found
Beschreibung Der origin-server nicht finden eine aktuelle Darstellung
für die Ziel-Ressource oder nicht bereit ist, offen zu legen, dass man existiert.Apache Tomcat/8.5.23
Wenn ich im browser direkt zu http://localhost:8080/rest/hello
Bekomme ich:
HTTP Status 404 – Nicht Gefunden
Art Status Bericht
Message /rest/hello
Beschreibung Der origin-server nicht finden eine aktuelle Darstellung
für die Ziel-Ressource oder nicht bereit ist, offen zu legen, dass man existiert.Apache Tomcat/8.5.23
Meine java-Klasse ist identisch zu dem Beispiel in der Anleitung , außer dass mir im default-package :
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
//Plain old Java Object it does not extend as class or implements
//an interface
//The class registers its methods for the HTTP GET request using the @GET annotation.
//Using the @Produces annotation, it defines that it can deliver several MIME types,
//text, XML and HTML.
//The browser requests per default the HTML MIME type.
//Sets the path to base URL + /hello
@Path("/hello")
public class Hello {
//This method is called if TEXT_PLAIN is request
@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> ";
}
}
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich kämpfte mit diesem problem viele Male.
Die Lösung, die ich momentan verwende, ist das Wetter der webapp(oder den Ordner, wo Sie gehalten, die Ansichten wie jsp) ist unter deployment assembly.
Tun
Klicken Sie rechts auf die
project > Build Path > Configure Build path > Deployment Assembly > Add(right hand side) > Folder > (add your jsp folder. In default case it is src/main/webapp)
Jede Methode muss den Pfad angeben,
wie diese :
HTML: