2012-08-02 24 views
5

गतिशील वेब परियोजना में मेरे पास है - default.html पेजलिंक JSP को

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<link rel="stylesheet" href="./Styles/Site.css" type="text/css" /> 
<title>Create new customer</title> 
</head> 
<body> 
    <a href="\WEB-INF\forms\CustomerMenu.jsp">Test new</a> 

</body> 
</html> 

मैं भी CustomerMenu.jsp पेज है -

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<link rel="stylesheet" href="./Styles/Site.css" type="text/css" /> 
<title>Create new customer</title> 
</head> 
<body> 
    // Table .. 
</body> 
</html> 

पृष्ठों पदानुक्रम स्नैपशॉट के रूप में है -

enter image description here

जब मैं default.html में लिंक पर प्रेस मैं त्रुटि संदेश मिल

- HTTP Status 404 - 

-------------------------------------------------------------------------------- 

type Status report 

message 

description The requested resource() is not available. 

उत्तर

9

/WEB-INF फ़ोल्डर में फ़ाइलें एक सामने नियंत्रक servlet या <jsp:include> जो या तो एक RequestDispatcher#forward() या RequestDispatcher#include() की तरह एक विशिष्ट टैग का उपयोग किए बिना सार्वजनिक रूप से सुलभ नहीं हैं।

यदि आपको यूआरएल द्वारा सीधे तक पहुंचने की आवश्यकता है, तो आपको /WEB-INF फ़ोल्डर में जेएसपी नहीं रखना चाहिए। यह /WEB-INF फ़ोल्डर

WebContent 
|-- forms 
| |-- CreateNewCustomer.html 
| |-- CustomerMenu.html 
| `-- CustomerMenu.jsp 
|-- WEB-INF 
: : 

बाहर रखो और उसके अनुसार लिंक को ठीक।

<a href="forms/CustomerMenu.jsp">Test new</a> 
+0

बस बलुससी का एक एम्पिसिस कहता है,/वेब-कंटेनर के हिस्से के रूप में संरक्षित एक/WEB-INF फ़ोल्डर और यही कारण है कि सभी वेब संपत्तियां-images, css, js, ...- को शामिल नहीं किया गया है। –

+0

@ बालससी, वेबकंटेंट में फ़ोल्डर को "फॉर्म" कहा जाना चाहिए? – URL87

+1

नहीं। यह वही था जब आप * मूल रूप से इसे बुलाते थे। मैंने बस इसे छेड़छाड़ की। मैंने जो कुछ किया वह फ़ोल्डर को सही जगह पर ले जा रहा था। जब तक यह सार्वजनिक रूप से सुलभ हो, तब तक आप जो भी चाहें उसका नाम/संरचना कर सकते हैं। आप इसे पूरी तरह से छुटकारा पा सकते हैं और बस अपनी फाइल सीधे रूट फ़ोल्डर ('वेबकंटेंट' फ़ोल्डर में डाल सकते हैं, जहां 'default.html' फ़ाइल भी बैठी है)। – BalusC

1

WEB-INF फ़ोल्डर बाहर पहुंच योग्य नहीं है। आपको या तो WEB-INF के बाहर jsp को स्थानांतरित करने की आवश्यकता होगी या jsp पर अग्रेषित करने के लिए आगे अनुरोध का उपयोग करें।