我正在構建一個基於Spring MVC的應用程序,我想根據瀏覽器將用戶的網站重定向到特定部分。正確的方式基於瀏覽器用戶代理重定向?
我正在使用應用於/site/home.jsp的過濾器來讀取用戶代理以確定瀏覽器類型。
HttpServletRequest req = (HttpServletRequest) request;
String uaString = req.getHeader("User-Agent");
而且我想下面將用戶重定向:
- 火狐:重定向到/site/firefox/home.jsp
- IE:重定向到/site/ie/home.jsp
- 未知:重定向到/site/UnsupportedBrowser.jsp
我的困惑是什麼是用戶從我BrowserDetecto重定向的正確方法r過濾器?
1)只需重定向用戶?
resp.sendRedirect("/AppName/site/ie/home.jsp");
2)使用HTTP臨時重定向?
resp.setStatus(HttpServletResponse.SC_TEMPORARY_REDIRECT);
resp.setHeader("Location", "/AppName/site/ie/home.jsp");
3)服務器端重定向?
RequestDispatcher request_Dispatcher=request.getRequestDispatcher("/ie/home.jsp");
request_Dispatcher.forward(request,response);
4)其他正確的方法?
你試圖通過嗅探瀏覽器服務器端來實現什麼? – cdeszaq
我需要執行一些特定於瀏覽器的業務邏輯...... Firefox用戶通過不同的特定流程和IE瀏覽器......相信我......這是一個用例。 –
但是......實際上沒有辦法告訴瀏覽器使用什麼來查看您的網站...... UA嗅探只是一個(略)受教育的猜測。 – cdeszaq