मेरे पास एक सर्वलेट वर्ग है जिसे मैंने उन कार्यों को संभालने के लिए बनाया है जिन्हें मैं हर सर्वलेट पर दोहराना नहीं चाहता हूं। मैं अभी भी इस पर काम कर रहा हूं (यानी यह अभी भी index.jsp लोड करता है और अन्य फाइल नहीं)। ,मेरी कक्षाओं में सुपर() या यह() को कहां रखा जाए
SEVERE: Exception while deploying the app [ContentManagement] : (class: contentmanagement/content/EditServlet, method: <init> signature:()V) Constructor must call super() or this()
अद्यतन
ठीक है मेरी कंस्ट्रक्टर्स पर void
को हटाने:
public class MyServlet extends HttpServlet {
public MyServlet() {
super();
}
public void loadView (HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
RequestDispatcher dispatcher = request.getRequestDispatcher("/index.jsp");
response.setContentType("text/html;charset=UTF-8");
System.out.println("MyServlet::LoadView() success");
dispatcher.forward(request, response);
}
}
मेरे सर्वलेट के रूप में
@WebServlet(name = "EditServlet", urlPatterns = {"/content/edit"})
public class EditServlet extends Library.MyServlet {
public EditServlet() {
super();
}
public void doGet (HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
System.out.println("EditServlet loaded");
}
}
इस प्रकार मैं तथापि हूँ मेरी कोड संकलन करने में असमर्थ है, और super();
पर कॉल करना must call first
भाग दूर जाने के लिए मिला, लेकिन यह अभी भी कह रहा है कि मुझे सुपर कॉल करना होगा इसके बावजूद इसे पहले से ही बुलाया जा रहा है।
अद्यतन
मैं प्रतिसाद नीचे समझते हैं न .... वे निर्माता, जब मेरे उदाहरण पहले से ही पता चलता है कि किया जा रहा है के भीतर super()
डाल करने के लिए कह रही है रहते हैं, और यह कोड की पहली पंक्ति है । किसी भी अन्य सलाह की सराहना की जाएगी।
कोई विचार?
अब यह एक गैर-मुद्दा है। मुझे नहीं पता कि इस मुद्दे को किस तरह हल किया गया है, लेकिन कई बदलावों के साथ और मेरे ऐप को ग्राउंड अप से पुनर्निर्माण के साथ अब मैं इस समस्या का अनुभव नहीं कर रहा हूं
करना चाहिए, आप निर्माता में पहली डालने की कोशिश की थी? –
एक कन्स्ट्रक्टर के पास कोई रिटर्न प्रकार नहीं है। MyServlet और EditServlet से पहले शून्य को हटा दें। कोड संकलित करता है? –
क्या आप नेटबीन्स का उपयोग कर रहे हैं? मुझे याद है इस Netbeans मोड़ के बारे में एक समान प्रश्न: http://stackoverflow.com/questions/6560988/method-must-call-super-error-in-netbeans दूसरे शब्दों में, अपने निर्माण गंदा है। उदाहरण के लिए, आपने आईडीई के बजाए फ़ाइल एक्सप्लोरर द्वारा प्रोजेक्ट में क्लास फाइलों का मैन्युअल रूप से नाम बदल दिया/स्थानांतरित कर दिया है। वे रचनाकार पूरी तरह से अनावश्यक तरीके से हैं। सर्वलेट को उनमें से किसी के बिना समान रूप से अच्छा काम करना चाहिए (कोर्स के बाद आप अपने गंदे कक्षा को साफ कर लें)। – BalusC