powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Кракозябы при переходе из сервлета на jsp
25 сообщений из 54, страница 2 из 3
Кракозябы при переходе из сервлета на jsp
    #39444623
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Музаффар,
точно редирект не нужен, а нужен форвард?
...
Рейтинг: 0 / 0
Кракозябы при переходе из сервлета на jsp
    #39444638
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Скачай мой пример, запусти, я там даже варник закинул.
...
Рейтинг: 0 / 0
Кракозябы при переходе из сервлета на jsp
    #39444639
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Музаффарда
внутри одна строка
Код: java
1.
request.getRequestDispatcher("/my").forward(request, response)


?
сделал как сказали т.е. оставил только форвард всех остальных закомментил, вот чудо все показывает норм... тогда кто мешает?

да именно форвард и нужен
...
Рейтинг: 0 / 0
Кракозябы при переходе из сервлета на jsp
    #39444642
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и так постепенно раскомментирую строки:
1. response.setContentType(CONTENT_TYPE); - все норм;
2. PrintWriter out = response.getWriter(); - вот тут и проблема...
...
Рейтинг: 0 / 0
Кракозябы при переходе из сервлета на jsp
    #39444645
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
гм, у меня получилось воспроизвести
...
Рейтинг: 0 / 0
Кракозябы при переходе из сервлета на jsp
    #39444646
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
@WebServlet("/encoding")
public class EncodingServlet extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        PrintWriter out = resp.getWriter();
        req.getRequestDispatcher("encoding.jsp").forward(req, resp);
    }
}



Ломает кодировку
...
Рейтинг: 0 / 0
Кракозябы при переходе из сервлета на jsp
    #39444648
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
просто интересно
как влияет PrintWriter out = response.getWriter(); на кодировку?
...
Рейтинг: 0 / 0
Кракозябы при переходе из сервлета на jsp
    #39444656
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Видимо он создает writter, а не только получает.
...
Рейтинг: 0 / 0
Кракозябы при переходе из сервлета на jsp
    #39444659
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
  /**
     * Returns a <code>PrintWriter</code> object that
     * can send character text to the client.
     * The <code>PrintWriter</code> uses the character
     * encoding returned by {@link #getCharacterEncoding}.
     * If the response's character encoding has not been
     * specified as described in <code>getCharacterEncoding</code>
     * (i.e., the method just returns the default value 
     * <code>ISO-8859-1</code>), <code>getWriter</code>
     * updates it to <code>ISO-8859-1</code>.
     * <p>Calling flush() on the <code>PrintWriter</code>
     * commits the response.
     * <p>Either this method or {@link #getOutputStream} may be called
     * to write the body, not both, except when {@link #reset}
     * has been called.
     * 
     * @return a <code>PrintWriter</code> object that 
     * can return character data to the client 
     *
     * @exception java.io.UnsupportedEncodingException
     * if the character encoding returned
     * by <code>getCharacterEncoding</code> cannot be used
     *
     * @exception IllegalStateException
     * if the <code>getOutputStream</code>
     * method has already been called for this response object
     *
     * @exception IOException
     * if an input or output exception occurred
     *
     * @see #getOutputStream
     * @see #setCharacterEncoding
     * @see #reset
     */
...
Рейтинг: 0 / 0
Кракозябы при переходе из сервлета на jsp
    #39444660
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hett
Код: java
1.
PrintWriter out = resp.getWriter();


впереди попробуй:
resp.setContentType("text/html;charset=utf-8");
...
Рейтинг: 0 / 0
Кракозябы при переходе из сервлета на jsp
    #39444661
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
совсем странно т.к. раньше тоже у меня эта строка присутствовала и все без проблем работала а тут...
...
Рейтинг: 0 / 0
Кракозябы при переходе из сервлета на jsp
    #39444668
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Музаффарт.к. раньше тоже у меня
перегрузи или завтра с утра начни. ))
Известное дело. Бывает.
Удачи!
...
Рейтинг: 0 / 0
Кракозябы при переходе из сервлета на jsp
    #39444669
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: java
1.
2.
3.
4.
5.
6.
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        log(resp.getCharacterEncoding());              
        PrintWriter out = resp.getWriter();
        req.getRequestDispatcher("encoding.jsp").forward(req, resp);
    }



