2015-10-01 2 views
1

Я следую простому руководству по webservice и не могу взаимодействовать с кодом Java. Я подозреваю, что у моего web.xml есть ошибка, но я не уверен. Нет очевидных ошибок, и index.jsp является сервером без каких-либо проблем.Ошибка веб-службы HTTP-статус 404 - не найден

Так что, когда я бегу на сервере, он открывает index.jsp, а затем я пытаюсь следующие ссылки, но я получаю "HTTP 404 ошибки

Вот что у меня есть
Динамический веб-проект с импортированными импортными импортированными библиотеками. Замечание об этом - у меня есть ошибка для класса, который не найден, и увидел, что мне пришлось использовать Glassfish.org ... вместо com.sun, не знаю почему, но там вы идете. enter image description here

Мой web.xml выглядит следующим образом. Нет ошибок.

<?xml version="1.0" encoding="UTF-8"?> 
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1"> 
    <display-name>RestApi</display-name> 
    <welcome-file-list> 
    <welcome-file>index.html</welcome-file> 
    <welcome-file>index.htm</welcome-file> 
    <welcome-file>index.jsp</welcome-file> 
    <welcome-file>default.html</welcome-file> 
    <welcome-file>default.htm</welcome-file> 
    <welcome-file>default.jsp</welcome-file> 
    </welcome-file-list> 
    <display-name>Rest Web Services App by me</display-name> 
    <servlet> 
    <servlet-name>exampleServlet</servlet-name> 
    <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class> 
    <init-param> 
     <param-name>com.sun.jersey.config.property.packages</param-name> 
     <param-value>com.rest.example</param-value> 
    </init-param> 
    <load-on-startup>1</load-on-startup> 
    </servlet> 

    <servlet-mapping> 
    <servlet-name>exampleServlet</servlet-name> 
    <url-pattern>/rest/*</url-pattern> 
    </servlet-mapping> 
</web-app> 

Мой класс java заключается в следующем. Нет ошибок.

package com.rest.example; 

import javax.ws.rs.GET; 
import javax.ws.rs.Path; 
import javax.ws.rs.PathParam; 
import javax.ws.rs.core.Response; 

@Path("/hello") 
public class HelloWorld { 
    @GET 
    @Path("/{param}") 
    public Response getMsg(@PathParam("param") String msg){ 
     String output = "Welcome to the world of Rest : "+msg; 
     return Response.status(200).entity(output).build(); 
    } 

} 

ответ

1

Вы используете старый Джерси 1.x свойство

com.sun.jersey.config.property.packages 

Для Джерси 2.x это должно быть

jersey.config.server.provider.packages 

Как правило, ничего где вы видите com.sun.jersey для Jersey 1.x и org.glassfish.jersey для 2.x.

+1

вы немного драгоценный камень. благодаря мельнице peeskillet – Fearghal

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