Отправка запроса на действие с использованием Ajax, тип результата - json. Используйте плагин JSON для Struts2. Результат верный, но занимает очень много времени.
Ниже приведено содержание 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) и строку. Я получил предупреждение о содержимом результата из JavaScript на странице клиента, и <param name="excludeProperties">
работает.
Результат json:
{"msg": null, "showList": [{"id": 1, "searchDes": "淀粉 中 的 蛋白质 含量> = 11"}, {"id": 2, "searchDes": "豆类 中的 蛋白质 含量> = 11 "}, {" id ": 3," searchDes ":" 禽类 中 的 蛋白质 含量> = 11 "}]}
Сначала я использовал <result type="json"/>
. Я думаю, что причиной длительного времени может быть слишком большой объект. Затем я попытался @JSON (serialize = false) десериализовать методы get, чтобы эти методы не выполнялись в процессе преобразования из java в json. Наконец я использовал excludeProperties. Всем им удается вернуть меньший объект, но не удалось сократить время. Время отклика обычной страницы JSP хорошее
Проблема:
При запуске проекта на локальном хосте время отклика короткое.
При работе на удаленном сервере ответ на запрос клиента занимает более 10 секунд. Операционная база данных работает очень быстро, кажется, что отправка результата с сервера в браузер занимает много времени.
Когда результат нулевой, время ответа короткое, даже с удаленного сервера.
Как мне сократить время ответа?