Java: редирект из сервлета

Тема в разделе "Java", создана пользователем Korch, 19 июл 2005.

Статус темы:
Закрыта.
  1. Korch

    Korch Гость

    Есть два(может и больше) способа перенаправления из сервлета на другую страницую
    1)
    RequestDispatcher rd=getServletContext().getRequestDispatcher(url);
    rd.forward(req,resp);

    2)
    ...
    HttpServletResponse resp
    ...

    resp.sendRedirect(url);

    Вопрос следующий: В чём их отлтчие???? Когда делаю редирект первым способом на jps страницу, картинки не отрываются, в строке адреса название сервлета, который сделал редирект, при этом показывается jsp(просто путь не тот, и графики, естественно, нет).
    При втором способе всё нормально. В строке адреса то, что надо и страница показывается нормально. Хотелось бы понять, так сказать, суть.... Что делает, всё-таки первое, и второе...
    Заранее спасибо.
     
  2. Shurr

    Shurr Гость

    Первый метод делает редирект прямо на сервере. Т.е. запрос просто перенаправляется к другой странице. Браузер клиента об этом ничего не знает. Поэтому и название страницы, и относительные пути в браузере остаются старые.

    Второй метод посылает клиентскому браузеру ответ, в котором говорит о необходимости форварда на другую страницу. Браузер, получая подобный ответ, запрашивает данные с новой страницы.

    Т.е. первый вариант форварда проиисходит на сервере, а второй - на клиенте.

    P.S. Насколько я помню, второй вариант можно делать только в том случае, если в responce еще ничего не передавалось, иначе возникнет исключение.
     
  3. Korch

    Korch Гость

    Спасибо большое. Уловил. Тема закрыта.
     
Загрузка...
Похожие Темы - Java редирект из
  1. Andrey Kha
    Ответов:
    0
    Просмотров:
    20
  2. gosteev
    Ответов:
    0
    Просмотров:
    35
  3. Polina
    Ответов:
    0
    Просмотров:
    32
  4. ApplePen
    Ответов:
    0
    Просмотров:
    55
  5. Andrey Kha
    Ответов:
    0
    Просмотров:
    68
Статус темы:
Закрыта.

Поделиться этой страницей