metoda sendRedirect () v Servletu

sendRedirect() metoda přesměruje odpověď na jiný zdroj. Tato metoda skutečně způsobí, že klient (prohlížeč) vytvoří nový požadavek, aby se dostal ke zdroji. Klient může vidět novou adresu url v prohlížeči.

sendRedirect () přijímá relativní URL, takže může jít o zdroje uvnitř nebo vně serveru.

Servlet: sendRedirect () a Request Dispečer

hlavní rozdíl mezi přesměrování a požadavek dispečink je, že přesměrování dělá klient(prohlížeč) vytvořit nový požadavek se dostat ke zdroji, uživatel může vidět novou adresu URL, zatímco žádost odeslání získat zdroj ve stejném požadavku a URL se nemění.

dalším velmi důležitým rozdílem je také to, že sendRedirect () pracuje na objektu odpovědi, zatímco odeslání požadavku pracuje na objektu požadavku.

příklad demonstrující použití sendRedirect()

import java.io.*;import javax.servlet.*;import javax.servlet.http.*;public class MyServlet extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8"); PrintWriter out = response.getWriter(); try { response.sendRedirect("https://www.studytonight.com"); } finally { out.close(); } }}

rozdíl mezi forward () a sendRedirect()

forward () sendRedirect()
funguje to na straně serveru. funguje na straně klienta.
vždy odešle stejný požadavek a objekt odpovědi. vždy odešle nový požadavek na objekt.
funguje pouze v rámci serveru. funguje uvnitř i vně serveru.
v této metodě je veškeré zpracování zpracováváno interně web container. v této metodě je veškeré zpracování zpracováno jiným servletem.
je to rychlejší. je pomalejší.
použití adresy metody forward () lze vidět v adresním řádku. použití adresy metody forward () nelze vidět v adresním řádku.
RequestDispatcher rozhraní se používá pro deklaraci. HttpServletResponse se používá pro deklaraci.
v návrhu MVC je velmi užitečné skrýt přímý přístup. v MVC design pattern není vhodné skrýt přímý přístup.
objekt znovu použije. objekt znovu nepoužívá.
příklad: požadavek.getRequestDispacher („servlet_1“).forward (request response); příklad: odpověď.sendRedirect („Servlet_1“);

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.