使用JSP读取客户端信息

ah7elscj9nkrbv

ah7elscj9nkrbv

2016-01-29 12:07

使用JSP读取客户端信息,使用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.vers
展开更多 50%)
分享

猜你喜欢

使用JSP读取客户端信息

Java JAVA基础
使用JSP读取客户端信息

win客户端和linux客户端的区别

服务器
win客户端和linux客户端的区别

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

jsp 获取客户端的浏览器和操作系统信息

Web开发
jsp 获取客户端的浏览器和操作系统信息

JS通过WMI获取客户端硬件信息

Web开发
JS通过WMI获取客户端硬件信息

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

Zune 客户端

平面设计 标志设计 UI设计 VI设计
Zune 客户端

jsp中获取客户端的浏览器和操作系统信息

Web开发
jsp中获取客户端的浏览器和操作系统信息

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

在JSP中使用JavaMail(一)

在JSP中使用JavaMail(一)

增加状态栏按钮及其它......

增加状态栏按钮及其它......
下拉加载更多内容 ↓