2015-11-27 63 views
0

我是Restful web服務的新手,當我嘗試運行我的代碼時沒有收到404錯誤。 我的項目結構 enter image description here在Restful web服務中的錯誤

的index.jsp

<a href="webapi/firstApp"> link</a> 

的web.xml

<servlet> 
     <servlet-name>Jersey Web Application</servlet-name> 
     <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class> 
     <init-param> 
      <param-name>jersey.config.server.provider.packages</param-name> 
      <param-value>com.sasi.wb.MyFirstAppilcation</param-value> 
     </init-param> 
     <load-on-startup>1</load-on-startup> 
    </servlet> 
    <servlet-mapping> 
     <servlet-name>Jersey Web Application</servlet-name> 
     <url-pattern>/webapi/*</url-pattern> 
    </servlet-mapping> 

MyFirstAppilcation:

package com.sasi.wb; 
import javax.ws.rs.GET; 
import javax.ws.rs.Path; 
import javax.ws.rs.Produces; 
import javax.ws.rs.core.MediaType; 
@Path("/firstApp") 
public class MyFirstAppilcation { 

    @GET 
    @Produces(MediaType.TEXT_PLAIN) 
    public String getMsg(){ 
     return "Got It"; 
    } 
} 

網址: http://localhost:8004/webserivcetraning/webapi/firstApp

我不知道我在這裏錯過了什麼。當嘗試在index.jsp中點擊我的鏈接時,我得到404錯誤。任何人都可以幫我解決?

+0

如果你正在尋找工作的例子,請檢查這個(http://javaant.com/restful/#.VliJ-GQrJuU) –

+0

你試圖訪問類本身,你應該訪問方法在類內部,我的意思是提供方法的路徑,然後訪問方法。檢查這個例子http://javaant.com/restful-web-services-using-jersey/#.VliL1WQrJuU。從git下載代碼。並嘗試 –

+0

謝謝尼爾馬爾。我糾正了我的錯誤。 – KSK

回答

1

問題是這樣的

<param-value>com.sasi.wb.MyFirstAppilcation</param-value> 

jersey.config.server.provider.packages告訴澤西什麼包掃描您的@Path類和註冊這些類。未知列出的軟件包被忽略。你列出的不是一個包,而是一個班,所以你的班從未註冊過。所以只要刪除.MyFirstAppilcation

+0

感謝Peeskillet。我糾正了我的錯誤,現在它工作正常。 – KSK