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

在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开发-->JSP技术详解(Ⅰ)
  JSP与Hibernate开发-->数据库事务的概念和声明
  Java网络编程-->对象的序列化与反序列化
  精通Spring-->绑定CSS样式
  Vue3开发-->CSS过渡和动画
  http状态码大全100-599状态详解
  做前后端分离项目前必须要知道的事
  在Java Web应用中获取绝对路径和相对路径
  HTTP 基本工作原理
  JSP 自定义标签
  JSP HTTP 状态码
  在Servlet中读取HTTP状态码
  Java web使用监听器实现定时周期性执行任务的功能
  30分钟学会使用Spring Web Services基础开发
  《Tomcat与Java Web》新版即将出炉,业界大咖们力荐
  Java微信Java SDK方式进行网页授权
  用信鸽来解释HTTPS协议
  web.xml中配置出错页面,处理异常
  Linux中为Tomcat9配置HTTP/2
  Java Web前端到后台常用框架介绍
  更多...
 IPIP: 已设置保密
楼主      
该用户目前不在线 kericnnoe 
威望: 未知
级别: 未知
魅力: 未知
经验: 未知
现金: 未知
发文章数: 未知
注册时间: 未知
 复制  引用


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

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


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

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


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