2012-02-02 12 views
6

मैं एक Maven परियोजना है कि मैं घाट का उपयोग करके चलाए हैं:जेटी प्रोजेक्ट में एचटीएमएल/सीएसएस/जावास्क्रिप्ट जैसी स्थिर फाइलों को स्टोर करने के लिए कहां?

$ mvn run:jetty 

मेरे परियोजना में मैं HTML, सीएसएस, जावास्क्रिप्ट की तरह मेरे स्थिर फ़ाइलों को संग्रहीत करने दिया जाना चाहिए, छवियों?

मेरे लेआउट एक सरल वेब एप्लिकेशन मेहराब प्रकार उपयोग कर रहा है:

/src/main/java/webapp/web-inf/views/ 

मैं बस वहाँ जैसे नाम का एक फ़ोल्डर बनाना चाहिए 'संपत्ति'?

और फिर मेरे दृश्य पृष्ठ /assets फ़ोल्डर को किसी भी तरह संदर्भित करेंगे? मैं उलझन में के रूप में क्या पथ के लिए मैं अपने HTML पृष्ठों में इस्तेमाल करेगा की तरह छवि के संदर्भ के कर रहा हूँ:

/assets/images/logo.png 

उत्तर

17

यह इतना एक जेट्टी प्रश्न के रूप में यह एक सामान्य जावा webapp सवाल यह है कि नहीं है। यदि आप उन्हें सीधे सेवा करने की योजना बना रहे हैं (जैसे * .css, * .css, images, आदि), उन्हें WEB-INF से ऊपर रखें लेकिन अपने डॉक्रूट के नीचे रखें। जावा WebApps सभी निम्न मूल निर्देशिका संरचना हैं।

<docroot> में
<docroot> 
    +WEB-INF/ 
    +lib/ 
    +classes/ 

कुछ भी सीधे सीधे http के माध्यम से पहुंचा जा सकता है। कुछ भी WEB-INF और नीचे नहीं है। एक पृष्ठ (index.jsp) के साथ एक बहुत ही सरल वेबपैप, एक छवि निर्देशिका में एक छवि, और इसकी कॉन्फ़िगरेशन फ़ाइल (web.xml) इस तरह दिखेगी।

index.jsp 
images/bob.jpg 
WEB-INF/ 
    web.xml 
    lib/ 
    classes/ 

index.jsp में आप bob.jpg संदर्भ सकता है की तरह ...

<img src="images/bob.jpg"/> 
+0

आपने लिखा 'कुछ भी सीधे पहुंच योग्य है', क्या आपका मतलब डॉक्रूट में था? – Blankman

+0

@ ब्लैंकमैन हां। डॉक्रूट में कुछ भी सीधे परोसा जा सकता है। वेब-आईएनएफ और नीचे कुछ भी नहीं कर सकता है। –

0

सामान्य जवाब है - अपने वेब आवेदन की जड़ webapp है। गतिशील संसाधन (जेएसपी पेज या फ्रीमार्कर टेम्पलेट्स के रूप में) वेब-इंफ/उपफोल्डर में बेहतर होगा (वे क्लासलोडर के माध्यम से पहुंच योग्य हैं लेकिन प्रत्यक्ष ब्राउज़र अनुरोध से नहीं)।

6

यह जेटी प्रश्न के बजाय वास्तव में एक मेवेन प्रश्न है।

आमतौर पर आप webapp निर्देशिका Maven में आपकी छवियों (आदि) डाल - यानीsource/main/webapp/ (web-inf नहीं के तहत)

कैसे आप चीजों की संरचना के नीचे है कि आप पर निर्भर है, लेकिन यह ज्यादातर पर कैसे निर्भर करेगा आप जिस सामग्री को शामिल करने की उम्मीद कर रहे हैं, और आप कैसे सोचते हैं कि इसे व्यवस्थित करना सबसे अच्छा है।

source/main/webapp/assets/images ठीक है, लेकिन source/main/webapp/images या source/main/webapp/static/ है।

फिर, अपने एचटीएमएल के भीतर, आप webapp बिट के नीचे जो भी पथ डालते हैं, उसका उपयोग करके छवियों का संदर्भ लें।

+0

इसलिए मैंने वेबपैप फ़ोल्डर के अंदर test.html जोड़ा, एमवीएन क्लीन इंस्टॉल चलाया, एमवीएन जेटटी: रन और यह कहता है कि /test.html के लिए कोई मैपिंग नहीं मिली है, मैं ब्राउज़ कर रहा हूं http://127.0.0.1:8080/test.html – Blankman

+0

I मेरे index.jsp से एक छवि का संदर्भ दिया, छवि या तो प्रस्तुत नहीं किया था। – Blankman