我有一個鏈接與從HTTPS力的要求,以HTTP HttpServlet中
"https://" and "http://"
前的工作。
當我使用htppservlet從"https://"
, 請求時,我想讓響應返回一個"http://"
。 因此,客戶端可以更容易地查看。
我該怎麼辦?
我有一個鏈接與從HTTPS力的要求,以HTTP HttpServlet中
"https://" and "http://"
前的工作。
當我使用htppservlet從"https://"
, 請求時,我想讓響應返回一個"http://"
。 因此,客戶端可以更容易地查看。
我該怎麼辦?
你可以做到這一點與這樣的代碼:
if (request.isSecure()) { // it is HTTPS
String reqUrl = req.getRequestURL().toString().replaceFirst("https:", "http:");
String queryString = req.getQueryString();
if (queryString != null)
reqUrl += '?' + queryString;
response.sendRedirect(reqUrl);
}
您可以更簡潔地進行替換(儘管可能不太易讀?),因爲getRequestURL()返回一個StringBuffer:String reqUrl = req.getRequestURL()。replace(0 ,6,「http:」)。toString();' – 2012-04-03 18:56:17
感謝您的幫助,我通過在配置文件中編輯解決了該問題「替換爲'http://'」 – user1193842 2012-04-11 06:50:43
你想通過HTTP重定向* *在同一個servlet,還是要與包含HTTP鏈接的頁面迴應?希望瀏覽器不會自動從HTTPS降級到HTTP而不會提示用戶進行確認。 – erickson 2012-02-07 05:00:23
*「所以客戶可以更輕鬆地查看。」*這完全超出了我的想象。究竟是什麼問題? – BalusC 2012-02-07 14:27:39
客戶端希望重定向到沒有「https」的鏈接。因此,我必須將它更改爲「http」 – user1193842 2012-04-11 06:51:45