.RequestDispatcher.forward()</P>
Он работает на стороне сервера. При использовании функции front() механизм сервлетов передает HTTP-запрос от текущего сервлета или JSP другому сервлету, JSP или обычному HTML-файлу, то есть ваша форма отправляется в файл .jsp в виде файла. .jsp использует функцию перенаправления на b.jsp. В это время вся информация, отправленная формой, может быть получена в b.jsp, и параметры передаются автоматически.</P>
Однако функцияward() не может перенаправить на файл jsp с рамкой. В то же время функцияward() не может быть передана с параметрами в конце, например servlet?name=frank. . Если это не сработает, вы можете передать ответ в программе .setAttribute("name",name) для перехода на следующую страницу.</P>
URL-адрес в адресной строке браузера остается неизменным после перенаправления.</P>
Пример: перенаправление в файле сервлета
КОД</P>
public void doPost (запрос HttpServletRequest, ответ HttpServletResponse)</P>
выдает ServletException,IOException</P>
{</P>
response.setContentType("text/html; charset=gb2312");</P>
ServletContext sc = getServletContext();</P>
RequestDispatcher rd = null;</P>
rd = sc.getRequestDispatcher("/index.jsp");</P>
rd.forward(запрос, ответ);
</P>
2.response.sendRedirect()</P>
Он работает в браузере пользователя. sendRedirect() может передавать параметры, такие как servlet?name=frank, на следующую страницу. В то же время он может перенаправить на другой хост, и в адресной строке браузера появится дубликат. URL-адрес целевой страницы.</P>
sendRedirect() может перенаправлять файлы jsp с фреймами.</P>
Пример: перенаправление в файле сервлета
КОД</P>
public void doPost (запрос HttpServletRequest, ответ HttpServletResponse)</P>
выдает ServletException,IOException</P>
{</P>
response.setContentType("text/html; charset=gb2312");</P>
response.sendRedirect("/index.jsp");</P>
}
</P>