Я пытаюсь работать с Java Restful Api..Но когда я запускаю приложение, сервер посылает обратно Ресурс не найден .. Я стараюсь, но я не могу решить эту проблему Я использую Eclipse IDE и сервер Tomcat 7.Java Restful API .. Запрошенный ресурс недоступен
................ 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>RestfullAndAngularJSTest</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>
</web-app>
........... Product.java файл .....................
package entities;
import java.io.*;
import javax.xml.bind.annotation.*;;
@XmlRootElement(name = "product")
public class Product implements Serializable {
private String id;
private String name;
private double price;
@XmlElement
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
@XmlElement
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@XmlElement
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
public Product(String id, String name, double price) {
super();
this.id = id;
this.name = name;
this.price = price;
}
public Product() {
}
}
..... ...... ApplicationConfig.java файл ....................
package productWS;
import java.util.Set;
import javax.ws.rs.core.Application;
@javax.ws.rs.ApplicationPath("rest")
public class ApplicationConfig extends Application {
@Override
public Set<Class<?>> getClasses() {
Set<Class<?>> resources = new java.util.HashSet<>();
addRestResourceClasses(resources);
return resources;
}
private void addRestResourceClasses(Set<Class<?>> resources) {
resources.add(productWS.ProductRestFull.class);
}
}
......... ProductRestFull.java файл ......
package productWS;
import javax.ws.rs.*;
import javax.ws.rs.core.MediaType;
import java.util.*;
import entities.*;
@Path("product")
public class ProductRestFull {
@GET
@Path("findall")
@Produces(MediaType.APPLICATION_JSON)
public List<Product> findAll() {
List<Product> result = new ArrayList<Product>();
result.add(new Product("P01", "Name1", 1000.00));
result.add(new Product("P02", "Name2", 1050.00));
result.add(new Product("P01", "Name3", 2000.00));
result.add(new Product("P01", "Name4", 3000.00));
return result;
}
}
Это URL: http://localhost:8080/RestfullAndAngularJSTest/rest/product/findall
я уже выполнил вашу инструкцию, но она по-прежнему не работает ... может кто-нибудь мне помочь ?? –
Добавили ли вы запись сервлета в web.xml. Вам нужно jersey.config.server.provider.packages param для вашего имени пакета «productWS». Поделитесь записью web.xml здесь и ошибкой, которую вы получаете. –
pastebin link web.xml файл: http: //pastebin.com/dwQU69f6 –