2013-06-21 77 views

回答

0

以下各行設置http headersresponse

response.setHeader(header1, value1); 
    response.setHeader(header2, value2); 
    ----- 
    ----- 
    response.sendredirect("someJsp.jsp") 
7

HttpServletResponse.sendRedirect()發送重定向響應(302)到客戶端。然後,客戶端向Location標題中指定的資源發起新請求。 HTTP沒有定義服務器要求客戶端將任何請求標頭設置爲重定向資源的方式。

將數據傳遞到新的資源,你可以將其設置在查詢字符串:

爲了使混凝土

response.sendRedirect("NewResource?param1=value1"); 

NewResource

request.getParameter("param1"); 
+0

但客戶端的情況如何?他會得到響應頭文件嗎? – lrxw

1

如果我正確理解你,這是不可能的。這聽起來像你想要的東西是這樣的:

Client -> ServerA: 
GET /foo 

ServerA -> Client: 
301 Moved Permanently 
<Something magic to force the client to send header "Header1: xxx" to ServerB> 

Client -> ServerB: 
GET /bar 
Header1: xxx 

這「神奇的東西」不存在。客戶端將始終發送它想要發送的任何標題值。甚至沒有一個標準的方式,重定向到建議客戶端做這樣的事情。