2016-12-23 5 views
1

Ich habe ein neues Webprojekt in Netbeans erstellt (neues Projekt - Java Web - Webanwendung || Name: test || Server: GlassFish Server 4.1.1 || JavaEE Version: JavaEE 7 Web || ContextPath :/Test)kann keine Route finden javaEE

Es generiert HTML-Datei, wo ich einfachen Ajax-Aufruf zum Server hinzufügen.

<html> 
    <head> 
     <title>TODO supply a title</title> 
     <meta charset="UTF-8"> 
     <meta name="viewport" content="width=device-width, initial-scale=1.0"> 
    </head> 
    <body> 
     <div>TODO write content</div> 
     <script> 
      fetch('/Test/name').then(function(x){ 
       console.log(x) 
      }) 
     </script> 
    </body> 
</html> 

Now (ohne Script-Tag), wenn ich das Projekt und führen es mir thrwos auf

localhost:8080/Test 

Jetzt erstelle ich eine neue Java-Klasse

@Path("/Test") 
@Produces("text/plain") 
public class RequestClass { 
    private String name = "MyName"; 
    private String age = "MyAge"; 
    @GET 
    @Path("/name") 
    @Produces("text/plain") 
    public String getName(){ 
     return this.name; 
    } 
    @GET 
    @Path("/age") 
    @Produces("text/plain") 
    public String getAge(){ 
     return this.age; 
    } 
} 

Jetzt, als ich Projekt erstellen und ausführen antwortet der Server mit 404

http://localhost:8080/Test/name Fehler beim Laden der Ressource: Der Server reagierte mit einem Sta tus von 404 (nicht gefunden)

Warum passiert das? Die Route ist richtig, also warum kann sie nicht gefunden werden?

Ich versuche es jetzt für eine Weile zu beheben, kann aber nichts darüber finden.

Ich versuchte auch nur

fetch('/name').then(function(x){ 
     console.log(x) 
    }) 

aber funktionierte nicht zu verwenden.

Vielen Dank für Ihre Hilfe!

Antwort

3

Wie lautet Ihr Anwendungsname oder Anwendungskontextwurzel? müssen Sie Ihre Anwendungskontext root in der URL haben, zu arbeiten, Z. B domain: port // Routen, für Ihren Fall wird es http://localhost:8080/application-context-root/Test/name

Jersey Konfiguration

<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.mkyong.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> 
+0

Wo kann ich es finden? – Johnyb

+0

In Eclipse Goto Projekteigenschaften und dann gehen Sie zu Web-Projekt Einstellung finden Sie den Kontext Stamm .. –

+0

Welche Werkzeuge und Frameworks verwenden Sie? –