Este código en realidad no fue descubierto por mí, pero fue descubierto accidentalmente al mirar el proyecto de la compañía. Pensé que era muy práctico, así que lo saqué y lo compartí con todos.
Marco: Struts2+Spring+Ibatis,
La implementación principal es confiar en el "agente de usuario" en el encabezado de solicitud HTTP para completarlo. Ok, solo subiré el código sin decir muchas tonterías.
En acción:
public String Execute () {httpservletRequest request = servletactionContext.getRequest (); boolean isMoblie = JudgeSmoblie (solicitud); if (isMoblie) {return "Phone"; } return "PC"; } public boolean JudgeSmoblie (solicitud 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", "Coolpada", "Webos", "Webos", "," Webos ". "PalmSource", "Alcatel", "Amoi", "KTouch", "Nexian", "Ericsson", "Philips", "Sagem", "Wellcom", "Bunjalloo", "Maui", "Smartphone", "Iemobile", "Spice", "Bird", "Zte-", "LongCos", "Pantech", "Gelmer", "Goralmm", "Goralmm", "Gorth "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", "", ",", "," ",", "", "", ",", "," "Lg-g", "" Lge "", "lg-g", "", "," lg-g "," ",", "lg-g", "", "lg-g", "" Lg-g "," "Lg-g", "" Lg-g "," lg-g ". "Maxo", "MidP", "Mits", "MMef", "Mobi", "Mot-", "Moto", "Mwbp", "Nec-", "Newt", "Noki", "operador", "Palm", "Pana", "Pant", "Phil", "Play", "Port", "Prox", "Qwap", "Sage", "Sams", ",", ",", "Sams", "Sams", "Sams", "Sams". "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 = "margin: 0px; padding: 0px; border: none; color: rgb (0, 130, 0); font-family: consolas, 'Courier New', patio, mono, serif; line-height: 18px; que no entiende muy bien sus principios internos, pero solo conoce el significado general. </span> if (request.getheader ("user-agent"). tolowerCase () .indexof (mobileAgent)> = 0) {isMoblie = true; romper; }}} return isMoblie; }Struts2
<span style = "White-Space: pre"> </span> <Action name = "name"> <resultado name = "pc"> download/main.jsp </resultado> <result name = "phone"> download/productph.jsp </resultado> </solcion>
Bien, solo hay tanto código que no queda nada. . . ¿No se siente muy simple?
Aunque no fue escrito por mí, también gané algo cuando vi este código. De hecho, se incluyen muchas configuraciones en el encabezado de solicitud, porque no importa qué navegador o dispositivo sea, debe llamar a una solicitud a través de HTTP, por lo que debe tener un protocolo HTTP. Mientras sea competente en el protocolo HTTP, todo será fácil de hacer (significa que no entiendo el protocolo HTTP en este momento, y luego estudiaré duro y luego fingiré ser bueno) ~~
El ejemplo anterior de juzgar que el cliente es un teléfono móvil/PC y volver a diferentes páginas es todo el contenido que comparto con usted. Espero que pueda darle una referencia y espero que pueda apoyar más a Wulin.com.