亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JSP > 正文

使用JSP讀取客戶端信息

2020-07-27 21:49:01
字體:
來源:轉載
供稿:網友
使用JSP讀取客戶端信息

  請閱讀以下代碼。如果你的使用要求不同,可對這些代碼加以很方便的修改。這些代碼可以使你獲得:
公司company, 用戶name,版本version,main version,minor version
操作系統(未完成!),語言language,locale等。

建立一個新的JSP文件:




請將下列class文件加入classpath (你要建立同樣的目錄結構-- de.hunsicker.http.util,當然也可以自己調節包的名稱。!):




package de.hunsicker.http.util;

import java.util.*;

import javax.servlet.*;
import javax.servlet.http.*;

public class Browser extends HttpServlet
{
protected HttpServletRequest request;
protected HttpSession session;

protected String userAgent;
protected String company; // Firmenname des Herstellers
protected String name; // Bezeichnung des Browsers
protected String version; // Version
protected String mainVersion; // Hauptversion
protected String minorVersion; // Unterversion
protected String os; // Betriebssystem
protected String language = /"de/"; // Sprachcode Standard
protected Locale locale; // Locale-Objekt mit den aktuellen
// Spracheinstellungen

private Hashtable supportedLanguages; // Untersttzte Sprachen

public Browser(HttpServletRequest request, HttpSession session)
{
this.initialize();
this.request = request;
this.session = session;

this.setUserAgent(this.request.getHeader(/"User-Agent/"));
this.setCompany();
this.setName();
this.setVersion();
this.setMainVersion();
this.setMinorVersion();
this.setOs();
this.setLanguage();
this.setLocale();
}

public void initialize()
{
this.supportedLanguages = new Hashtable(2);

this.supportedLanguages.put(/"en/", /"/");
this.supportedLanguages.put(/"de/", /"/");
}

public void setUserAgent(String httpUserAgent)
{
this.userAgent = httpUserAgent.toLowerCase();
}

private void setCompany()
{
if (this.userAgent.indexOf(/"msie/") > -1)
{
this.company = /"Microsoft/";
}
else if (this.userAgent.indexOf(/"opera/") > -1)
{
this.company = /"Opera Software/";
}
else if (this.userAgent.indexOf(/"mozilla/") > -1)
{
this.company = /"Netscape Communications/";
}
else
{
this.company = /"unknown/";
}
}

/**
* Liefert den Firmennamen des Herstellers des verwendeten Browsers.
*/
public String getCompany()
{
return this.company;
}

private void setName()
{
if (this.company == /"Microsoft/")
{
this.name = /"Microsoft Internet Explorer/";
}
else if (this.company == /"Netscape Communications/")
{
this.name = /"Netscape Navigator/";
}
else if (this.company == /"Operasoftware/")
{
this.name = /"Operasoftware Opera/";
}
else
{
this.name = /"unknown/";
}
}

/**
* Liefert den Namen des verwendeten Browsers.
*/
public String getName()
{
return this.name;
}

private void setVersion()
{
int tmpPos;
String tmpString;

if (this.company == /"Microsoft/")
{
String str = this.userAgent.substring(this.userAgent.indexOf(/"msie/") + 5);
this.version = str.substring(0, str.indexOf(/";/"));
}
else
{
tmpString = (this.userAgent.substring(tmpPos = (this.userAgent.indexOf(/"//")) + 1, tmpPos + this.userAgent.indexOf(/" /"))).trim();
this.version = tmpString.substring(0, tmpString.indexOf(/" /"));
}
}

/**
* Liefert die Versionsnummer des verwendeten Browsers.
*/
public String getVersion()
{
return this.version;
}

private void setMainVersion()
{
this.mainVersion = this.version.substring(0, this.version.indexOf(/"./"));
}

/**
* Liefert die Hauptversionsnummer des verwendeten Browsers.
*/
public String getMainVersion()
{
return this.mainVersion;
}

private void setMinorVersion()
{
this.minorVersion = this.version.substring(this.version.indexOf(/"./") + 1).trim();
}

/**
* Liefert die Unterversionsnummer des verwendeten Browsers.
*/
public String getMinorVersion()
{
return this.minorVersion;
}

private void setOs()
{
if (this.userAgent.indexOf(/"win/") > -1)
{
if (this.userAgent.indexOf(/"windows 95/") > -1 || this.userAgent.indexOf(/"win95/") > -1)
{
this.os = /"Windows 95/";
}
if (this.userAgent.indexOf(/"windows 98/") > -1 || this.userAgent.indexOf(/"win98/") > -1)
{
this.os = /"Windows 98/";
}
if (this.userAgent.indexOf(/"windows nt/") > -1 || this.userAgent.indexOf(/"winnt/") > -1)
{
this.os = /"Windows NT/";
}
if (this.userAgent.indexOf(/"win16/") > -1 || this.userAgent.indexOf(/"windows 3./") > -1)
{
this.os = /"Windows 3.x/";
}
}
}

/**
* Liefert den Namen des Betriebssystems.
*/
public String getOs()
{
return this.os;
}

private void setLanguage()
{
String prefLanguage = this.request.getHeader(/"Accept-Language/");

if (prefLanguage != null)
{
String language = null;
StringTokenizer st = new StringTokenizer(prefLanguage, /",/");

int elements = st.countTokens();

for (int idx = 0; idx elements; idx++)
{
if (this.supportedLanguages.containsKey((language = st.nextToken())))
{
this.language = this.parseLocale(language);
}
}
}
}

/*
* Hilfsfunktion fr setLanguage().
*/
private String parseLocale(String language)
{
StringTokenizer st = new StringTokenizer(language, /"-/");

if (st.countTokens() == 2)
{
return st.nextToken();
}
else
{
return language;
}
}

/**
* Liefert das L?nderkürzel der vom Benutzer
* bevorzugten Sprache.
*/
public String getLanguage()
{
return this.language;
}

private void setLocale()
{
this.locale = new Locale(this.language, /"/");
}

/**
* Liefert ein Locale-Objekt mit der Sprach-Prferenz des verwendeten Browsers
*/
public Locale getLocale()
{
return this.locale;
}
}



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
4438全国亚洲精品在线观看视频| 国产精品偷伦视频免费观看国产| 亚洲欧美另类在线观看| 欧洲成人在线视频| 在线亚洲午夜片av大片| 亚洲人成电影网站色xx| 日本午夜精品理论片a级appf发布| 欧美日韩国产精品一区二区不卡中文| 国产人妖伪娘一区91| 亚洲福利视频免费观看| 最近中文字幕日韩精品| 国产精品福利在线| 91情侣偷在线精品国产| 欧美亚洲视频在线观看| 大胆人体色综合| 久久久久久久一区二区| 国产91成人video| 欧美在线观看视频| 国产精品一区二区三区在线播放| 国产精品看片资源| 亚洲美女视频网站| 亚洲a在线播放| 国产精品999| 日韩av在线免费观看一区| 庆余年2免费日韩剧观看大牛| 国产精品一区二区av影院萌芽| 美女精品视频一区| 亚洲色图校园春色| 精品在线小视频| 亚洲第一黄色网| 45www国产精品网站| 国产精品免费在线免费| 日本精品久久电影| 国产一区二区三区在线免费观看| 夜夜嗨av一区二区三区四区| 国产精品揄拍一区二区| 欧美成人sm免费视频| 热久久视久久精品18亚洲精品| 蜜臀久久99精品久久久久久宅男| 亚洲成人久久电影| 91国产在线精品| 欧美激情在线有限公司| 91探花福利精品国产自产在线| 国产精品午夜国产小视频| 欧美成人一区在线| 国产精品99久久久久久久久久久久| 亚洲男人天堂九九视频| 国产精品久久综合av爱欲tv| 日韩激情片免费| 91亚洲精品一区二区| 日本不卡视频在线播放| 日韩电影免费观看在线观看| 精品一区二区三区四区| 日韩专区中文字幕| 91chinesevideo永久地址| 亚洲人线精品午夜| 欧美一级视频免费在线观看| 日韩成人av在线播放| 精品久久久一区| 国产精品草莓在线免费观看| 日韩视频第一页| 日韩在线欧美在线国产在线| 欧美成人免费视频| 久久伊人精品天天| 日韩欧美aⅴ综合网站发布| 国产va免费精品高清在线观看| 日韩av免费观影| 国产v综合ⅴ日韩v欧美大片| 欧美日韩久久久久| 日韩精品在线免费播放| 91久久国产精品91久久性色| 亚洲欧美日韩一区二区在线| 国产精品专区第二| 欧美亚洲第一区| 欧美成人在线影院| 亚洲国产成人91精品| 亚洲影院在线看| 亚洲国产精品久久久| 国产成人在线亚洲欧美| 国产精品夜色7777狼人| 少妇高潮久久久久久潘金莲| 成人有码在线视频| 91免费视频网站| 精品国内产的精品视频在线观看| 国产成人aa精品一区在线播放| 国产999精品久久久| 狠狠躁夜夜躁人人躁婷婷91| 国产一区二区三区精品久久久| 国产在线高清精品| 亚洲午夜国产成人av电影男同| 欧美日韩国产综合视频在线观看中文| 亚洲国产精彩中文乱码av在线播放| 国产精品成人aaaaa网站| 揄拍成人国产精品视频| 97av在线影院| 伊人精品在线观看| 亚洲激情第一页| 欧美激情视频网| 久久久久久久久国产精品| 精品国产31久久久久久| 中文字幕日韩av电影| 午夜伦理精品一区| 九九久久久久99精品| 久久精品中文字幕| 国产一区二区三区在线| 国产一区二区精品丝袜| 青草青草久热精品视频在线观看| 国产成人一区二区三区电影| www.亚洲一区| 精品久久久国产精品999| 91av视频在线播放| 国内揄拍国内精品少妇国语| 午夜精品久久久久久久久久久久| 日韩欧美一区二区三区| 中文字幕精品在线| 日韩中文字幕免费| 色青青草原桃花久久综合| 97久久精品人搡人人玩| 亚洲电影免费观看| 日韩精品免费电影| 国产女人精品视频| 黄色一区二区在线| 国产视频综合在线| 国产精品视频专区| 日产精品久久久一区二区福利| 久久免费视频这里只有精品| 亚洲精品福利资源站| 久久男人资源视频| 日本免费久久高清视频| 国产亚洲欧美视频| 国产日产亚洲精品| 色综合色综合久久综合频道88| 欧美成人一区二区三区电影| 亚洲美女黄色片| 少妇久久久久久| 欧美日韩美女在线观看| 国产在线精品播放| 欧美日韩高清区| 亚洲精品小视频| 国产精品影片在线观看| 国产精品美女在线观看| 国产精品普通话| 成人久久18免费网站图片| 91高清在线免费观看| 在线观看亚洲区| 永久免费精品影视网站| 性欧美xxxx交| 欧美激情视频一区二区| 国产精品久久久久7777婷婷| 91精品国产九九九久久久亚洲| 国产成人在线精品| 77777少妇光屁股久久一区| 亚洲aⅴ男人的天堂在线观看| 91久久国产综合久久91精品网站| 欧美精品一区二区三区国产精品| 欧美在线欧美在线| 国产精品第一页在线| 亚洲天堂免费在线| 亚洲精品美女网站| 亚洲va欧美va在线观看| 欧美成人国产va精品日本一级| 亚洲国产成人久久综合| 国产精品久久久久久久久久东京| 夜夜狂射影院欧美极品|