使用JSP读取客户端信息

2016-01-29 12:07 55 1 收藏

使用JSP读取客户端信息,使用JSP读取客户端信息

【 tulaoshi.com - Java 】

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

来源:http://www.tulaoshi.com/n/20160129/1484685.html

延伸阅读
交通银行手机客户端如何使用   交通银行手机银行客户端: 一、交通银行手机银行客户端开通问题 开通交通银行手机银行客户端需要什么条件? A、您的手机属于iPhone、Android、Windows Mobile、Symbian等操作系统或支持J2ME扩展功能。 B、您已经开通无线上网服务。 C、您需通过交行网点柜面、个人网银开通手机银行业...
标签: 电脑入门
点击登录进入,别忘了填写代理帐号密码,; 点击打开设置界面,在左边窗口选择适合你的代理线路,点; 点击进游戏,如果没反应,请把魔兽主程序(wow.exe)拖到GameCap中,双击运行它; 点击看是否加速成功。 如果加速成功,但是效果不理想,请选择另外的线路,然后ALT+F4关闭游戏重进; 如果加速失败,在中启用或禁用兼容模式,重进游戏再检测;...
标签: 电脑入门
1. 您需要连接天翼宽带(WiFi)网络时,请确认您使用了配置有符合802.11b/g标准功能模块或设备的计算机。 2. 该版本客户端仅支持Windows XP、Windows Vista、Windows 7 32位的中文简体操作系统。 3. 天翼宽带(3G)针对EV-DO RevA网络、天翼宽带(1X)针对CDMA1X网络。 4. 为确保无线接入业务正常使用,请在使用天翼宽带(WiFi)、天翼宽带(3G)、天...
前段时间发了个 ZUNE的不清晰的图,这次终于截到了清晰的大图,赶紧放上来给大家分享。
如何使用茄子快传电脑客户端   1. 开启茄子快传电脑客户端,顺便认识一下 2. 如何使用二人收发模式 如何发送文件 第一步:在开始界面上,点击我要发送 第二步:选择要发送的文件,点击"选好了" 第三步:找到需要发送的设备的名字,直接点击它就ok了 第四步:连接接收方,并发送文件...

经验教程

512

收藏

73
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部