我正在构建一个基于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