请求如何到达Jersey RESTful API中的Resource类



我使用Jersey、Tomcat和Dropwizard已经有一段时间了。但是,我仍然无法了解从请求到达服务器的端口8080到它到达用@Path注释的方法之一的所有操作都发生了什么。

如果有人能帮助我处理restful API整个体系结构中的所有(或几个重要(层,这将非常有帮助。为了简单起见,假设我有一个使用glassfish jersey构建的应用程序,并使用Tomcat部署为fat-war。

当Jersey启动时,它将内省已注册的资源类,并构建所有资源的模型。该模型包括资源类、资源方法以及映射到这些资源/资源方法的路径和内容类型。

Jersey本身作为Servlet在Servlet容器(例如Tomcat、Grizzly(中运行。入口点Servlet是JerseyServletContainer。因此,当请求进来时,如果请求的URI与配置的servlet映射匹配,servlet容器将把请求转发给Jersey servlet。根据请求的URI和内容协商,Jersey将进入模型映射,确定应该调用哪个资源类和方法,然后调用该方法。

最新更新