Tomcat servlet mapping error 404 -
इस सवाल का पहले से ही एक उत्तर है: < / P>
- 1 उत्तर
क्षमा करें अगर यह एक सामान्य है सवाल है, लेकिन मैं पागल हो रहा हूँ मैं जेएसपी विकास के साथ शुरू कर रहा हूं, उबंटू सर्वर पर टॉमकेट का इस्तेमाल कर रहा हूं
मेरे पास सर्वर पर निम्न सामग्री है:
-
वेबएप डायरेक्टरी है:
/ var / lib / tomcat6 / webapps /
- में
webapps मैंने संदर्भ-रूट बना दिया है
हैलो / < / Code> निर्देशिका
हैलो / इसमें
index.html और
वेब-आईएनएफ /
वेब-आईएनएफ इसमें
web.xml और
classes / HelloServlet.class
यह
है Index.html :
& lt; html & gt; & LT; बॉडी & gt; HelloServlet अनुरोध करने के लिए क्लिक करें & Lt; फ़ॉर्म एक्शन = "/ हैलो / नरकॉर्ल्ड" विधि = "मिलें" & gt; & Lt; इनपुट प्रकार = "सबमिट करें" मान = "अनुरोध" / & gt; & Lt; / प्रपत्र & gt; & Lt; / body & gt; & Lt; / html & gt;
यह
WEB-INF / web.xml :
& lt;? Xml संस्करण = "1.0" एन्कोडिंग = " ISO-8859-1 "& gt; & Lt; web-app xmlns = "http://java.sun.com/xml/ns/j2ee" xmlns: xsi = "http://www.w3.org/2001/XMLSchema-instance" एक्सएसआई: स्कीमा स्थान = " Http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd "संस्करण =" 2.5 "& gt; & LT; सर्वलेट & gt; & LT; सर्वलेट-नाम & gt; परीक्षण & lt; / सर्वलेट-नाम & gt; & LT; सर्वलेट श्रेणी & gt; HelloServlet & lt; / सर्वलेट श्रेणी & gt; & Lt; / सर्वलेट & gt; & LT; सर्वलेट-मैपिंग & gt; & LT; सर्वलेट-नाम & gt; परीक्षण & lt; / सर्वलेट-नाम & gt; & LT; यूआरएल पैटर्न & gt; / हैलो / HelloWorld & lt; / यूआरएल पैटर्न & gt; & Lt; / सर्वलेट-मैपिंग & gt; & Lt; / वेब एप्लिकेशन & gt;
और अंत में यह
HelloServlet की स्रोत फ़ाइल है:
// HelloServlet.java, एक सरल हैलो वर्ल्ड सर्वलेट। आयात javax.servlet। *; आयात javax.servlet.http.http। *; Import java.io * *; सार्वजनिक वर्ग HelloServlet HttpServlet {संरक्षित शून्य doGet (HttpServletRequest अनुरोध, HttpServletResponse प्रतिक्रिया) बढ़ाता है ServletException फेंकता है, IOException {response.setContentType ("text / html"); PrintWriter आउटपुट स्ट्रीम = प्रतिक्रिया। गीला (); outputStream.println ( "& LT; html & gt;"); outputStream.println ( "& lt; शीर्ष & gt;"); Outputstream.println ("& lt; शीर्षक & gt; हैलो, विश्व! & Lt; / title & gt;"); outputStream.println ( "& lt; / head & gt;"); outputStream.println ( "के & lt; body & gt;"); Outputstream.println ("हैलो, दुनिया! यह मेरा पहला सर्वलेट है!"); outputStream.println ( "& lt; / body & gt;"); outputStream.println ( "& lt; / html & gt;"); outputStream.close (); }}
समस्या यह है कि ग्राहक पक्ष पर, केवल
http: // localhost / hello / (अर्थात
index.html पृष्ठ) काम करता है अगर मैं फॉर्म-सबमिट बटन पर क्लिक करता हूं, तो मुझे एचटीसी 404 त्रुटि मिलती है (संसाधन उपलब्ध नहीं है)।
संभवत: सर्वलेट-मैपिंग में एक फार्म है, और / या
web.xml में , लेकिन मुझे वाकई इसे खोजने में मदद की ज़रूरत है।
& lt; url- पैटर्न & gt; / हैलो / HelloWorld & lt; / यूआरएल पैटर्न & gt;
आपको सर्वोलेट के यूआरएल पैटर्न में संदर्भ पथ को शामिल नहीं करना चाहिए। यह संदर्भ रूट से पहले से ही संबंधित है।
इसे से छुटकारा पाएं।
& lt; url-pattern & gt; / helloworld & lt; / url-pattern & gt;
असंबंधित कंक्रीट की समस्या के लिए, एक सर्वलेट में HTML कोड लिखना एक बहुत बुरा व्यवहार है। उस जेएसपी के लिए इस्तेमाल किया जाना चाहिए। यह भी देखें।
- में
-
Comments
Post a Comment