Обычно вы не используете сервлет для генерации вывода HTML. Вы обычно используете JSP / EL для этого. Использование out.write
и консорт для потоковой передачи содержимого HTML считается плохой практикой. Лучше использовать атрибуты запроса.
Например:
protected void doGet(HttpServletRequest request, HttpServletResponse response) {
Object data = "Some data, can be a String or a Javabean";
request.setAttribute("data", data);
request.getRequestDispatcher("/WEB-INF/page.jsp").forward(request, response);
}
Отобразите это в файле web.xml на <url-pattern>
, например, /page
. Поместите JSP в /WEB-INF
, чтобы предотвратить прямой доступ. Затем в JSP вы можете использовать EL ( Expression Language ) для доступа к атрибутам области:
<p>The data from servlet: ${data}</p>
Позвоните сервлету по http://example.com/context/page
. Просто как тот. Таким образом, вы управляете выводом и представлением в одном месте, JSP.