Sendredirect() metódus a Servlet-ben

sendRedirect() módszer átirányítja a választ egy másik erőforrásra. Ez a módszer valójában az ügyfelet (böngészőt) hozza létre, hogy új kérést hozzon létre az erőforráshoz. Az ügyfél láthatja az új url-t a böngészőben.

a sendRedirect() elfogadja a relatív URL-t, így a szerveren belüli vagy kívüli erőforrásokhoz juthat.

szervlet: sendRedirect () és Request Dispatcher

az átirányítás és a kérés diszpécser közötti fő különbség az, hogy az átirányítás miatt az ügyfél(böngésző) új kérést hoz létre az erőforrás eléréséhez, a felhasználó láthatja az új URL-t, míg a request dispatch az erőforrást ugyanabban a kérésben kapja meg, és az URL nem változik.

egy másik nagyon fontos különbség az, hogy a sendredirect() a válaszobjektumon működik, míg a kérés feladása a kérés objektumon működik.

példa a sendRedirect használatára()

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(); } }}

különbség a forward() és a sendRedirect között()

továbbítás () küldésközvetlen()
szerver oldalon működik. működik a kliens oldalon.
mindig ugyanazt a kérés és válasz objektumot küldi. mindig új kérést küld az objektumhoz.
csak a szerveren belül működik. a szerveren belül és kívül is működik.
ebben a módszerben az összes feldolgozást a web container belsőleg kezeli. ebben a módszerben az összes feldolgozást egy másik szervlet kezeli.
ez gyorsabb. lassabb.
a forward() metódus használata a címsorban látható. a forward() módszer cím nem látható a címsorban.
requestdispatcher felület használható nyilatkozatot. HttpServletResponse használják nyilatkozatot.
nagyon hasznos az MVC tervezési mintában a közvetlen hozzáférés elrejtése. az MVC tervezési mintában nem hasznos a közvetlen hozzáférés elrejtése.
újra felhasználja az objektumot. nem használja újra az objektumot.
példa: kérés.getRequestDispacher (“servlet_1”).előre (kérés válasz); példa: válasz.sendRedirect (“Servlet_1”);

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.