このコードは実際には私によって発見されていませんでしたが、会社のプロジェクトを調べたときに誤って発見されました。私はそれが非常に実用的だと思ったので、私はそれを取り出してみんなと共有しました。
フレームワーク:struts2+spring+ibatis、
主な実装は、HTTPリクエストヘッダーの「ユーザーエージェント」に依存してそれを完了することです。わかりました、私はそれほどナンセンスを言わずにコードをアップロードします。
行動:
public string execute(){httpservletrequest request = servletactionContext.getRequest(); boolean ismoblie = judsismoblie(request); if(ismoblie){return "電話"; } "pc"を返します。 } public boolean judsismoblie(httpservletrequest request){boolean ismoblie = false; string [] mobileagents = {"iPhone"、 "android"、 "phone"、 "mobile"、 "wap"、 "netfront"、 "java"、 "opera mobi"、 "opera mini"、 "ucweb"、 "windows ce"、 "symbian"、 "series"、 "webos"、 "sams" ""、 "doper 「palmsource "、" xda "、" pieplus "、" meizu "、" midp "、" cldc "、" motorola "、" foma "、" docomo "、" up.browser "、" up.link "、" blazer "、" helio "、" hosin "、" huawei "" "" " "Palmsource"、 "Alcatel"、 "amoi"、 "ktouch"、 "nexian"、 "ericsson"、 "Philips"、 "sagem"、 "wellcom"、 "bunjalloo"、 "maui"、 "smartphone"、 "iemobile"、 "bird"、 "zte"、 "bide"、 "bide"、 "bide"、 「portalmmm」、「jig browser "、" hiptop "、" benq "、" haier "、"^lct "、" 320x320 "、" 240x320 "、" 176x220 "、" w3c "、" acs- "、" alav "、" alca "、" alca "、" amoi "、" "、" "、" "、" "、" "、" amo "blac"、 "blaz"、 "brew"、 "cell"、 "cldc"、 "cmd-"、 "dang"、 "doco"、 "eric"、 "hipt"、 "hipt"、 "inno"、 "ipaq"、 "java"、 "jigs"、 "kddi"、 "keji"、 "lg-c" "" "" lg-c "" "" lg-c "" "lg-c" "" lg-c "、 "lge-"、 "maui"、 "maxo"、 "midp"、 "mits"、 "mmef"、 "mobi"、 "mot-"、 "moto"、 "mwbp"、 "nec-"、 "newt"、 "noki"、 "oper"、 "palm"、 "pana"、 "pan 「賢者」、「サムス」、「サニー」、「シュシ」、「セック」、「センド」、「センド」、「セリ」、「sh」、「shar」、 "sie-"、 "sie-"、 "smal"、 "smar"、 "sony"、 "sph-"、 "symb"、 "t-mo"、 "teli"、 "tim-"、 "" t. 「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; border:none; color:rgb(0、130、0); font-family:consolas、 'courier new;内部の原則はあまりよく理解されていませんが、一般的な意味を知っています。 </span> if(request.getheader( "user-agent")。tolowercase().indexof(mobileagent)> = 0){ismoblie = true;壊す; }}} Ismoblieを返します。 }struts2
<SPAN STYLE = "White-Space:pre"> </span> <action name = "name"> <result name = "pc">ダウンロード/main.jsp </result> <result name = "phone"> download/productph.jsp </result> </action>
さて、コードはそれほど多くありません。残っているものは何もありません。 。 。とてもシンプルではありませんか?
それは私によって書かれたものではありませんでしたが、このコードを見たときに何かを得ました。実際、多くの設定がリクエストヘッダーに含まれています。なぜなら、ブラウザやデバイスがどのようなものであっても、HTTPを介してリクエストを呼び出す必要があるため、HTTPプロトコルが必要です。 HTTPプロトコルに熟練している限り、すべてが簡単に行けます(現時点ではHTTPプロトコルがわからないことを意味し、それから一生懸命勉強してから良いふりをします)~~
クライアントが携帯電話/PCであり、異なるページに戻ると判断する上記の例は、私があなたと共有するすべてのコンテンツです。参照を提供できることを願っています。wulin.comをもっとサポートできることを願っています。