लौटाता है मैं मैवेन के साथ एक मूल वेब ऐप बना रहा हूं, फिर ग्रहण 4.2 पर आयात कर रहा हूं। मेरे पास सर्वर के रूप में टोमकैट 7 सेटअप है। मैं एक वेब ऐप के लिए मोंगोडब के साथ वसंत डेटा कॉन्फ़िगर करने की कोशिश कर रहा हूं।WebAplicationInitializer container.addServlet() शून्य
मैं अनुसरण कर रहा हूं कोड आधारित विन्यास दृष्टिकोण मिली: WebApplicationInitializer
जब मैं सर्वर पर प्रोजेक्ट को चलाने, मैं WebApplicationInitializer वर्ग मैं पैदा की है में एक नल पॉइंटर एक्सेप्शन मिलता है। रेखा: कंटेनर .addServlet ("प्रेषक", नया डिस्पैचर सर्वलेट (dispatcherContext)); शून्य वापस आ रहा है।
मुझे क्या बिल्ली याद आ रही है? मैं एनोटेशन का उपयोग करके स्क्रैच से वेब-ऐप्स बनाने के लिए थोड़ा नया हूं। कुछ भी नहीं बदला है, अभी भी एनपीई हो रही
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.0.1</version>
<scope>provided</scope>
</dependency>
:
public class ATWWebAppInitializer implements WebApplicationInitializer
{
@Override
public void onStartup(ServletContext container) throws ServletException
{
// Create the 'root' Spring application context
AnnotationConfigWebApplicationContext rootContext = new AnnotationConfigWebApplicationContext();
rootContext.register(SpringMongoConfig.class);
// Manage the lifecycle of the root application context
container.addListener(new ContextLoaderListener(rootContext));
// Create the dispatcher servlet's Spring application context
AnnotationConfigWebApplicationContext dispatcherContext = new AnnotationConfigWebApplicationContext();
dispatcherContext.register(ATWDispatcherConfig.class);
// Register and map the dispatcher servlet
ServletRegistration.Dynamic dispatcher = container.addServlet("dispatcher", new DispatcherServlet(dispatcherContext));
dispatcher.setLoadOnStartup(1);
dispatcher.addMapping("/*");
}
}
की कोशिश की पोम को यह जोड़ने:
यहाँ प्रश्न में वर्ग है। मैंने यहां पढ़ा है (http://docs.oracle.com/javaee/6/api/javax/servlet/ServletContext.html) कि कंटेनर। क्या सर्लेट पहले से पंजीकृत है अगर गड़बड़ी वापस आती है? क्या टोमकैट पहले से ही एक सर्वलेट पंजीकृत कर रहा है?
हर किसी के समय बर्बाद करने के लिए क्षमा, मेरे पास एक वेब.एक्सएमएल फ़ाइल भी एक ही सर्वलेट पंजीकृत कर रही थी। तो यह केवल नल लौट रहा था। अब 404 को ठीक करने के लिए, शायद किसी भी तरह नियंत्रक को खराब कर दिया।
वास्तव में यह सुनिश्चित नहीं है कि एक समान सेटअप मेरे लिए साफ-सुथरा काम करता है। तो अनिवार्य रूप से आपको 'dispatcher.setLoadOnStartup() 'लाइन पर एक शून्य सूचक अपवाद मिल रहा है, क्योंकि पिछली पंक्ति एक शून्य प्रेषक दे रही है? –
यह सही है। प्रेषक तक पहुंचने वाली अगली पंक्ति एनपीई फेंक रही है। मुझे लगता है कि यह servlet-api के साथ कुछ करने के लिए हो सकता है। मैंने पीओएम में निर्भरता स्थापित नहीं की, मैंने केवल टॉमकैट लिब निर्देशिका से अपने निर्माण पथ में जार जोड़ा। – MattG
हम्मम्म, मुझे बिल्कुल वही समस्या है और मेरे पास कोई भी 'web.xml' फ़ाइल नहीं है, इसे शुद्ध एनोटेट करने की कोशिश कर रहा है। – Jagger