最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用JSP讀取客戶端信息

 更新時間:2006年10月13日 00:00:00   作者:  
使用JSP讀取客戶端信息

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

建立一個新的JSP文件:




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




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技術實現(xiàn)動態(tài)頁面到靜態(tài)頁面的方法

    JSP技術實現(xiàn)動態(tài)頁面到靜態(tài)頁面的方法

    實現(xiàn)動態(tài)頁面到靜態(tài)頁面以減小數(shù)據(jù)庫與服務器的壓力和負擔,這是很多實際開發(fā)應用工作當中的一個理想的解決辦法,那么本文就向你講解如何實現(xiàn)實現(xiàn)動態(tài)頁面到靜態(tài)頁面的方案。
    2016-10-10
  • jsp中為表格添加水平滾動條的方法

    jsp中為表格添加水平滾動條的方法

    下面小編就為大家?guī)硪黄猨sp中為表格添加水平滾動條的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-09-09
  • struts2 spring整合fieldError問題

    struts2 spring整合fieldError問題

    用到了校驗框架,在jsp頁面校驗失敗一次后,無論再次輸入正確與否都跳轉(zhuǎn)不到except page。
    2009-06-06
  • Jsp自定義標簽和方法詳解

    Jsp自定義標簽和方法詳解

    這篇文章主要介紹了Jsp自定義標簽和方法詳解的相關資料,需要的朋友可以參考下
    2017-06-06
  • JSP出現(xiàn)中文亂碼問題解決方法詳解

    JSP出現(xiàn)中文亂碼問題解決方法詳解

    這篇文章主要介紹了JSP出現(xiàn)中文亂碼問題解決方法詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-08-08
  • JSP實用教程之簡易文件上傳組件的實現(xiàn)方法(附源碼)

    JSP實用教程之簡易文件上傳組件的實現(xiàn)方法(附源碼)

    文件上傳是我們在日常開發(fā)中經(jīng)常遇到的一個功能,下面這篇文章主要給大家介紹了關于JSP實用教程之簡易文件上傳組件的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,需要的朋友們下面來一起看看吧。
    2017-07-07
  • jsp中文亂碼問題的簡單解決方法

    jsp中文亂碼問題的簡單解決方法

    這篇文章主要為大家介紹了jsp中文亂碼問題的簡單解決方法,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-04-04
  • 實例講解JSP Model2體系結(jié)構(gòu)(上)

    實例講解JSP Model2體系結(jié)構(gòu)(上)

    實例講解JSP Model2體系結(jié)構(gòu)(上)...
    2006-10-10
  • 如何在jsp界面中插入圖片

    如何在jsp界面中插入圖片

    這篇文章主要介紹了如何在jsp界面中插入圖片,文章通過示例代碼和運行結(jié)果圖介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-08-08
  • Windows下JSP開發(fā)環(huán)境的配置

    Windows下JSP開發(fā)環(huán)境的配置

    Windows下JSP開發(fā)環(huán)境的配置...
    2006-10-10

最新評論

建水县| 罗江县| 延庆县| 巨鹿县| 高台县| 普陀区| 如东县| 潢川县| 南阳市| 济阳县| 星子县| 宜春市| 杭州市| 凤台县| 恭城| 鄂尔多斯市| 理塘县| 靖远县| 长阳| 乐东| 西乌珠穆沁旗| 额尔古纳市| 皮山县| 庄河市| 蒙城县| 阿坝| 来宾市| 乌拉特后旗| 米易县| 肥城市| 博客| 丁青县| 黄龙县| 防城港市| 福建省| 平和县| 庄河市| 文成县| 莱西市| 稻城县| 澄江县|