HttpServletResponse sendRedirect permanent

Cela redirecta une demande avec un code d’état temporaire 302 HTTP:

HttpServletResponse response; response.sendRedirect("http://somewhere"); 

Mais est-il possible de le redirect avec un code d’état permanent 301 HTTP?

Vous devez définir l’état de la réponse et l’en-tête de l’ Location manuellement.

 response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY); response.setHeader("Location", "http://somewhere/"); 

Définir le statut avant sendRedirect() ne fonctionnera pas car sendRedirect() SC_FOUND ensuite par SC_FOUND .

J’ai utilisé le code suivant, mais n’a pas fonctionné pour moi.

 Ssortingng newURL = res.encodeRedirectURL("..."); response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY); response.sendRedirect(newURL); 

alors j’ai essayé ce morceau de code cela a fonctionné pour moi

 Ssortingng newURL = res.encodeRedirectURL("..."); response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY); response.setHeader("Location", newURL); 

cela a fonctionné pour moi, j’avais le même problème

comment définir le statut à 301 lors de la redirection