2011-11-01 10 views
5

मैं जेएसपी पेज को एक सर्वलेट से रीडायरेक्ट करना चाहता हूं। सभी जेएसपी पृष्ठ Web Content के अंतर्गत हैं। under Web-INF नहीं। मुझे जेएसपी पृष्ठों को कॉल करने में समस्या है। मुझे 404 त्रुटियां मिलीं। पथ के साथ समस्या।सर्वोलेट से jsp रीडायरेक्ट RequestPispatcher

मैं वेब सामग्री के तहत जेएसपी पेज कैसे कॉल कर सकता हूं?

ServletContext context = getServletContext(); 
       RequestDispatcher dispatcher = context.getRequestDispatcher("/thankYou.jsp"); 
       dispatcher.forward(request,response); 

आगे धन्यवाद।

समस्या हल हो गई!

+2

मैंने इसे इस अनुरोध डिस्पैचर अनुरोध डिस्पैचर की तरह हल किया; \t \t \t \t अनुरोध डिस्पैचर = request.getRequestDispatcher ("/ thankYou.jsp"); \t \t \t \t अनुरोध डिस्पैचर .forward (अनुरोध, प्रतिक्रिया); – kitokid

उत्तर

13

मैं इस तरह RequestDispatcher का उपयोग कर समस्या हल:

RequestDispatcher requestDispatcher; 
requestDispatcher = request.getRequestDispatcher("/thankYou.jsp"); 
requestDispatcher.forward(request, response); 
7

एक थोड़ा क्लीनर इस कोड को लिखने के लिए तरीका है:

request.getRequestDispatcher("/thankyou.jsp").forward(request, response); 
0

उपयोग SendDirect अगर आप JSP पृष्ठों के साथ काम करना चाहते हैं

response.sendRedirect("/thankyou.jsp"); 

यह RequestDispatc से उपयोग करने के लिए सरल चीज है वह जो DoPost() के साथ काम नहीं करती है।

+0

बेशक यह नहीं है - एक POST अनुरोध "विजुअल आउटपुट" के साथ भेजा जाने वाला नहीं है, जिसे क्लाइंट को वापस भेजा जाता है। लेकिन आप तब जेएसपी पर रीडायरेक्ट नहीं करते हैं, लेकिन सर्वलेट के लिए मैप किए गए पथ पर (इसलिए ग्राहक को फिर से जीईटी के माध्यम से क्लाइंट द्वारा अनुरोध किया जाता है)। – UniversE

+0

अनुरोध प्रेषक के साथ हम अगले पृष्ठ पर एक मध्यवर्ती पृष्ठ से अनुरोध और प्रतिक्रिया ऑब्जेक्ट अग्रेषित कर सकते हैं, जो आपके रास्ते से संभव नहीं है। –

0

प्रतिक्रिया ऑब्जेक्ट का उपयोग करके 'sendRedirect()' विधि का उपयोग करने का बेहतर तरीका।

आप की तरह

response.sendRedirect("./newpage.jsp"); 

इस बारे में अपने 'newpage.jsp पृष्ठ पर नियंत्रण भेज देंगे कर सकते हैं।

+0

नहीं, यह परम गलत तरीका है। यह क्लाइंट को HTTP 302 भेज देगा और इसे जेएसपी पेज पर रीडायरेक्ट करेगा, जो सर्वलेट को बेकार बना देता है। यदि आप अपना जेएसपी "वेब-आईएनएफ/व्यू" निर्देशिका में डालते हैं उदा। यह वैसे भी काम नहीं करेगा। – UniversE

0

यह त्रुटि तब होती है जब आपको अपने जेएसपी के जावा स्क्रिप्टलेट में कोई त्रुटि होती है जिसे आपने अपना अनुरोध अग्रेषित कर दिया है।
उदाहरण के लिए मैं <% request.getAttribute ("user") पर कॉल कर रहा था; %> जबकि समस्या हल हो गई जब मैंने <% अनुरोध का उपयोग किया .getParameter ("user")%>

संबंधित मुद्दे