Чтение онлайн

ЖАНРЫ

Технология XSLT

Валиков Алексей Н.

Шрифт:

// Выводим тело документа

out.println(" <body>");

// Выводим общую информацию о запросе

out.println(" <h1>General information</h1>");

out.println(" <table>");

// Выводим имя сервера

out.println(" <tr>");

out.println(" <td>Server name</td>");

out.println(" <td>" + request.getServerName + "</td>");

out.println(" </tr>");

//
Выводим порт сервера

out.println(" <tr>");

out.println(" <td>Server port</td>");

out.println(" <td>" + request.getServerPort + "</td>");

out.println(" </tr>");

// Выводим адрес запрашивающей стороны

out.println(" <tr>");

out.println(" <td>Remote address</td>") ;

out.println(" <td>" + request.getRemoteAddr + "</td>");

out.println(" </tr>");

// Выводим название протокола запроса

out.println(" <tr>");

out.println(" <td>Protocol</td>");

out.println(" <td>" + request.getProtocol + "</td>");

out.println(" </tr>");

// Выводим метод запроса

out.println(" <tr>") ;

out.println(" <td>Method</td>");

out.println(" <td>" + request.getMethod + "</td>");

out.println(" </tr>");

// Выводим URI запроса

out.println(" <tr>");

out.println(" <td>Request URI</td>");

out.println(" <td>" + request.getRequestURI + "</td>");

out.println(" </tr>");

// Выводим строку запроса

out.println(" <tr>");

out.println(" <td>Query String</td>");

out.println(" <td>" + request.getQueryString + "</td>");

out.println(" </tr>");

out.println(" </table>");

// Выводим параметры запроса

out.println(" <h1>Request parameters</h1>");

out.println(" <table>");

for (Enumeration e = request.getParameterNames;

e.hasMoreElements;) {

String name = e.nextElement.toString;

String[] values = request.getParameterValues(name);

for (int i=0; i < values.length; i++) {

out.println(" <tr>");

out.println(" <td>" + name + "</td>");

out.println(" <td>" + values[i] + "</td>");

out.println(" </tr>");

}

}

out.println(" </table>");

//
Выводим параметры HTTP-сессии

out.println(" <h1>Session parameters</h1>");

out.println(" <table>");

HttpSession session = request.getSession(true);

String[] names = session.getValueNames;

for (int i=0; i < names.length; i++) {

String name = session.getValueNames[i];

out.println(" <tr>");

out.println(" <td>" + name + "</td>");

out.println(" <td>" +

session.getValue(name).toString + "</td>");

out.println(" </tr>");

}

out.println(" </table>");

// Выводим cookies

response.addCookie(new Cookie("content", "apple jam"));

out.println(" <h1>Cookies</h1>");

out.println(" <table>");

Cookie[] cookies = request.getCookies;

for (int i=0; i < cookies.length; i++) {

out.println(" <tr>");

out.println(" <td>" + cookies[i].getName + "</td>");

out.println(" <td>" + cookies[i].getValue + "</td>");

out.println(" </tr>");

}

out.println(" </table>");

out.println(" </body>");

out.println("</html>");

// Закрываем выходящий поток

out.close;

 }

}

Результатом обращения к этому сервлету по URL вида

http://localhost/servlet/example?x=1&y=2&z=3&x=4&y=5&z=6

будет документ, аналогичный представленному на рис. 9.13.

Рис. 9.13. Результат обращения к сервлету

Несложно видеть, насколько жестко в этом сервлете закодирована презентация данных: для минимального изменения генерируемого документа придется в обязательном порядке изменять сам сервлет, что в современных системах может быть непозволительной роскошью, — все равно, что перебирать мотор для того, чтобы перекрасить автомобиль.

Поделиться с друзьями: