Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / com.sun.net.httpserver / 9 сообщений из 9, страница 1 из 1
05.09.2012, 06:59:48
    #37943744
Юрий321
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
com.sun.net.httpserver
всем привет.

вопрос про встроеный http сервер:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
    static class MyHandler implements HttpHandler {
        public void handle(HttpExchange t) throws IOException {
            String response = "Привет!";
            t.sendResponseHeaders(200, response.length());
            OutputStream os = t.getResponseBody();
            os.write(response.getBytes());
            os.close();
        }



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

если только ascii символы, то все нормально.

что не так, куда смотреть?
...
Рейтинг: 0 / 0
05.09.2012, 07:17:53
    #37943752
Kostya Ilyinov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
com.sun.net.httpserver
Юрий321,

public byte[] getBytes(String charsetName) ?
...
Рейтинг: 0 / 0
05.09.2012, 07:28:24
    #37943754
Юрий321
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
com.sun.net.httpserver
Kostya IlyinovЮрий321,

public byte[] getBytes(String charsetName) ?

первым делом попробовал os.write(response.getBytes("UTF-8"));

и еще
Headers h = t.getResponseHeaders();
h.add("Content-Type", "text/html; charset=utf-8");

эффект тот-же.

не хочется джетти наживлять, задача совсем примитив.
...
Рейтинг: 0 / 0
05.09.2012, 07:39:55
    #37943758
Kostya Ilyinov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
com.sun.net.httpserver
Юрий321,


Думаю юникод тут ни при чем - пробуйте 1251 ставить как параметр.
...
Рейтинг: 0 / 0
05.09.2012, 07:41:05
    #37943759
Kostya Ilyinov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
com.sun.net.httpserver
Kostya Ilyinov,

или iso-8859-5
...
Рейтинг: 0 / 0
05.09.2012, 07:45:36
    #37943760
Юрий321
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
com.sun.net.httpserver
Kostya IlyinovЮрий321,


Думаю юникод тут ни при чем - пробуйте 1251 ставить как параметр.

у меня тут в принципе не может быть не УТФ
пишу в линуксе, тестирую в нем же
я уже и забыл, в какой версии федоры был не утф.

причину блин нашел, response.length() отдает количество символов
а в случае УТФ количество символов не совпадает с количеством байтов в response.getBytes("UTF-8")
вот это да :)
...
Рейтинг: 0 / 0
05.09.2012, 07:49:07
    #37943763
Kostya Ilyinov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
com.sun.net.httpserver
Юрий321,

Класс. А че так рано работаете, али не на Руси-матушке?
...
Рейтинг: 0 / 0
05.09.2012, 07:49:50
    #37943766
Юрий321
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
com.sun.net.httpserver
Kostya IlyinovЮрий321,

Класс. А че так рано работаете, али не на Руси-матушке?

Красноярск, почти 12, скоро жрать пойдем!
...
Рейтинг: 0 / 0
05.09.2012, 07:51:22
    #37943769
Kostya Ilyinov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
com.sun.net.httpserver
Юрий321,

Ну тады приятного аппетита!
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / com.sun.net.httpserver / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]