欢迎访问优讯网!
您当前的位置:首页 > 爱编程

java后台判断请求来自移动端访问还是PC端访问

时间:2020-03-25 10:10:16  来源:优讯网  作者:小卡司  浏览次数:

转载:https://blog.csdn.net/magutou007/article/details/52004078

首先定义一个工具类,增加一个方法判断请求是否来自手机:


 
  1. package com.lyf.utils;
  2.  
  3. public class StringUtil {
  4.  
  5. private final static String[] agent = { "Android", "iPhone", "iPod","iPad", "Windows Phone", "MQQBrowser" };
  6. //定义移动端请求的所有可能类型
  7.  
  8. /**
  9. * 判断User-Agent 是不是来自于手机
  10. * @param ua
  11. * @return
  12. */
  13. public static boolean checkAgentIsMobile(String ua) {
  14. boolean flag = false;
  15. if (!ua.contains("Windows NT") || (ua.contains("Windows NT") && ua.contains("compatible;
  16. MSIE 9.0;"))) {
  17. // 排除 苹果桌面系统
  18. if (!ua.contains("Windows NT") && !ua.contains("Macintosh")) {
  19. for (String item : agent) {
  20. if (ua.contains(item)) {
  21. flag = true;
  22. break;
  23. }
  24. }
  25. }
  26. }
  27. return flag;
  28. }
  29.  
  30. }

//在SpringMVC框架controller类中增加一个如下方法:


 
  1. @Controller
  2. @RequestMapping("/test")
  3. public class RedBagController {
  4.  
  5. public ModelAndView testUa(HttpServletRequest request, HttpServletResponse response)
  6. throws IOException {
  7. Map<String, Object> map = new HashMap<String, Object>();
  8. String ua = request.getHeader("User-Agent");
  9. if(StringUtil.checkAgentIsMobile(ua)){
  10. map.put("mm", "来自移动端访问");
  11. }else{
  12. map.put("mm", "来自PC端访问");
  13. }
  14.  
  15. return new ModelAndView("testUa","map",map);
  16.  
  17. }
  18.  
  19. }

//写一个前端页面并命名为 testUa.ftl, 代码如下:


 
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  5. <meta content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.
  6. 0,user-scalable=no" name="viewport" id="viewport">
  7. <meta content="telephone=no" name="format-detection">
  8. </head>
  9. <body>
  10. ${map.mm}
  11. </body>
  12. </html>

好了,将项目发布到tomcat,然后再地址栏输入:http://localhost:8082/test/test/testUa.html 并切换手机或者电脑模式,就可以看到不同的情况了。

来顶一下
返回首页
返回首页

原文链接:https://blog.csdn.net/baidu_35975930/article/details/8655229


推荐资讯
如何下载旧版centos iso镜像 如何下载迷你mini版的centos镜像
如何下载旧版centos i
计算机的正确使用姿势 电脑痴如何正确的使用电脑
计算机的正确使用姿势
好用的后台管理的前端框架模版H-ui H-ui框架模版分享
好用的后台管理的前端
微信电脑多开方法 无需辅助电脑版微信双开方法分享
微信电脑多开方法 无
相关文章
栏目更新
栏目热门