Ce code n'a pas été découvert par moi, mais a été découvert accidentellement lorsqu'il a examiné le projet de l'entreprise. Je pensais que c'était très pratique, alors je l'ai sorti et je l'ai partagé avec tout le monde.
Cadre: Struts2 + printemps + ibatis,
L'implémentation principale consiste à s'appuyer sur "User-Agent" dans l'en-tête de demande HTTP pour le terminer. Ok, je vais simplement télécharger le code sans dire beaucoup de bêtises.
En action:
public String execute () {httpServLetRequest request = servletActionContext.getRequest (); Booléen Ismoblie = JudgesMoblie (demande); if (ismoblie) {return "téléphone"; } return "pc"; } public booléen jugerismoblie (httpServletRequest request) {boolean ismoblie = false; String [] mobileAgents = {"iPhone", "Android", "téléphone", "mobile", "wap", "netfront", "java", "opéra mobi", "opéra mini", "ucweb", "windows ce", "symbian", "série", "webos", "sony" "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" "Brew", "Cell", "cldc", "cmd-", "dang", "doco", "eric", "hipt", "hipt", "inno", "ipaq", "java", "jigs", "kddi", "keji", "leno" "Maxo", "midp", "mits", "mmef", "mobi", "mot-", "moto", "mwbp", "nec-", "newt", "noki", "opé", "palm", "pana", "pant", "phil", "play" "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; paddding: 0px; border: non; couleur: rgb (0, 130, 0); font-family: consolas, 'courrier new', courrier, mono, sérif; line-height:" "baby ', courrier, mono, sérif; line-height:" ^ this baby', courrier, mono, sérif; line-height: "" baby ', courrier, mono, sérif; line-height: " qu'il ne comprend pas très bien ses principes internes, mais qu'il connaît juste le sens général. </span> if (request.getheader ("user-agent"). tolowercase () .Indexof (mobileAgent)> = 0) {isMoblie = true; casser; }}} return ismoblie; }Struts2
<span style = "blanc-espace: pre"> </ span> <action name = "name"> <result name = "pc"> download / main.jsp </ result> <result name = "phone"> download / productph.jsp </ result> </ action>
D'accord, il n'y a que beaucoup de code, il ne reste plus rien. . . Cela ne semble-t-il pas très simple?
Bien qu'il n'ait pas été écrit par moi, j'ai également gagné quelque chose quand j'ai vu ce code. En fait, de nombreux paramètres sont inclus dans l'en-tête de demande, car peu importe le navigateur ou l'appareil, il doit appeler une demande via HTTP, il doit donc avoir un protocole HTTP. Tant que cela est compétent dans le protocole HTTP, tout sera facile à faire (cela signifie que je ne comprends pas le protocole HTTP pour le moment, puis j'étudierai dur et je prétend ensuite être bon) ~~
L'exemple ci-dessus de juger que le client est un téléphone mobile / PC et le retour à différentes pages est tout le contenu que je partage avec vous. J'espère que vous pourrez vous faire référence et j'espère que vous pourrez soutenir Wulin.com plus.