請閱讀以下代碼。如果你的使用要求不同,可對這些代碼加以很方便的修改。這些代碼可以使你獲得:
公司company, 用戶name,版本version,main version,minor version
操作系統(未完成!),語言langu " /> caoporn免费视频在线,爱穿丝袜的麻麻3d漫画acg,99久久免费国产精精品

天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

使用JSP讀取客戶端信息

使用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;
}
}



jsp技術使用JSP讀取客戶端信息,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 美女被爆羞羞天美传媒 | 国产精品久久久久久久A片冻果 | 国产一区二区青青精品久久 | 国产精品人妻99一区二 | 在镜头里被CAO翻了H | 亚洲a视频在线观看 | 性做久久久久免费观看 | 女人被弄到高潮叫床免 | 成人免费网址在线 | 一个人在线观看的视频 | 国产午夜精品理论片免费观看 | 国产精品伊人 | 国产精品久久久久久久久爆乳 | 国产午夜在线精品三级a午夜电影 | 好爽好深太大了再快一点 | 韩国伦理电影在线神马网 | 亚洲精品午夜aaa级久久久久 | 竹菊影视一区二区三区 | 青青草国产自偷拍 | 和老外3p爽粗大免费视频 | 国产激情视频在线播放 | 国产99视频精品一区 | 精子pk美女| 琪琪色原网20岁以下热热色原网站 | 扒开美女嫩bbb | 国内2018年午夜福利5678 | 趁老师睡着吃她的奶水 | 男人把女人桶到爽免费看视频 | 美女叉腿掰阴大胆艺术照 | 中国少妇内射XXXHD免费 | 亚洲精品天堂无码中文字幕影院 | 日本人奶水中文影片 | 欧美亚洲色帝国 | 欧美 亚洲 日韩 在线综合 | 人妻插B视频一区二区三区 人妻 中文无码 中出 | 熟女强奷系列中文字幕 | 国产 日韩 欧美 高清 亚洲 | 国产AV精品白浆一区二 | 久久re这里视频只有精品首页 | 公交车被CAO到合不拢腿 | 国产精品内射久久久久欢欢 |