>>分享Java Web开发技术,并且对孙卫琴的《Tomcat与Java Web开发技术详解》提供技术支持 书籍支持  卫琴直播  品书摘要  在线测试  资源下载  联系我们
发表一个新主题 开启一个新投票 回复文章 您是本文章第 22956 个阅读者 刷新本主题
 * 贴子主题:  在Java Web应用中如何判断客户请求来自移动端访问还是PC端访问 回复文章 点赞(0)  收藏  
作者:flybird    发表时间:2024-05-03 03:59:54     消息  查看  搜索  好友  邮件  复制  引用

在web开发做手机站的时候会遇到这个问题,就是如果判断用户的请求是来自手机端还是pc端
我的实现思路是创建一个拦截器,对首页的url进行拦截,在拦截的过程中获取用户请求头中的User-Agent,这个是记录着用户登录设备信息的

网上有工具类,判断请求头User-Agent的工具类
//判断是否为手机浏览器
public static boolean JudgeIsMoblie(HttpServletRequest request) {
boolean isMoblie = false;
String[] mobileAgents = { "iphone", "android","ipad", "phone", "mobile", "wap", "netfront", "java", "opera mobi",
"opera mini", "ucweb", "windows ce", "symbian", "series", "webos", "sony", "blackberry", "dopod",
"nokia", "samsung", "palmsource", "xda", "pieplus", "meizu", "midp", "cldc", "motorola", "foma",
"docomo", "up.browser", "up.link", "blazer", "helio", "hosin", "huawei", "novarra", "coolpad", "webos",
"techfaith", "palmsource", "alcatel", "amoi", "ktouch", "nexian", "ericsson", "philips", "sagem",
"wellcom", "bunjalloo", "maui", "smartphone", "iemobile", "spice", "bird", "zte-", "longcos",
"pantech", "gionee", "portalmmm", "jig browser", "hiptop", "benq", "haier", "^lct", "320x320",
"240x320", "176x220", "w3c ", "acs-", "alav", "alca", "amoi", "audi", "avan", "benq", "bird", "blac",
"blaz", "brew", "cell", "cldc", "cmd-", "dang", "doco", "eric", "hipt", "inno", "ipaq", "java", "jigs",
"kddi", "keji", "leno", "lg-c", "lg-d", "lg-g", "lge-", "maui", "maxo", "midp", "mits", "mmef", "mobi",
"mot-", "moto", "mwbp", "nec-", "newt", "noki", "oper", "palm", "pana", "pant", "phil", "play", "port",
"prox", "qwap", "sage", "sams", "sany", "sch-", "sec-", "send", "seri", "sgh-", "shar", "sie-", "siem",
"smal", "smar", "sony", "sph-", "symb", "t-mo", "teli", "tim-", "tosh", "tsm-", "upg1", "upsi", "vk-v",
"voda", "wap-", "wapa", "wapi", "wapp", "wapr", "webc", "winw", "winw", "xda", "xda-",
"Googlebot-Mobile" };
if (request.getHeader("User-Agent") != null) {
String agent=request.getHeader("User-Agent");
for (String mobileAgent : mobileAgents) {
if (agent.toLowerCase().indexOf(mobileAgent) >= 0&&agent.toLowerCase().indexOf("windows nt")<=0 &&agent.toLowerCase().indexOf("macintosh")<=0) {
isMoblie = true;
break;
}
}
}
return isMoblie;
}

写一个拦截器如果是电脑访问 放行,手机访问的话跳转到手机首页的url

注意在springMvc.xml配置文件配置拦截器的拦截路径&#160;


public class IntercepterMobile extends HandlerInterceptorAdapter{
  public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
    
    
     super.afterCompletion(request, response, handler, ex);
    }

    
    public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
    
  
     super.postHandle(request, response, handler, modelAndView);
        
    
    }
    
   public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
   boolean judgeIsMoblie = SingletonLoginUtils.JudgeIsMoblie(request);
   if(judgeIsMoblie==true){
   response.sendRedirect("/mobile/index");
   }else{
return true;
   }
  
  
  return true;
}
}

————————————————
原文链接:https://blog.csdn.net/qq_32657581/article/details/71405838


程序猿的技术大观园:www.javathinker.net
  Java面向对象编程-->输入与输出(下)
  JavaWeb开发-->Web运作原理(Ⅲ)
  JSP与Hibernate开发-->数据库事务的概念和声明
  Java网络编程-->ServerSocket用法详解
  精通Spring-->绑定表单
  Vue3开发-->通过Axios访问服务器
  HTTP 状态代码所对应的消息
  HTML5 WebSocket的用法
  JSP 调试 技巧
  JSP 指令
  JSP 语法
  Servlet 网页重定向
  javaWeb自定义标签用法实例详解
  JSP还有必要学吗 这篇文章告诉你
  JSTL标签库的标签用法
  JSP自定义标签的用法
  JavaWeb分页的简单实现
  Java EE改名Jakarta EE
  在JSP中用JavaScript实现倒计时和自动跳转
  观看视频:孙卫琴讲解的Servlet等对象的生命周期,生动直观!
  ServletConfig和ServletContext详解(转移自: 《Tomcat与Java...
  更多...
 IPIP: 已设置保密
楼主      
该用户目前不在线 kericnnoe 
威望: 未知
级别: 未知
魅力: 未知
经验: 未知
现金: 未知
发文章数: 未知
注册时间: 未知
 复制  引用


DG百家樂娛樂城娛樂城的每位荷官顏值都超級高,不論你喜歡哪一種類型DG百家樂娛樂城都能滿足你,因為在夢幻娛樂城裡,你不光擁有豐富的遊戲選擇,還有更多的DG百家樂荷官任你挑選
发文章时间 2024-05-03 03:59:54
 IPIP: 已设置保密 1 楼     
该用户目前不在线 mikhop 
  

威望: 0
级别: 侠客
魅力: 210
经验: 210
现金: 1176
发文章数: 22
注册时间: 0001-01-01
 消息  查看  搜索  好友  邮件  复制  引用


《探索视觉创意:创意专业人士的摄影社交圈》是一个充满活力的在线社区,旨在汇聚来自世界各地的摄影爱好者、专业摄影师以及视觉艺术创作者。我们的社区致力于探索和分享视觉创意的各个方面,为会员们提供了一个创造性的平台,以展示他们的摄影作品、交流创意灵感、学习摄影技巧,并深入了解摄影领域的最新趋势和新闻。
在我们的社交圈内,您将能够浏览令人惊叹的摄影作品,从中获得灵感并与其他创意专业人士建立联系。我们定期发布摄影新闻,涵盖行业内的重要事件、展览、竞赛和趋势,确保您始终保持在摄影领域的前沿。
无论您是初学者还是经验丰富的摄影师,都欢迎加入我们的社区。在这里,创意与摄影相互融合,帮助您发掘新的摄影技巧,分享您的视觉故事,并在一个充满激情和创造力的环境中建立有意义的联系。探索创意之旅,尽在《探索视觉创意》社交圈!

发文章时间 2024-05-03 03:59:54
 IPIP: 已设置保密 2 楼     
1页 2条记录 当前第1
发表一个新主题 开启一个新投票 回复文章


中文版权所有: JavaThinker技术网站 Copyright 2016-2026 沪ICP备16029593号-2
荟萃Java程序员智慧的结晶,分享交流Java前沿技术。  联系我们
如有技术文章涉及侵权,请与本站管理员联系。