我遵循幾個教程來設置一個非常簡單的Jersey Webservice,這些對我來說都不是很清楚。無法獲得簡單的RS webservice與Eclipse一起工作Mars
有時候本教程正在討論關於更改web.xml的問題,其他人說只需要在您的服務類中有某些註釋。
所以我結束了以下結論:
使用新澤西2.x的你就不必做具體的事情在你的web.xml,纔有球衣容器,把servlet.jar你的classpath和創建服務類,如下所示:
import javax.ws.rs.ApplicationPath;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Application;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
@ApplicationPath("rest")
public class RestService extends Application {
@GET
@Path("/sayhello")
@Produces(MediaType.TEXT_PLAIN)
public Response sayHello() {
return Response.ok("Hello World").build();
}
}
這應該允許我使用訪問API http://localhost:8080/EETest/rest/sayhello
我仔細檢查了該項目已經部署,沒有錯誤, Tomcat7服務器正在運行。所有的運動衫罐和依賴項都在我的lib文件夾中,並且已經添加到項目庫中。修改後的index.html在撥打http://localhost:8080/EETest
時顯示正常但Web服務沒有響應(而是顯示404頁面)。
我知道它一定是非常基本的東西我在這裏做錯了...我用盡了選擇。
編輯:這是我的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>EETest</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
</web-app>
它的工作大有與
register
方法註冊個人類,你可以觸發包掃描(這是不一樣的類路徑掃描)。我對這些改變感到非常驚訝,因爲我使用Jersey創建了一個Rest Webservice,但它是1.x我猜是因爲我必須在web.xml中設置配置,並且沒有「Application」或「ApplicationPath 「涉及 – devnull69