摘要:這次項(xiàng)目需要去根據(jù)用戶的設(shè)備去跳轉(zhuǎn)頁(yè)面,我把主頁(yè)定位在一個(gè)空白頁(yè),讓這個(gè)空白頁(yè)自動(dòng)提交表單,在后臺(tái)會(huì)調(diào)用工具類工具類的代碼網(wǎng)關(guān)頭信息中特有的描述信息中興提供的網(wǎng)關(guān)的信息,例如,中國(guó)移動(dòng)的諾基亞網(wǎng)關(guān),例如移動(dòng)夢(mèng)網(wǎng)的網(wǎng)關(guān),例如華為提
這次項(xiàng)目需要去根據(jù)用戶的設(shè)備去跳轉(zhuǎn)頁(yè)面,
我把主頁(yè)定位在一個(gè)空白頁(yè),讓這個(gè)空白頁(yè)自動(dòng)提交表單,
在后臺(tái)action會(huì)調(diào)用工具類
工具類的代碼:
package com.util; import javax.servlet.http.HttpServletRequest; public class GetHttp { /** Wap網(wǎng)關(guān)Via頭信息中特有的描述信息 */ private static String mobileGateWayHeaders[] = new String[] { "ZXWAP",// 中興提供的wap網(wǎng)關(guān)的via信息,例如:Via=ZXWAP // GateWayZTE // Technologies, "chinamobile.com",// 中國(guó)移動(dòng)的諾基亞wap網(wǎng)關(guān),例如:Via=WTP/1.1 // GDSZ-PB-GW003-WAP07.gd.chinamobile.com (Nokia // WAP Gateway 4.1 CD1/ECD13_D/4.1.04) "monternet.com",// 移動(dòng)夢(mèng)網(wǎng)的網(wǎng)關(guān),例如:Via=WTP/1.1 // BJBJ-PS-WAP1-GW08.bj1.monternet.com. (Nokia WAP // Gateway 4.1 CD1/ECD13_E/4.1.05) "infoX",// 華為提供的wap網(wǎng)關(guān),例如:Via=HTTP/1.1 GDGZ-PS-GW011-WAP2 (infoX-WISG // Huawei Technologies),或Via=infoX WAP Gateway V300R001 // Huawei Technologies "XMS 724Solutions HTG",// 國(guó)外電信運(yùn)營(yíng)商的wap網(wǎng)關(guān),不知道是哪一家 "wap.lizongbo.com",// 自己測(cè)試時(shí)模擬的頭信息 "Bytemobile",// 貌似是一個(gè)給移動(dòng)互聯(lián)網(wǎng)提供解決方案提高網(wǎng)絡(luò)運(yùn)行效率的,例如:Via=1.1 Bytemobile OSN // WebProxy/5.1 }; /** 電腦上的IE或Firefox瀏覽器等的User-Agent關(guān)鍵詞 */ private static String[] pcHeaders = new String[] { "Windows 98", "Windows ME", "Windows 2000", "Windows XP", "Windows NT", "Ubuntu" }; /** 手機(jī)瀏覽器的User-Agent里的關(guān)鍵詞 */ private static String[] mobileUserAgents = new String[] { "Nokia",// 諾基亞,有山寨機(jī)也寫這個(gè)的,總還算是手機(jī),Mozilla/5.0 // (Nokia5800 // XpressMusic)UC // AppleWebkit(like // Gecko) // Safari/530 "SAMSUNG",// 三星手機(jī) // SAMSUNG-GT-B7722/1.0+SHP/VPP/R5+Dolfin/1.5+Nextreaming+SMM-MMS/1.2.0+profile/MIDP-2.1+configuration/CLDC-1.1 "MIDP-2",// j2me2.0,Mozilla/5.0 (SymbianOS/9.3; U; Series60/3.2 // NokiaE75-1 /110.48.125 Profile/MIDP-2.1 // Configuration/CLDC-1.1 ) AppleWebKit/413 (KHTML like // Gecko) Safari/413 "CLDC1.1",// M600/MIDP2.0/CLDC1.1/Screen-240X320 "SymbianOS",// 塞班系統(tǒng)的, "MAUI",// MTK山寨機(jī)默認(rèn)ua "UNTRUSTED/1.0",// 疑似山寨機(jī)的ua,基本可以確定還是手機(jī) "Windows CE",// Windows CE,Mozilla/4.0 (compatible; MSIE 6.0; // Windows CE; IEMobile 7.11) "iPhone",// iPhone是否也轉(zhuǎn)wap?不管它,先區(qū)分出來(lái)再說(shuō)。Mozilla/5.0 (iPhone; U; CPU // iPhone OS 4_1 like Mac OS X; zh-cn) AppleWebKit/532.9 // (KHTML like Gecko) Mobile/8B117 "iPad",// iPad的ua,Mozilla/5.0 (iPad; U; CPU OS 3_2 like Mac OS X; // zh-cn) AppleWebKit/531.21.10 (KHTML like Gecko) // Version/4.0.4 Mobile/7B367 Safari/531.21.10 "Android",// Android是否也轉(zhuǎn)wap?Mozilla/5.0 (Linux; U; Android // 2.1-update1; zh-cn; XT800 Build/TITA_M2_16.22.7) // AppleWebKit/530.17 (KHTML like Gecko) Version/4.0 // Mobile Safari/530.17 "BlackBerry",// BlackBerry8310/2.7.0.106-4.5.0.182 "UCWEB",// ucweb是否只給wap頁(yè)面? Nokia5800 // XpressMusic/UCWEB7.5.0.66/50/999 "ucweb",// 小寫的ucweb貌似是uc的代理服務(wù)器Mozilla/6.0 (compatible; MSIE 6.0;) // Opera ucweb-squid "BREW",// 很奇怪的ua,例如:REW-Applet/0x20068888 (BREW/3.1.5.20; DeviceId: // 40105; Lang: zhcn) ucweb-squid "J2ME",// 很奇怪的ua,只有J2ME四個(gè)字母 "YULONG",// 宇龍手機(jī),YULONG-CoolpadN68/10.14 IPANEL/2.0 CTC/1.0 "YuLong",// 還是宇龍 "COOLPAD",// 宇龍酷派YL-COOLPADS100/08.10.S100 POLARIS/2.9 CTC/1.0 "TIANYU",// 天語(yǔ)手機(jī)TIANYU-KTOUCH/V209/MIDP2.0/CLDC1.1/Screen-240X320 "TY-",// 天語(yǔ),TY-F6229/701116_6215_V0230 JUPITOR/2.2 CTC/1.0 "K-Touch",// 還是天語(yǔ)K-Touch_N2200_CMCC/TBG110022_1223_V0801 MTK/6223 // Release/30.07.2008 Browser/WAP2.0 "Haier",// 海爾手機(jī),Haier-HG-M217_CMCC/3.0 Release/12.1.2007 // Browser/WAP2.0 "DOPOD",// 多普達(dá)手機(jī) "Lenovo",// 聯(lián)想手機(jī),Lenovo-P650WG/S100 LMP/LML Release/2010.02.22 // Profile/MIDP2.0 Configuration/CLDC1.1 "LENOVO",// 聯(lián)想手機(jī),比如:LENOVO-P780/176A "HUAQIN",// 華勤手機(jī) "AIGO-",// 愛(ài)國(guó)者居然也出過(guò)手機(jī),AIGO-800C/2.04 TMSS-BROWSER/1.0.0 CTC/1.0 "CTC/1.0",// 含義不明 "CTC/2.0",// 含義不明 "CMCC",// 移動(dòng)定制手機(jī),K-Touch_N2200_CMCC/TBG110022_1223_V0801 MTK/6223 // Release/30.07.2008 Browser/WAP2.0 "DAXIAN",// 大顯手機(jī)DAXIAN X180 UP.Browser/6.2.3.2(GUI) MMP/2.0 "MOT-",// 摩托羅拉,MOT-MOTOROKRE6/1.0 LinuxOS/2.4.20 Release/8.4.2006 // Browser/Opera8.00 Profile/MIDP2.0 Configuration/CLDC1.1 // Software/R533_G_11.10.54R "SonyEricsson",// 索愛(ài)手機(jī),SonyEricssonP990i/R100 Mozilla/4.0 // (compatible; MSIE 6.0; Symbian OS; 405) Opera // 8.65 [zh-CN] "GIONEE",// 金立手機(jī) "HTC",// HTC手機(jī) "ZTE",// 中興手機(jī),ZTE-A211/P109A2V1.0.0/WAP2.0 Profile "HUAWEI",// 華為手機(jī), "webOS",// palm手機(jī),Mozilla/5.0 (webOS/1.4.5; U; zh-CN) // AppleWebKit/532.2 (KHTML like Gecko) Version/1.0 // Safari/532.2 Pre/1.0 "GoBrowser",// 3g GoBrowser.User-Agent=Nokia5230/GoBrowser/2.0.290 // Safari "IEMobile",// Windows CE手機(jī)自帶瀏覽器, "WAP2.0"http:// 支持wap 2.0的 }; /** * 根據(jù)當(dāng)前請(qǐng)求的特征,判斷該請(qǐng)求是否來(lái)自手機(jī)終端,主要檢測(cè)特殊的頭信息,以及user-Agent這個(gè)header * * @param request * http請(qǐng)求 * @return 如果命中手機(jī)特征規(guī)則,則返回對(duì)應(yīng)的特征字符串 */ public static boolean isMobileDevice(HttpServletRequest request) { boolean b = false; boolean pcFlag = false; boolean mobileFlag = false; String via = request.getHeader("Via"); System.out.println(via); String userAgent = request.getHeader("user-agent"); System.out.println(userAgent); for (int i = 0; via != null && !via.trim().equals("") && i < mobileGateWayHeaders.length; i++) { if (via.contains(mobileGateWayHeaders[i])) { mobileFlag = true; break; } } for (int i = 0; !mobileFlag && userAgent != null && !userAgent.trim().equals("") && i < mobileUserAgents.length; i++) { if (userAgent.contains(mobileUserAgents[i])) { mobileFlag = true; break; } } for (int i = 0; userAgent != null && !userAgent.trim().equals("") && i < pcHeaders.length; i++) { if (userAgent.contains(pcHeaders[i])) { pcFlag = true; break; } } if (mobileFlag == true && pcFlag == false) { b = true; } return b;// false pc true shouji } }
而在action調(diào)用中,我是這樣做的:
HttpServletRequest request = ServletActionContext.getRequest(); Boolean b = GetHttp.isMobileDevice(request); System.out.println("This device type is: " + b + " (true is means telephone, other means pc or pad)"); if (b.equals(true)) { return "mobisucc"; } else return "pcsucc"; }
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/64145.html
摘要:達(dá)龍?jiān)齐娔X永久破解版是一款非常專業(yè)的電腦云游戲控制軟件。怎么注冊(cè)達(dá)龍?jiān)齐娔X賬戶達(dá)龍?jiān)齐娔X的賬戶,可以無(wú)縫連接到論壇和云電腦,今后還有更多的產(chǎn)品。達(dá)龍?jiān)齐娔X永久PC破解版2021是一款非常專業(yè)的電腦云游戲控制軟件。它的功能十分強(qiáng)大,支持各種網(wǎng)絡(luò)設(shè)備可以通過(guò)客戶端登陸云端電腦,隨時(shí)隨地登陸云端專屬電腦,能夠適應(yīng)各種配置的電腦。 ? 達(dá)龍?jiān)齐娔X永久破解版PC版2021版本經(jīng)過(guò)破解處理,無(wú)需...
摘要:可穿戴設(shè)備能夠?qū)⒋┐髡呒捌渲苓厾顩r作為物聯(lián)網(wǎng)的一部分來(lái)處理。要想提供如此貼近人們生活的物聯(lián)網(wǎng)服務(wù),可穿戴設(shè)備無(wú)疑是最合適的選擇。可穿戴設(shè)備能對(duì)人們的生活起到幫助作用。 物聯(lián)網(wǎng)和可穿戴設(shè)備的關(guān)系 谷歌眼鏡等可穿戴設(shè)備是構(gòu)成物聯(lián)網(wǎng)的眾多設(shè)備中的一種。可穿戴設(shè)備能夠?qū)⒋┐髡呒捌渲苓厾顩r作為物聯(lián)網(wǎng)的...
摘要:云主機(jī)怎么使用準(zhǔn)備好一臺(tái)云服務(wù)器,云服務(wù)器多包含的基本配置就是,內(nèi)存,硬盤等基本配置。手機(jī)怎么連接云主機(jī)不知樓主的是什么操作系統(tǒng)想在手機(jī)上遠(yuǎn)程連接,是需要借助軟件來(lái)連接。不打算買臺(tái)式機(jī)了,直接買個(gè)顯示器,然后購(gòu)買云電腦,再用手機(jī)投屏到顯示器如何?現(xiàn)在都很流行云,各種云計(jì)算,云電腦,云主機(jī)之類的,但實(shí)際上所謂的云就是你不用關(guān)心她里面有什么你只需要知道他能提供給你所購(gòu)買的資源就可以了,而連接云和...
摘要:移動(dòng)客戶端的開(kāi)發(fā)類型原生,也就是完全使用移動(dòng)設(shè)備系統(tǒng)語(yǔ)言寫的客戶端,就是純,安卓就是純就是用戶看到的界面體驗(yàn)到的交互都是原生的。 前端是個(gè)很大的概念,我的理解是用戶能夠看到,直接接觸到的層面都算是前端,比如IOS客戶端界面,安卓客戶端界面,網(wǎng)頁(yè)界面,甚至PC/MAC 桌面端軟件界面;現(xiàn)在最常見(jiàn)的說(shuō)法一般是指Web前端,也就是針對(duì)于網(wǎng)頁(yè)端開(kāi)發(fā)的工作。 Web App就是以瀏覽器作為客戶端...
摘要:移動(dòng)客戶端的開(kāi)發(fā)類型原生,也就是完全使用移動(dòng)設(shè)備系統(tǒng)語(yǔ)言寫的客戶端,就是純,安卓就是純就是用戶看到的界面體驗(yàn)到的交互都是原生的。 前端是個(gè)很大的概念,我的理解是用戶能夠看到,直接接觸到的層面都算是前端,比如IOS客戶端界面,安卓客戶端界面,網(wǎng)頁(yè)界面,甚至PC/MAC 桌面端軟件界面;現(xiàn)在最常見(jiàn)的說(shuō)法一般是指Web前端,也就是針對(duì)于網(wǎng)頁(yè)端開(kāi)發(fā)的工作。 Web App就是以瀏覽器作為客戶端...
閱讀 3532·2023-04-25 20:09
閱讀 3736·2022-06-28 19:00
閱讀 3056·2022-06-28 19:00
閱讀 3075·2022-06-28 19:00
閱讀 3168·2022-06-28 19:00
閱讀 2874·2022-06-28 19:00
閱讀 3038·2022-06-28 19:00
閱讀 2632·2022-06-28 19:00