Курсовая работа: Java: Русские буквы и не только…

// по умолчанию - единообразия тут нет

String requestEnc = "ISO-8859-1";

// Кодировка, установленная в броузере

String clientEnc = request.getParameter("charset");

if( clientEnc==null ) clientEnc="Cp1251";

// Получение параметра

String value = request.getParameter("value");

//

if( value!=null )

value = new String(value.getBytes(requestEnc),clientEnc);

...

JSP

Технология JSP (Java Server Pages) очень похожа на сервлеты. По сути дела сервер, при запросе в первый раз на лету генерит из jsp-страниц код сервлета, компилирует его и запускает его как обычный сервлет. Поэтому у JSP возникают схожие проблемы при работе с русскими буквами. Однако решаются они немного по другому. Есть три места где могут возникнуть трудности - русские буквы внутри самой jsp-страницы, в ответе клиенту и в запросе от клиента. Первые два решаются заданием в начале страницы тега page:

<%@page contentType="text/html;charset=Windows-1251" %>

Увидев эту директиву сервер понимает, что страница записана в указанной кодировке, и что в сгенерённый код надо добавить вызов response.setContentType() с указанным contentType. Если сервер поддерживает спецификацию Servlet 2.3, то он также добавит и вызов request.setCharacterEncoding() с нужной кодировкой, таким образом автоматом решая и третью проблему. Для более старых серверов для раскодирования параметров в запросе клиента надо применять ухищрения, аналогичные описанным в разделе по сервлетам.

Для примера, для того, чтобы настроить JSP-форум Jive для работы с русскими буквами надо откорректировать следующие файлы:

/jive/header.js

К-во Просмотров: 1384
Бесплатно скачать Курсовая работа: Java: Русские буквы и не только…