Как сохранить результат JSP в строке? - PullRequest
0 голосов
/ 22 марта 2010

Я хочу сохранить результат JSP в строке.

Например, я хочу иметь возможность вызывать такую ​​функцию, как:

String result = ProcessJsp("/jspfile.jsp");

Кроме того, это должно быть довольно эффективно.Выполнение URL-запроса к jsp и последующее его сохранение не будет работать, потому что я работаю на Google App Engine, и я не уверен, насколько медленным это будет, а также существует квота на количество выборок URL, которые вы можете сделать..

Как я могу это сделать?

Вот мои мысли о том, как это сделать, хотя я не уверен, что это сработает, и я надеюсь, что есть что-то более простое:

Делайте RequestDispatcher("/jspfile.jsp").include(hreq, hresp), но вместо того, чтобы помещать туда настоящий объект HttpResponse, вы помещаете свой собственный, где метод getWriter() возвращает что-то, что записывает в вашу строку или буфер памяти и т. Д.

1 Ответ

1 голос
/ 23 марта 2010

В комментарии вы заявляете, что ваша цель - кэширование частей страницы JSP. Я предполагаю, что вы используете динамические включения, а не запросы на стороне клиента (например, Ajax).

Если первое, лучшее решение - вместо того, чтобы что-то писать самостоятельно, - следовать инструкциям по интеграции EHCache в стек вашего сервера приложений. Или, если вы хотите что-то написать самостоятельно, выполните тот же процесс, но создайте свой собственный фильтр кэширования.

Если вы хотите кэшировать контент, к которому будет обращаться клиент, то я рекомендую установить веб-сервер (например, Apache с mod_cache) перед вашим сервером приложений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...