如何在Grizzly嵌入式Jersey应用程序上获取HTTP请求方法?

时间:2013-11-10 01:56:44

标签: java http rest jersey grizzly

我正在研究JAX-RS应用程序。之前,我把它作为一个安装在Tomcat服务器上的WAR,我使用:javax.servlet.http.HttpServletRequest.getMethod()获取HTTTP请求方法。

但是,现在我正在使用我的应用程序上的嵌入式Grizzly服务器并在启动时发现以下错误:

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-Method所以,任何其他或更正确的方法来做它是值得赞赏的。

1 个答案:

答案 0 :(得分:1)

解决方案是在Grizzly官方网站上使用Grizzly的Request类,如本页所述:

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

  

类似于Servlet规范提供的抽象:HttpHandler(Servlet),Request(HttpServletRequest),Response(HttpServletResponse)。