Na verdade, esse código não foi descoberto por mim, mas foi descoberto acidentalmente ao examinar o projeto da empresa. Eu pensei que era muito prático, então tirei e compartilhei com todos.
Estrutura: struts2+mola+ibatis,
A principal implementação é confiar no "usuário-agente" no cabeçalho da solicitação HTTP para concluí-lo. Ok, vou fazer o upload do código sem dizer muita bobagem.
Em ação:
public String Execute () {httpServletRequest request = servletActionContext.getRequest (); boolean ismoblie = juizisblie (solicitação); if (ismoblie) {return "telefone"; } retornar "PC"; } public boolean JudgeisMoblie (solicitação httpServletRequest) {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", "alca", "amoi", "audi", "avan", "benq", "bird", "blac", "blaz", "brew", "cell", "cldc", "cmd-", "dang", "doco", "eric", "hipt", "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-", "sie-", "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 style = "margem: 0px; preenchimento: 0px; borda: nenhum; corerp: rgb (0, 130, 0); fountily: consolas: 'Creier New', Courier,; Ele não entende muito bem seus princípios internos, mas apenas conhece o significado geral. </span> if (request.getheader ("user-agent"). tolowercase () .IndexOf (mobileAgent)> = 0) {isMoblie = true; quebrar; }}} retorna ismoblie; }Struts2
<span style = "white-space: pré"> </span> <ação name = "name"> <resultado name = "pc"> download/main.jsp </resultado> <resultado name = "phone> download/productph.jsp </sicult> </ction>
Ok, há tanto código que não resta mais nada. . . Não parece muito simples?
Embora não tenha sido escrito por mim, também ganhei algo quando vi esse código. De fato, muitas configurações estão incluídas no cabeçalho da solicitação, porque, independentemente do navegador ou dispositivo, ele precisa chamar uma solicitação através do HTTP, para que ele tenha um protocolo HTTP. Desde que seja proficiente no protocolo HTTP, tudo será fácil de fazer (significa que eu não entendo o protocolo HTTP no momento, e então vou estudar muito e depois fingir ser bom) ~~
O exemplo acima de julgar que o cliente é um telefone celular/PC e retornar a diferentes páginas é todo o conteúdo que compartilho com você. Espero que você possa lhe dar uma referência e espero que você possa apoiar mais o wulin.com.