Я пытаюсь отправить обработчик запросов сервлета на процессор JSP и захватить его содержимое.
Я предоставляю экземпляры-оболочки для ServletRequest и ServletResponse, они реализуют соответствующие интерфейсы HTTPServletRequest / -Responseпоэтому они должны быть заменой.В настоящее время все методы передаются исходному объекту запроса сервлета (я планирую вскоре изменить некоторые из них).Дополнительно я ввел несколько новых методов.(Если вы хотите увидеть код: http://code.google.com/p/gloudy/source/browse/trunk/gloudyPortal/src/java/org/gloudy/gloudlet/impl/RenderResponseImpl.java)
HttpServletResponse использует свои собственные выходные потоки для захвата вывода.
Когда я пытаюсь вызвать
request.getRequestDispatcher("/WEB-INF/views/test.jsp").include(request, response);
С моими обертками запросов и ответов метод возвращается, и контент не был захвачен. Когда я пытался передать исходный объект запроса, он работал! Но это не то, что мне нужно в долгосрочной перспективе ...
request.getRequestDispatcher("/WEB-INF/views/test.jsp").include(request.getServletRequest(), response);
Это работает. GetservletRequest () возвращает исходный запрос, заданный контейнером сервлета.
Кто-нибудь знает, почему это не работает с моими обертками?
Обновление: я пытаюсь это сделать в Googleсреда разработки приложений, использующая реализацию geronimo для контейнера сервлета IIRC