2015-05-25 4 views
5

एक अजाक्स अनुरोध के जवाब के रूप में, मैं अपने जावा प्रोग्राम से संकुचित i.e. gzipped JSON भेजना चाहता हूं। मुझे पता है, मुझे प्रतिक्रिया हेडर में सामग्री-एन्कोडिंग को gzip करने की आवश्यकता होगी, लेकिन क्या मुझे बस इतना करना है?जावा से अजाक्स अनुरोध के जवाब के रूप में मैं संपीड़ित (gzip) JSON कैसे भेज सकता हूं?

उत्तर

1

आपके इनपुट के लिए धन्यवाद दोस्तों। मैंने इसे काम करने के लिए निम्नलिखित का उपयोग किया।

अपने आवेदन web.xml में, निम्न फिल्टर कहा:

<filter> 
    <filter-name>GZipFilter</filter-name> 
    <filter-class> org.mortbay.servlet.GzipFilter</filter-class> 
    <init-param> 
     <param-name>mimeTypes</param-name> 
     <param-value>application/json</param-value> 
    </init-param> 
</filter> 

<filter-mapping>  
    <filter-name>GZipFilter</filter-name> 
    <url-pattern>*.data</url-pattern> 
</filter-mapping> 

और servlet.xml में DataViewController सेम के लिए निम्न सेम संपत्ति गयी।

<beans:property name="contentType" value="application/json" /> 
1

आप यह भी सुनिश्चित है कि क) अपने ग्राहक (ब्राउज़र या एप्लिकेशन) इस gzip एन्कोडिंग स्वीकार करता है और यह ख) आपके सर्वर (अपने जावा आवेदन के लिए कंटेनर के साथ सौदा कर सकते हैं बनाने के लिए द्वारा gzipped जवाब भेजना कॉन्फ़िगर किया गया है की आवश्यकता होगी) चूक। यदि सर्वर को gzipped प्रतिसाद भेजने के लिए कॉन्फ़िगर किया गया है, तो सामग्री-प्रकार शीर्षलेख सर्वर द्वारा स्वयं ही सेट किया जाएगा।

0

सामग्री-एन्कोडिंग हेडर सेट करने के अलावा, आपके सर्वर साइड कोड को भी प्रतिक्रिया को gzip करना चाहिए। आप GZIPResponseWrapper.java पर एक नज़र डाल सकते हैं।

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