823237 文字の文字列があります。実際にはxmlファイルであり、テスト目的で、サーブレットからの応答として返したいと考えています。
考えられる限りのことはすべて試しました
1)文字列全体で定数を作成します...この場合、Eclipseは文句を言います(サーブレットクラス名の下に赤い線があります)-
The type generates a string that requires more than 65535 bytes to encode in Utf8 format in the constant pool
2) 文字列全体を 20 個の文字列定数に分割し、次のout
ようにオブジェクトに直接書き込みます。
out.println( CONSTANT_STRING_PART_1 + CONSTANT_STRING_PART_2 +
CONSTANT_STRING_PART_3 + CONSTANT_STRING_PART_4 +
CONSTANT_STRING_PART_5 + CONSTANT_STRING_PART_6 +
// add all the string constants till .... CONSTANT_STRING_PART_20);
この場合...ビルドは失敗します..文句を言います..
[javac] D:\xx\xxx\xxx.java:87: constant string too long
[javac] CONSTANT_STRING_PART_19 + CONSTANT_STRING_PART_20);
^
3)xmlファイルを文字列として読み取り、out object
..に書き込むこの場合、私は得る
SEVERE: Allocate exception for servlet MyServlet
Caused by: org.apache.xmlbeans.XmlException: error: Content is not allowed in prolog.
最後に私の質問は...どうすればservlet
???からこのような大きな文字列を(応答として)返すことができますか?