Post

Visualizzazione dei post con l'etichetta Response

Problemi sendRedirect con reverse proxy?

DOMANDA: Come posso evitare l'utilizzo di sendRedirect quando questa istruzione crea problemi in un ambiente con reverse proxy? RISPOSTA: Si può sostituire l'istruzione response.sendRedirect(url_path) impostando gli header della response HTTP . Gli header da impostare sono: Location Status Code il codice da utilizzare è il 302 - Moved Temporarily Vediamo come: import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class SomeServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setStatus(HttpServletResponse.SC_MOVED_TEMPORARILY); response.setHeader("Location", "/mia_pagina.jsp"); } }

SendRedirect e Forward

DOMANDA: Che differenza c'è tra response.sendRedirect() e dispatcher.forward()? RISPOSTA: Benché l'effetto apparente sia quasi lo stesso, c'è una profonda differenza tra i due modi di reindirizzamento . Vediamolo nella pratica. Creiamo una piccola pagina HTML per l'invio dei dati ( "index.jsp" ): <html> <head> <title> Blog Domande e Risposte JAVA </title> </head> <body> <form method="POST" action="servlet/sendRedirect"> SendRedirect <input type="hidden" name="param" value="Lancill Blog" /> <input type="submit" value="Invia" /> </form> <form method="POST" action="servlet/forward"> Forward <input type="hidden" name="param" value="Lancill Blog" /> <input type="submit" value="Invia" /> </form> </body&