A.3 Сервлет/Servlet для Откомпилированной JSP-Страницы
В качестве альтернативы мы покажем, как можно откомпилировать JSP-страницу в Servlet-класс для запуска на прогон в JSP-контейнере.
JSP-страница компилируется в Сервлет с некоторым зависящим от реализации именем _jsp_HelloWorld_XXX_Impl. Servlet-код, зависящий только от API JSP 1.2 и Servlet 2.3, таков:
imports javax.servlet.*;
imports javax.servlet.http.*;
imports javax.servlet.jsp.*;
class _jsp_HelloWorld_XXX_Impl
extends_PlatformDependent_Jsp_Super_Impl {
public void _jspInit() {
// ...
}
public void jspDestroy() {
// ...
}
static JspFactory_factory= JspFactory.getDefaultFactory();
public void _jspService(HttpServletRequest request,
HttpServletResponse response)
throws IOException;
{
Object page= this;
HttpSessionsession= request.getSession();
ServletConfigconfig= getServletConfig();
ServletContextapplication = config.getServletContext();
PageContextpageContext
= _factory.getPageContext(this,
request,
response,
(String)NULL,
true,
JspWriter.DEFAULT_BUFFER,
true
);
JspWriterout= pageContext.getOut();
// контекст страницы создаёт начальный JspWriter "out"
try {
out.println("<p>");
out.println("Hello World");
out.println("</p>");
} catch (Exception e) {
pageContext.handlePageException(e);
} finally {
_factory.releasePageContext(pageContext);
}
}
}