2013-11-10 17 views
1

我正在使用JAX-RS應用程序。之前,我將它作爲安裝在Tomcat服務器上的WAR進行安裝,並且使用以下方法獲取HTTTP請求方法:javax.servlet.http.HttpServletRequest.getMethod()如何獲取Grizzly-embedded Jersey應用程序上的HTTP請求方法?

不過,現在我和我的應用程序嵌入灰熊服務器的工作,並已發現在啓動時出現以下錯誤:

Missing dependency for constructor public wci.api.resource.AudioSessionResource(javax.servlet.http.HttpServletRequest) at parameter index 0 

我所有的資源延伸的MyHappyCustomResource類,具有接收的HttpServletRequest構造,由資源構造函數通過注入提供。

這是一種資源的構造函數的一個例子,super呼叫來自MyHappyCustomResource

import javax.servlet.http.HttpServletRequest; 

public AudioSessionResource(@Context HttpServletRequest request) { 
    super(request); 
    this.dao = new AudioSessionDao(this.sessionManager.getCurrentSession()); 
} 

現在我需要這只是爲了讓HTTP的方法,因此,任何其他或更正確的方式去做非常感謝。

回答

1

的解決方案是使用Grizzly的Request類作爲灰熊官方網站告訴本頁面:

https://grizzly.java.net/httpserverframework.html

類似抽象由Servlet規範所提供的:HttpHandler的(Servlet的),請求(HttpServletRequest),響應(HttpServletResponse)。

+0

我不明白爲什麼這有這麼好的評論。所提供的鏈接有幾個處理髮布數據的例子,但實際上並沒有回答這個問題。在鏈接引用的文本中沒有描述允許使用Request類來確定請求是GET還是POST的方法。 –

+0

這對很多人都有幫助。它並不明確,但隱含在這個環節。事實上,沒有確切的代碼複製和粘貼並不意味着所提供的信息不足以解決問題。這是給我和投票的人。如果你不明白這一點,我不明白爲什麼你應該責怪沒有足夠的答案來解決你的問題。 – CapitanNerd

相關問題