java區分訪問端來源
java區分訪問端來源
package com.actions;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.io.IOException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionContext;
public class CheckMobile {
static String phoneReg = "\\b(ip(hone|od)|android|opera m(ob|in)i"
+"|windows (phone|ce)|blackberry"
+"|s(ymbian|eries60|amsung)|p(laybook|alm|rofile/midp"
+"|laystation portable)|nokia|fennec|htc[-_]"
+"|mobile|up.browser|[1-4][0-9]{2}x[1-4][0-9]{2})\\b";
static String tableReg = "\\b(ipad|tablet|(Nexus 7)|up.browser"
+"|[1-4][0-9]{2}x[1-4][0-9]{2})\\b";
static Pattern phonePat = Pattern.compile(phoneReg, Pattern.CASE_INSENSITIVE);
static Pattern tablePat = Pattern.compile(tableReg, Pattern.CASE_INSENSITIVE);
public static boolean check(String userAgent){
if(null == userAgent){
userAgent = "";
}
Matcher matcherPhone = phonePat.matcher(userAgent);
Matcher matcherTable = tablePat.matcher(userAgent);
if(matcherPhone.find() || matcherTable.find()){
return true;
} else {
return false;
}
}
public String checkaa() throws IOException{
boolean isFromMobile=false;
ActionContext actx = ActionContext.getContext();
HttpServletRequest request = (HttpServletRequest) actx.get(ServletActionContext.HTTP_REQUEST);
HttpSession session= request.getSession();
String userAgent = request.getHeader( "USER-AGENT" ).toLowerCase();
if( userAgent ==null){
userAgent = "";
}
isFromMobile=CheckMobile.check(userAgent);
if(isFromMobile){
return "test1";
//System.out.println("移動端訪問");
// session.setAttribute("ua","mobile");
} else {
return "test2";
// System.out.println("pc端訪問");
// session.setAttribute("ua","pc");
}
}
}
相關文章
- 區分是移動端還是pc端訪問網站的程式碼網站
- 網站分析高階細分六脈神劍之訪問來源細分網站
- C#訪問遠端主機資源的方法C#
- Redis遠端訪問Redis
- 搭建開源java部落格並通過域名訪問Java
- 獲取使用者訪問網站的IP來源網站
- Nginx基於客戶端請求頭的訪問分類Nginx客戶端
- TeamViewer遠端訪問View
- Oracle EBS DMZ區訪問問題Oracle
- JNI訪問Java方法Java
- linux遠端訪問問題薦Linux
- 急急急:Midp 用Http和Socket訪問資源的區別HTTP
- rabbitmq 新增遠端訪問功能MQ
- 遠端訪問及控制——ssh
- Linux SSH遠端訪問Linux
- PostgreSQL 9.6 配置遠端訪問SQL
- 限定client端IP訪問oracle!clientOracle
- SSH遠端訪問及控制
- 遠端客戶端 訪問 ASM 例項客戶端ASM
- 如何區分router.push跳轉快應用的來源渠道
- 訪問jboss上EJB遠端介面問題
- js資源跨域訪問的問題JS跨域
- SpringBoot資料訪問之Druid資料來源的使用Spring BootUI
- 使用nodejs和Java訪問遠端伺服器的服務NodeJSJava伺服器
- PHP判斷是手機移動端訪問還是PC端訪問的函式PHP函式
- Java訪問類變數Java變數
- hbase - [04] java訪問hbaseJava
- 模擬ip訪問(附模擬手機訪問)遠端地址
- mysql如何允許遠端訪問MySql
- jupyter notebook 遠端訪問
- mysql賬戶新增遠端訪問MySql
- NAS如何實現遠端訪問
- 遠端訪問jupyter notebook
- django:runserver實現遠端訪問DjangoServer
- 遠端登錄檔訪問 (轉)
- Docker 如何開啟遠端訪問Docker
- 跨源通訊、跨域訪問跨域
- 加密訪問資源方法總結加密