क्या इस वेबपैप के लिए सिर्फ एक वेब साइट/संदर्भ को एक पुनर्लेख फ़ाइल निर्दिष्ट करने का कोई तरीका है? वर्तमान में यह काम करने का एकमात्र तरीका कमांड लाइन के माध्यम से होता है जब आप इसे शुरू करते हैं। मैं शायद override.xml फ़ाइल में या यहां तक कि संदर्भ xml फ़ाइल में एक सेटिंग सोच रहा था।क्या आप Jetty में प्रति वेब ऐप jetty-rewrite.xml फ़ाइलों को असाइन कर सकते हैं?
उत्तर
context.xml तो आप का उपयोग deployables आप अनुप्रयोग विशिष्ट संदर्भ एक्सएमएल में RewriteHandler नियम एकीकृत कर सकते हैं।
उदाहरण: इस घाट-वितरण में पाया ${jetty.home}/contexts/test.xml
के स्थान पर context.xml है। यह एक नियम जोड़ता है जो सभी अनुरोधों के जवाब पर बस एक कुकी (विज़िट = हां) जोड़ता है।
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">
<Configure class="org.eclipse.jetty.server.handler.ContextHandler">
<Set name="contextPath">/</Set>
<Set name="handler">
<New id="Rewrite" class="org.eclipse.jetty.rewrite.handler.RewriteHandler">
<Set name="handler">
<New class="org.eclipse.jetty.webapp.WebAppContext">
<Set name="contextPath">/</Set>
<Set name="war"><SystemProperty name="jetty.home" default="."/>/webapps/test.war</Set>
<Set name="extractWAR">true</Set>
<Set name="copyWebDir">false</Set>
<Set name="defaultsDescriptor"><SystemProperty name="jetty.home" default="."/>/etc/webdefault.xml</Set>
<Set name="overrideDescriptor"><SystemProperty name="jetty.home" default="."/>/contexts/test.d/override-web.xml</Set>
</New>
</Set>
<Set name="rewriteRequestURI">true</Set>
<Set name="rewritePathInfo">false</Set>
<Set name="originalPathAttribute">requestedPath</Set>
<!-- add a cookie to each path visited -->
<Call name="addRule">
<Arg>
<New class="org.eclipse.jetty.rewrite.handler.CookiePatternRule">
<Set name="pattern">/*</Set>
<Set name="name">visited</Set>
<Set name="value">yes</Set>
</New>
</Arg>
</Call>
</New>
</Set>
</Configure>
सत्यापित करने के लिए कि इस नियम काम करता है, घाट, गोटो http://localhost:8080/
शुरू करें और फिर "सत्र" परीक्षण घटक का उपयोग, आप देखेंगे कि visited=true
शीर्ष पर एक कुकी के रूप में दिखाई जाएगी।
_ "आप context.xml deployables का उपयोग करते हैं" _ - मुझे लगता है कि इसका मतलब क्या है पता नहीं है, लेकिन मैं प्रत्येक व्यक्ति के संदर्भ '{घाट} में परिभाषित/संदर्भों/{नाम} है .xml' - मैं एक परीक्षण की जरूरत नहीं है .xml या किसी भी परीक्षण घटक। –
मैं (स्थानांतरित सेट अपने उदाहरण में संबंधित नया टैग करने के लिए WebAppContext विन्यस्त से आदेश द्वारा) एक मौजूदा संदर्भ config को यह उदाहरण लागू करने का प्रयास किया, लेकिन वह 'org.eclipse.jetty.server.Dispatcher $ पर एक StackOverflowError में हुई ForwardAttributes.setAttribute (Dispatcher.java:410) '([पूर्ण ट्रेस] (http://pastebin.com/vZEvmDRj)) जब तक पहुँचने के लिए'/'कोशिश कर - ऐसा लगता है कि यह काम करता है (प्रतिक्रिया के साथ सेट-कुकी शीर्ष लेख भी शामिल है) एक विशिष्ट फ़ाइल पर जाकर। –
मुझे नहीं पता कि यह जेटी बग है, या कुछ गलत कॉन्फ़िगरेशन या कुछ और वजह से? इस हैंडलर रैपिंग सामान कैसे काम करता है इसका एक विवरण शायद उपयोगी होगा। (इस मुद्दे को डिबग करने के लिए कोशिश कर रहा है, मैं शीर्ष स्तर के contextPath बाहर ले - यह कुछ भी बदलने की प्रकट नहीं किया था, इसलिए यदि यह आवश्यक है मैं सोच रहा हूँ) –
- 1. आप एंड्रॉइड ऐप की समीक्षा प्रति कैसे बना सकते हैं?
- 2. क्या आप एचटीएमएल 5 वेब ऐप से मूल कैमरा ऐप लॉन्च कर सकते हैं?
- 3. क्या आप गतिशील रूप से अपने कोको एप्लिकेशन में CFBundleDocumentTypes असाइन कर सकते हैं?
- 4. क्या आप पाइथन में __builtins__ को पुन: असाइन करने से पुनर्प्राप्त कर सकते हैं?
- 5. सी में आप क्या नहीं कर सकते हैं जिसे आप उद्देश्य-सी में कर सकते हैं?
- 6. क्या आप सीमा-दाएं को एक छवि असाइन कर सकते हैं?
- 7. क्या आप वेब पेज से डेटा को Flurry Analytics में सबमिट कर सकते हैं?
- 8. क्या आप एक्सकोड 4 में प्रति फ़ाइल कंपाइलर झंडे को बदल सकते हैं?
- 9. क्या आप अंतर निर्दिष्ट कर सकते हैं ./,../,~/ ASP.NET में?
- 10. आप वेब पेज को प्रिंटर पर ब्राउज़र विंडो में क्या कुछ अलग कर सकते हैं?
- 11. क्या आप आईओएस ऐप में वैश्विक रूप से रोटेशन को अक्षम कर सकते हैं?
- 12. Jetty
- 13. ServletContext प्रति वेब-ऐप या प्रति JVM प्रति एक है?
- 14. क्या आप शट डाउन फ़ंक्शन को अनधिकृत कर सकते हैं?
- 15. प्रोटोटाइप विरासत: क्या आप ऑब्जेक्ट.क्रेट को चेन कर सकते हैं?
- 16. क्या आप एसएसएच को टेलनेट कर सकते हैं?
- 17. क्या आप setRootViewController को एनिमेट कर सकते हैं?
- 18. क्या आप web.config को संशोधित कर सकते हैं और एएसपी.NET एप्लिकेशन को पुनरारंभ नहीं कर सकते?
- 19. प्रमाणीकरण - क्या आप कुकीज़/सत्र का उपयोग कर सकते हैं?
- 20. क्या आप XML फ़ाइलों को बनाने/संशोधित करने के लिए चींटी का उपयोग कर सकते हैं?
- 21. चींटी Task.init() विधि में आप क्या कर सकते हैं?
- 22. क्या आप # परिभाषित स्ट्रिंग अक्षर में परिभाषित कर सकते हैं?
- 23. क्या आप कई टेम्पलेट्स में डेटा साझा कर सकते हैं?
- 24. क्या आप IronPython में .NET ऑब्जेक्ट टाइप कर सकते हैं?
- 25. क्या आप एफ # में एक ऑपरेटर (***) परिभाषित कर सकते हैं?
- 26. आप वेब पेज क्लाइंट को डेटा कैसे दबा सकते हैं?
- 27. क्या आप एसक्यूएल में "शाब्दिक" टेबल परिभाषित कर सकते हैं?
- 28. क्या आप एंड्रॉइड प्ले स्टोर ऐप को हटा सकते हैं और पैकेज नाम का उपयोग कर सकते हैं?
- 29. क्या आप एक एएसपी.NET 1.1 वेब ऐप से .NET 2.0 COM ऑब्जेक्ट को कॉल कर सकते हैं?
- 30. क्या आप यूनिट टेस्ट ओबस्कस्केटेड कोड कर सकते हैं?
https://github.com/eclipse/jetty.project/blob/master/jetty-rewrite/src/main/java/org/eclipse/jetty/rewrite/handler/ पर ऐसा करने से संबंधित कुछ हो सकता है RewriteHandler.java लेकिन यह स्पष्ट नहीं है। –