Код: plaintext
16:43:57,342 INFO  [io.undertow.servlet] (default task-11) EncodingServlet: ISO-8859-1

Код: java
1.
2.
3.
4.
5.
6.
7.
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        resp.setContentType("text/html;charset=utf-8");
        log(resp.getCharacterEncoding());
        PrintWriter out = resp.getWriter();
        req.getRequestDispatcher("encoding.jsp").forward(req, resp);
    }




аналогично и

Код: java
1.
2.
3.
4.
5.
6.
7.
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        resp.setCharacterEncoding("utf-8");
        log(resp.getCharacterEncoding());
        PrintWriter out = resp.getWriter();
        req.getRequestDispatcher("encoding.jsp").forward(req, resp);
    }



Код: plaintext
16:45:28,226 INFO  [io.undertow.servlet] (default task-21) EncodingServlet: utf-8

Каракули становятся другие, но что-то не так все равно.
...
Рейтинг: 0 / 0
Кракозябы при переходе из сервлета на jsp
    #39444677
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hett,

во всех случаях кракозябы?
...
Рейтинг: 0 / 0
Кракозябы при переходе из сервлета на jsp
    #39444681
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МузаффарHett,

во всех случаях кракозябы?

да, только в первом случае они другие, чем в двух последних.
...
Рейтинг: 0 / 0
Кракозябы при переходе из сервлета на jsp
    #39444688
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hett,

а если сделать так как предлагал Петро?
авторвпереди попробуй:
resp.setContentType("text/html;charset=utf-8");
...
Рейтинг: 0 / 0
Кракозябы при переходе из сервлета на jsp
    #39444691
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вообще то пробовал тоже самое...
...
Рейтинг: 0 / 0
Кракозябы при переходе из сервлета на jsp
    #39444692
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Делай include вместо forward =)
...
Рейтинг: 0 / 0
Кракозябы при переходе из сервлета на jsp
    #39444699
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HettДелай include вместо forward =)
это где в jsp? так же не удобно...
и все таки не понял в чем заключается подвох
...
Рейтинг: 0 / 0
Кракозябы при переходе из сервлета на jsp
    #39444703
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: java
1.
        req.getRequestDispatcher("xxx").include(req, resp);
...
Рейтинг: 0 / 0
Кракозябы при переходе из сервлета на jsp
    #39447401
Фотография Пылинка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Неужели request.setCharacterEncoding(" ") так и не пробовали даже?
...
Рейтинг: 0 / 0
Кракозябы при переходе из сервлета на jsp
    #39447409
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пылинка,
вопрос был в том, почему вызов потока для записи ломает кодировку
Код: java
1.
2.
3.
4.
5.
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        PrintWriter out = resp.getWriter();
        req.getRequestDispatcher("encoding.jsp").forward(req, resp);
    }
}
...
Рейтинг: 0 / 0
Кракозябы при переходе из сервлета на jsp
    #39447421
Фотография Пылинка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123, те вы пробовали?
а что получается после request.getCharacterEncoding() можно посмотреть?
...
Рейтинг: 0 / 0
Кракозябы при переходе из сервлета на jsp
    #39447428
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пылинка,
я не пробовал) по причине того что у меня внешний редирект, а не внутренний как у него.
2.
Даже если работает, то непонятен вопрос чисто академически.
Проверьте вы и отпишитесь.
...
Рейтинг: 0 / 0
Кракозябы при переходе из сервлета на jsp
    #39447437
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПылинкаНеужели request.setCharacterEncoding(" ") так и не пробовали даже?


20435514
...
Рейтинг: 0 / 0
25 сообщений из 54, страница 2 из 3
Форумы / Java [игнор отключен] [закрыт для гостей] / Кракозябы при переходе из сервлета на jsp
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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