2016-05-09 2 views
0

Я пытаюсь разработать Java Webservice с Джерси, но сервер tomcat продолжает возвращать ошибку 404.Jersey-Webservice. Получение ошибки 404

Некоторые детали:

    Tomcat
  • сервер работает
  • другие Webservices работают
  • я не использую Maven (все .jars в каталоге/WEB-INF ОМТ)
  • EDIT: это должно быть URL: http://localhost:8080/webservice/hi

Класс:

package service; 

import javax.ws.rs.GET; 
import javax.ws.rs.Path; 
import javax.ws.rs.Produces; 
import javax.ws.rs.core.MediaType; 

@Path("/hi") 
public class Service { 
@GET 
@Produces(MediaType.TEXT_PLAIN) 
public String hello(){ 
    return "hi"; 
} 

    @GET 
    @Produces(MediaType.TEXT_HTML) 
    public String sayHtmlHello() { 
    return "<html> " + "<title>" + "Hello Jersey" + "</title>" 
     + "<body><h1>" + "Hello Jersey" + "</body></h1>" + "</html> "; 
    } 
} 

файл web.xml:

<?xml version="1.0" encoding="UTF-8"?> 
<web-app id="WebApp_ID" version="2.5" 
xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> 
<display-name>FirstRestWebService</display-name> 
<servlet> 
    <display-name>Rest Servlet</display-name> 
    <servlet-name>RestServlet</servlet-name> 
    <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class> 
    <init-param> 
     <param-name>jersey.config.server.provider.packages</param-name> 
     <param-value>service</param-value> 
    </init-param> 
    <load-on-startup>1</load-on-startup> 
</servlet> 
<servlet-mapping> 
    <servlet-name>RestServlet</servlet-name> 
    <url-pattern>/*</url-pattern> 
</servlet-mapping> 
</web-app> 
+0

Есть ли трассировка стека в консоли? – Bajal

+0

Я проверил файлы журнала tomcat, но не имеет ничего общего с исключением или другой ошибкой – Meixe

+0

Как вы называете конечную точку. Один и тот же путь имеет два разных типа ответа. Вы делаете что-то вроде curl -H «Accept: text/plain« http: // localhost: 8080/hi »? –

ответ

0

Я вижу две неясности в вашем коде. У ваших методов REST нет разных путей (@Path). Еще одна вещь, которую я вижу, заключается в том, что ваше отображение сервлетов не упоминает webservice. Таким образом, даже при использовании disambiguity вам все равно придется добавить webservice к вашему картографированию, чтобы он работал так, как вы ожидаете.

Смежные вопросы