2013-10-14 5 views
0

Servlet API 3.0에서 소개 된 새로운 주석은 직접 구현 된 서블릿/필터를 구성하는 데 매우 유용합니다. 하지만 ... 종속성에 의해 제공되는 서블릿/필터를 구성하는 방법이 있습니까? 따라서 당신이 거기 주석의 사용을 할 수 없습니다Servlet 3.0 주석을 사용하여 외부 서블릿/필터를 구성 할 수 있습니까?

<web-app version="3.0" 
    xmlns="http://java.sun.com/xml/ns/javaee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"> 

    <listener> 
    <listener-class>org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap</listener-class> 
    </listener> 

    (...) 

</web-app 

: RESTEasy가 (실제로 많은 프레임 워크)를 사용하여 예를 들어

는 같은 것을 필요로하는 것은 매우 일반적입니다. 배포 문제로 인해 비어있는 web.xml을 사용할 수 있기를 바랍니다. 프로그래밍 방식으로 그러한 매핑을 선언하는 방법을 찾는 것이 좋습니다.

답변

0

확인 specs, 8.1 "주석 및 플러그 가능성"웹 응용 프로그램에서

, 그들이 WEB-INF/classes 디렉토리에있는 경우에만 자신의 주석 을 처리해야합니다 주석을 사용하여 클래스, 또는 응용 프로그램 내의 WEB-INF/lib에있는 jar 파일에 으로 패키지되어있는 경우.

그리고 metadata-complete에 관한 내용입니다.

0

이 작업을 수행 할 수 있습니다. 그렇다고해서 꼭해야한다는 것은 아닙니다. :)

ServletContextListeners를 만들 필요가없는 경우 ServletContextListener를 작성하고 ServletContext의 프로그래밍 API를 사용하여 Servlet, Filters, HttpSessionListeners 등을 웹 응용 프로그램에 추가 할 수 있습니다. @WebListener를 사용하여 ServletContextListener에 주석을 달면 작업이 완료됩니다.

ServletContextListeners를 만들어야하는 경우 ServletContainerInitializer를 사용해야합니다. 다시 ServletContext의 프로그래밍 API를 사용하십시오. 이 경우에는 ServletContainerInitializer의 모든 작업을 수행 할 수 있습니다.