sendRedirect()
metoden omdirigerar svaret till en annan resurs. Denna metod gör faktiskt klienten (webbläsare) för att skapa en ny begäran om att komma till resursen. Klienten kan se den nya webbadressen i webbläsaren.
sendRedirect () accepterar relativ URL, så det kan gå för resurser inom eller utanför servern.
Servlet: sendRedirect () och Request Dispatcher
den största skillnaden mellan en omdirigering och en request dispatching är att omdirigering gör att klienten (webbläsaren) skapar en ny begäran för att komma till resursen, användaren kan se den nya webbadressen medan request dispatch får resursen i samma begäran och URL ändras inte.
en annan mycket viktig skillnad är också att sendRedirect () fungerar på svarsobjekt medan begäran skickas på begäran objekt.
exempel som visar användningen av 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(); } }}
skillnad mellan forward () och sendRedirect()
framåt () | sendRedirect() |
---|---|
det fungerar på serversidan. | det fungerar på klientsidan. |
den skickar alltid samma begäran och svarsobjekt. | det skickar alltid ny begäran om objektet. |
det fungerar bara inom servern. | det fungerar både inom och utanför servern. |
i denna metod hanteras all bearbetning av webbbehållare internt. | i denna metod hanteras all bearbetning av en annan servlet. |
det är snabbare. | det är långsammare. |
använda framåt () metod adress kan ses i adressfältet. | använda framåt () metod adress kan inte ses i adressfältet. |
RequestDispatcher gränssnitt används för deklaration. | HttpServletResponse används för deklaration. |
det är mycket användbart i MVC designmönster för att dölja direkt åtkomst. | det är inte användbart i MVC designmönster för att dölja direktåtkomst. |
det återanvänder objektet. | det återanvänder inte objektet. |
exempel: begäran.getRequestDispacher (”servlet_1”).framåt (begäran svar); | exempel: svar.sendRedirect (”Servlet_1”); |