public class UrlFilter implements Filter{
public static boolean isMobileDevice(String requestHeader){
/**
* android : 所有android设备
* mac os : iphone ipad
* windows phone:Nokia等windows系统的手机
*/
String[] deviceArray = new String[]{"android","mac os","windows phone"};
if(requestHeader == null)
return false;
requestHeader = requestHeader.toLowerCase();
for(int i=0;i<deviceArray.length;i++){
if(requestHeader.indexOf(deviceArray[i])>0){
return true;
}
}
return false;
}
@Override
public void destroy() {
// TODO Auto-generated method stub
}
@Override
public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain)
throws IOException, ServletException {
HttpServletRequest request=(HttpServletRequest)req;
HttpServletResponse response=(HttpServletResponse)res;
String requestHeader = request.getHeader("user-agent");
if(isMobileDevice(requestHeader)){
//
response.sendRedirect("login.htm");
System.out.println("使用手机浏览器");
}else{
//
response.sendRedirect("register.htm");
System.out.println("使用web浏览器");
}
}
@Override
public void init(FilterConfig arg0) throws ServletException {
// TODO Auto-generated method stub
}
}
识别设备跳转不同请求(过滤器)
最新推荐文章于 2024-12-28 19:58:20 发布