Java: Русские буквы и не только…
| Категория реферата: Рефераты по информатике, программированию
| Теги реферата: диплом купить, реферат мыло
| Добавил(а) на сайт: Сила.
Предыдущая страница реферата | 7 8 9 10 11 12 13 14 15 16 17 | Следующая страница реферата
В применении метода request.setCharacterEncoding() есть одна существенная тонкость - он должен быть применен до первого обращения к запросу за данными (например request.getParameter()). Если Вы используете фильтры, которые обрабатывают запрос до того как он приходит в сервлет, есть ненулевая вероятность того, что в одном из фильтров может произойти чтение какого-нибудь параметра из запроса (например для авторизации) и request.setCharacterEncoding() в сервлете не сработает.
Потому идеологически более правильно написать фильтр, устанавливающий кодировку запроса. При этом он должен стоять первым в цепочке фильтров в web.xml.
Пример такого фильтра:
import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class CharsetFilter implements Filter
{
// кодировка
private String encoding;
public void init(FilterConfig config) throws ServletException
{
// читаем из конфигурации
encoding = config.getInitParameter("requestEncoding");
// если не установлена - устанавливаем Cp1251
if( encoding==null ) encoding="Cp1251";
}
public void doFilter(ServletRequest request, ServletResponse response, FilterChain next)
throws IOException, ServletException
{
request.setCharacterEncoding(encoding);
next.doFilter(request, response);
}
public void destroy(){}
Рекомендуем скачать другие рефераты по теме: курсовые работы, реферат государственный.
Категории:
Предыдущая страница реферата | 7 8 9 10 11 12 13 14 15 16 17 | Следующая страница реферата