क्या केवल एनोटेशन का उपयोग करके JAX-RS एप्लिकेशन सेट करना संभव है? (सर्वलेट 3.0 और JAX-RS जर्सी का उपयोग 1.1.0)
मैंने कोशिश की और कोई भाग्य नहीं था। कुछ का उपयोग करना web.xml
आवश्यक लगता है।
कॉन्फ़िगरेशन A (कार्य करना, लेकिन web.xml कॉन्फ़िगरेशन है)
web.xml
...
<servlet>
<servlet-name>org.foo.rest.MyApplication</servlet-name>
</servlet>
<servlet-mapping>
<servlet-name>org.foo.rest.MyApplication</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
...
जावा
@ApplicationPath("/")
public class MyApplication extends Application {
...
}
कॉन्फ़िगरेशन बी (काम नहीं कर रहा है, अपवाद नहीं)
@ApplicationPath("/")
@WebServlet("/*") // <--
public class MyApplication extends Application {
...
}
उत्तरार्द्ध जोर देकर कहता है कि अनुप्रयोग सर्वलेट का एक उपवर्ग होगा (अपवाद कोई अनुमान नहीं छोड़ता है)
java.lang.ClassCastException: org.foo.rest.MyApplication cannot be cast to javax.servlet.Servlet
प्रशन
क्यों web.xml परिभाषा ने काम किया लेकिन एनोटेशन नहीं किया? क्या फर्क पड़ता है?
क्या यह काम करने का एक तरीका है, जैसे कि JAX-RS एप्लिकेशन में कोई web.xml नहीं है?