2013-05-02 2 views
0

Я хотел бы прочитать jsp-страницу из своего приложения и сохранить ее в файле - это вывод, а не сам код. Кроме того, мое приложение имеет базовую аутентификацию (имя пользователя + пароль).Чтение вывода jsp-страницы из моего приложения

Если бы это был сервлет, я мог бы просто получить доступ к этому методу doGet.

Одно решение, которое я нашел, - this - Открыть URL-соединение, предоставить данные аутентификации и прочитать поток.

Мне интересно, есть ли другой вариант, возможно, получить доступ к сгенерированному сервлету в веб-контейнере, а затем использовать отражение, чтобы вызвать класс doGet.

+0

Если вы хотите сделать это для ведения журнала, это может вам помочь: http://stackoverflow.com/questions/2158647/logging-response-body-html-from-httpservletresponse-using-spring-mvc-handlerin – Uooo

ответ

1

Вы можете предварительно скомпилировать JSP, а затем вызвать сервлет (вам не обязательно использовать отражение). Если вы попытаетесь вызвать сервлет JSP без предварительной компиляции, он может еще не выйти (потому что обычно сервер только компилирует JSP после его первого вызова).

Чтобы предварительно скомпилировать JSP, проверьте документацию на веб-сервере.

Лично я думаю, что вам лучше использовать URL-соединение. Предварительно скомпилированные JSP не переносимы (как вам нужно сделать это по-другому для каждого веб-сервера).

Редактировать

Можно также использовать метод RequestDispatcher.include() с обернутым объектом ответа, как описано в this answer.

Смежные вопросы