2017-08-10 26 views
5

में हम सर्वलेट में जोड़ लिया है सब UTF-8 वर्णों suppport करने के लिए फिल्टरऑटो माइम प्रकार की पहचान wildfly10

servletResponse.setContentType("text/html; charset=" + "UTF-8"); 
servletRequest.setCharacterEncoding(servletResponse.getCharacterEncoding()); 
इस वजह से

यह "पाठ \ html" सभी फ़ाइल प्रकारों के लिए और सीएसएस के लिए सामग्री प्रकार सेट ब्राउज़र और ब्राउज़र पर त्रुटि के साथ इसे सीएसएस लोड करने से इनकार करता है।

Resource interpreted as Stylesheet but transferred with MIME type text/html: 

लेकिन jboss 6 में काम करता है ऊपर मैं

<servlet-container name="default"> 
    <jsp-config mapped-file="false" development="true"/> 
    <websockets/> 
    <mime-mappings> 
     <mime-mapping name="css" value="text/css"/> 
     <mime-mapping name="msi" value="application/x-msi"/> 
    </mime-mappings> 
</servlet-container> 
स्टैंडअलोन-full.xml में

स्थापित करने की कोशिश की, लेकिन यह काम नहीं करता। यह स्वचालित रूप से फ़ाइल सामग्री प्रकारों की पहचान कैसे करता है?

+0

आपको ऐसा करने की आवश्यकता नहीं है - डिफ़ॉल्ट एन्कोडिंग यूटीएफ -8 है। मैं इसे सब कुछ हटा दूंगा क्योंकि सर्वर को आपके लिए इसे समझना चाहिए। – stdunbar

+0

@stdunbar अगर मैं इसे हटा देता हूं तो यह utf-8 वर्ण को सहेजने में विफल रहता है क्योंकि यह उस चरित्र को किसी अन्य चीज़ में संशोधित करता है – happy

उत्तर

1

आपका सर्वलेट फ़िल्टर वास्तव में सबसे अच्छा जवाब नहीं है सभी यूटीएफ -8 अक्षरों का समर्थन करने के लिए, जैसा कि आपने देखा है, यह विकल्प अजीब है लेकिन मैं इस पर चर्चा नहीं करूंगा क्योंकि यह आपका प्रश्न नहीं है।

तो, आप अपने सर्वलेट फिल्टर की आवश्यकता है, तो text/html के अलावा अन्य सामग्री के साथ बातचीत नहीं करने के लिए, बस एक सर्वलेट फिल्टर यूआरएल पैटर्न का उपयोग करें।

उदाहरण के लिए, अगर आप इस तरह एक सर्वलेट फ़िल्टर निर्धारण हो सकता है:

<filter> 
    <filter-name>MyServletFilter<filter-name> 
    <filter-class>[...]</filter-class> 
    <init-param> 
     [...] 
    </init-param> 
</filter> 

<filter-mapping> 
    <filter-name>MyServletFilter</filter-name> 
    <url-pattern>*.jsp</url-pattern> 
</filter-mapping> 
बेशक

, आपको लगता है कि इस पद्धति आपके गतिशील text/html सामग्री का उपयोग करने के लिए अपने निर्देशिका संरचना और अन्य साधनों का अनुपालन जाँच करने के लिए की जरूरत है।

इसलिए, http://myserver.com/myapp/myservlet/staticcontent/file.xls जैसे संसाधनों अपने विशिष्ट फिल्टर द्वारा बदल नहीं किया जाएगा।

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