2014-01-25 69 views
0

在servlet中,我希望客戶端瀏覽器重定向到一個新的URL,response對象已被設置標題爲Location到一個新的URL由lib,但我無法得到我的代碼中的重定向url(沒有響應。 getHeader(...),所以我的問題是,是否有可能發送不調用response.sendRedirect是(...)方法?重定向如何?是否可以在不調用response.sendRedirect(...)方法的情況下發送重定向?

+0

NO,重定向URL不是以'request.getRequestURL()'同樣的狀態碼302和Location頭 – July

回答

1

只需設置你的HttpServletResponse年代到URI你想

response.setStatus(HttpServletResponse.SC_MOVED_TEMPORARILY); // or SC_FOUND 
response.setHeader("Location", "some uri"); 
+0

看起來不錯,讓我們試着看看結果。 – July

+0

正是我需要的,非常感謝你! – July

+0

@July我還是不明白你爲什麼不能使用'sendRedirect',但不用客氣。 –

3

您可以在響應體發送重定向來代替。

像...

response.getWriter().println("<html><head><META http-equiv=\"refresh\" content=\"0;URL=http://google.com\"></head></html>\"); 
+0

嗯,我說我不能讓重定向url ...但感謝提示 – July

+0

是的。這使我感到困惑,因爲它似乎與問題沒有關係,這就是如何在不調用sendRedirect()的情況下重定向客戶端。 –

相關問題