Ajaxを使用してアクションにリクエストを送信すると、結果のタイプはjsonになります。struts2にはjsonプラグインを使用します。結果は正しいですが、非常に長い時間がかかります。
以下はstruts.xmlの内容です。
<package name="FoodCompositionSearchajax" extends="json-default">
<action name="addSearchCondition" class ="com.fmOnline.action.FmzxMenuCompositionSearchAction" enter code here
method="addSearchCondition">
<result name="success" type="json">
<param name="excludeProperties">
showList\[\d+\]\.foodStr,showList\[\d+\]\.nourishStr,
showList\[\d+\]\.searchFunction,showList\[\d+\]\.num1,
showList\[\d+\]\.num2,showList\[\d+\]\.danwei,
showList\[\d+\]\.nourishname,showList\[\d+\]\.resultmap,
dataList, foodList, foodStr, map, nourishList, nourishStr,
num1, num2, paramList, searchDes, searchFun
</param>
</result>
</action>
</package>
は<param name="includeProperties">
機能しないため、<param name="excludeProperties">
代わりに使用してください。
結果のjsonには、リスト(showList、2つのString属性が含まれ、要素の数は1から6まで変化します)とStringが含まれます。クライアントページのjavascriptからの結果コンテンツと<param name="excludeProperties">
動作を警告しました。
jsonの結果は次のとおりです。 :"豆クラス中的タンパク質作っ>= 11"}、{"id":3、 "searchDes":"バイククラス中的タンパク質多洲>=11"}]}
最初はを使用し<result type="json"/>
ました。長い時間の原因は大きすぎる物かもしれませんが。次に、@ JSON(serialize = false)を実行してgetメソッドを逆シリアル化しようとしました。これにより、これらのメソッドはjavaからjsonへの変換プロセスで実行されなくなります。最後に、excludePropertiesを使用しました。それらはすべて小さなオブジェクトを返すことに成功しましたが、時間を短縮することはできませんでした。通常のjspページの応答時間は良好です
問題:
ローカルホストでプロジェクトを実行すると、応答時間が短くなります。
リモートサーバーで実行している場合、クライアント側で応答するのに10秒以上かかります。データベースの操作は非常に高速で、サーバーからブラウザに結果を送信するのに長い時間がかかるようです。
結果がnullの場合、リモートサーバーからでも応答時間は短くなります。
どうすれば応答時間を短縮できますか?