国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > Java > 正文

java后臺判斷客戶端是手機/PC并返回不同頁面的實例

2024-07-13 10:17:02
字體:
來源:轉載
供稿:網友

這個代碼其實不是由我本人發現的,而是在翻看公司項目時無意間發現,覺得很實用所以拿出來大家分享。

框架:Struts2+spring+ibatis,

主要實現是依靠Http請求頭Header中的 "User-Agent" 來完成,好了, 廢話不多說直接上代碼。

Action中:

public String execute() {     HttpServletRequest request = ServletActionContext.getRequest();     boolean isMoblie = JudgeIsMoblie(request);     if(isMoblie){       return "phone";     }     return "pc";   }      public boolean JudgeIsMoblie(HttpServletRequest request) {     boolean isMoblie = false;     String[] mobileAgents = { "iphone", "android", "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) {       for (String mobileAgent : mobileAgents) {         <span class="comment" style="margin: 0px; padding: 0px; border: none; color: rgb(0, 130, 0); font-family: Consolas, 'Courier New', Courier, mono, serif; line-height: 18px;">//這里本寶寶表示不怎么了解它的內部原理,但是知道個大概意思就得了。</span>         if (request.getHeader("User-Agent").toLowerCase()             .indexOf(mobileAgent) >= 0) {           isMoblie = true;           break;         }       }     }     return isMoblie;   } 

Struts2

<span style="white-space:pre">    </span><action name="name" class="你自己的action類">       <result name="pc">download/main.jsp</result>       <result name="phone">download/productPH.jsp</result>     </action> 

好了,代碼就只是這么多,木有了木有了。。。 是不是感覺很簡單的說,

雖然不是我寫出來的,但是看到這個代碼,也是有一種收獲的,其實很多設置都是包含在請求頭中的,因為不管是什么瀏覽器什么設備,它要通過http去調用一個請求,那么它就必定是有http協議,只要精通http協議,那么啥事都好辦(表示本屌目前不懂http協議,而后努力學習學習,再來裝逼)~~

以上這篇java后臺判斷客戶端是手機/PC并返回不同頁面的實例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持VeVb武林網。


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 讷河市| 珲春市| 昆山市| 正阳县| 吉隆县| 固安县| 阿荣旗| 泸溪县| 芦溪县| 紫云| 本溪| 镇康县| 云梦县| 镇沅| 山阳县| 大宁县| 湄潭县| 信丰县| 同德县| 孙吴县| 娄底市| 岳普湖县| 赣榆县| 崇州市| 墨竹工卡县| 新建县| 江西省| 东方市| 兖州市| 德兴市| 永吉县| 德阳市| 昌邑市| 南部县| 盘锦市| 景洪市| 浠水县| 宁国市| 开化县| 北票市| 巴中市|