서블릿 2.5의 경우 Jersey를 Tomcat에 연결하기 위해 Jersey 컨테이너 서블릿을 web.xml
에 선언해야합니다.저지가 서블릿 3 컨테이너에 연결되는 방법
<web-app>
<servlet>
<servlet-name>MyApplication</servlet-name>
<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
<init-param>
...
</init-param>
</servlet>
</web-app>
서블릿 3.x를 위해, 우리는 같은 일을 할 수 있습니다. 그러나 web.xml에서 Jersey 컨테이너 서블릿을 제거하고 Application
하위 클래스를 직접 컨테이너에 넣을 수도 있습니다.
<web-app>
<servlet>
<servlet-name>org.foo.rest.MyApplication</servlet-name>
</servlet>
...
<servlet-mapping>
<servlet-name>org.foo.rest.MyApplication</servlet-name>
<url-pattern>/resources</url-pattern>
</servlet-mapping>
...
</web-app>
이 경우 Jersey가 Tomcat에 어떻게 통합되어 있습니까? Application
클래스는 암시 적으로 무언가를 수행합니까? 아니면 서블릿 클래스 패스에서 Jersey jar를 자동으로 검색합니까?
: (@peeskillet 코멘트에서) 뉴저지는 서블릿 컨테이너 이니셜 라이저를 사용 또 다른 대안은 web.xml에'servlet-mapping'을 포함하지 않고 Application 서브 클래스에'@ javax.ws.rs.ApplicationPath ("/ rest-path")를 추가하는 것입니다. –