700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > java后台判断请求来自移动端访问还是PC端访问

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

时间:2023-10-11 18:52:36

相关推荐

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

转载:/magutou007/article/details/5078

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

package com.lyf.utils;public class StringUtil {private final static String[] agent = { "Android", "iPhone", "iPod","iPad", "Windows Phone", "MQQBrowser" }; //定义移动端请求的所有可能类型/*** 判断User-Agent 是不是来自于手机* @param ua* @return*/public static boolean checkAgentIsMobile(String ua) {boolean flag = false;if (!ua.contains("Windows NT") || (ua.contains("Windows NT") && ua.contains("compatible; MSIE 9.0;"))) {// 排除 苹果桌面系统if (!ua.contains("Windows NT") && !ua.contains("Macintosh")) {for (String item : agent) {if (ua.contains(item)) {flag = true;break;}}}}return flag;}}

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

@Controller @RequestMapping("/test")public class RedBagController { public ModelAndView testUa(HttpServletRequest request, HttpServletResponse response) throws IOException {Map<String, Object> map = new HashMap<String, Object>(); String ua = request.getHeader("User-Agent");if(StringUtil.checkAgentIsMobile(ua)){map.put("mm", "来自移动端访问");}else{map.put("mm", "来自PC端访问");}return new ModelAndView("testUa","map",map);}}

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

<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" name="viewport" id="viewport"><meta content="telephone=no" name="format-detection"></head><body>${map.mm}</body></html>

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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。