如果你的web.xml和服務類映射如下,它應該正常工作:
您的網址:
http://localhost:8080/RestFulWS/rest/exampleWithOutParam/getName
的web.xml:
<display-name>RestFulWS</display-name>
<servlet>
<servlet-name>Jersey REST Service</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.yourapp</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Jersey REST Service</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
您的服務:
package com.yourapp;
// imports here
@Path("/exampleWithOutParam")
public class YourService {
@GET
@Path("/getName")
@Produces("text/plain")
public Response getName() {
return Response.ok("OK").build();
}
}
如果您直接通過本地主機服務器上的瀏覽器訪問該頁面,會發生什麼情況?你有同樣的錯誤嗎?我的猜測是你沒有將servlet放在正確的位置,所以你得到了404,例如「找不到頁面」。 – Anthony
使用@Path註釋仔細檢查代碼中添加的URL模式和資源路徑。嘗試去http:// localhost:8080/RestFulWS/rest/application.wadl澤西通常會自動創建一個描述所有資源的WADL文件,如果它們與您傳遞的路徑相匹配,則會chceck。 – toniedzwiedz
爲什麼不把實際的web.xml內容和web服務代碼放在這裏? –