我試圖運行我的第一個HelloWorld Jersey項目,閱讀其中的一堆教程,我認爲理論上它應該可以工作,但當然我做錯了那個頁面給我的東西一個404錯誤。 這裏是我的:獲取404錯誤來運行Jersey REST
我開始在Eclise中使用DynamicWebProject並使用插件將它轉換爲Maven項目。而這些添加到POM文件:
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-core</artifactId>
<version>1.8</version>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-server</artifactId>
<version>1.8</version>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-json</artifactId>
<version>1.8</version>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-client</artifactId>
<version>1.8</version>
</dependency>
</dependencies>
然後我還添加了一個非常小的類像這樣有一些州註釋:
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
@Path("/hello")
public class HelloWorldResource {
@GET
@Produces("application/plain")
public String getMessage() {
// Forward request to service layer.
return "Hello World";
}
}
,我在網上也註冊澤西這些。 XML文件:
<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>JerseyREST</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>
注意:已經有一些創建在那裏,我還沒有觸及它們。他們仍然在那裏。
所以這個配置我做了一個運行在服務器和去
http://localhost:8080/JerseyREST/rest/hello
,但得到一個討厭的HTTP狀態404 - 上/ JerseyREST/jerseyrest/REST /你好錯誤。我無法想象我做錯了什麼。 任何建議或地方,我看看?
非常感謝。
我會先轉到您的服務器管理器應用程序(如果有),並查看應用程序是否已真正部署。我的另一個猜測是@Produces註釋有問題。我從來沒有聽說過「application/plain」MIME類型。 – toniedzwiedz 2012-07-26 15:27:32
是的,它沒有在Tomcat Manager中列出:( – Bohn 2012-07-26 16:07:43
然後檢查你的編譯輸出,你的項目肯定有什麼問題 – toniedzwiedz 2012-07-26 16:13:09