2016-12-23 8 views
1

Я создал новый веб-проект в netbeans (новый проект - java web - веб-приложение || имя: test || сервер: glassFish server 4.1.1 || JavaEE версия: JavaEE 7 web || ContextPath :/Test)не найти маршрут javaEE

Он генерирует html-файл, где я добавляю простой вызов ajax на сервер.

<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> 

Теперь (без тега скрипта), когда я запустить проект он thrwos меня на

localhost:8080/Test 

Теперь я создать новый класс Java

@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; 
    } 
} 

Теперь, когда я построить и проект запуска , сервер отвечает 404

http://localhost:8080/Test/name Не удалось загрузить ресурс: сервер ответил sta tus of 404 (not Found)

Почему это происходит? Маршрут правильный, так почему он не может его найти?

Я пытаюсь исправить это какое-то время, но ничего не могу найти об этом.

Я пытался использовать только

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

но не работало слишком.

Спасибо за помощь!

ответ

3

Каково ваше имя приложения или корневой контекст приложения? Вы должны иметь прикладной корневой контекст в URL, чтобы работать, например домен: порт // маршруты, для Вашего случая будут http://localhost:8080/application-context-root/Test/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.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

Где я могу найти его? – Johnyb

+0

В свойствах проекта eclipse goto, а затем перейдите к настройке веб-проекта, вы найдете контекст root .. –

+0

Какие инструменты и фреймворки вы используете? –