使用J读取客户端信息_JSP技巧_黑客防线网安服务器维护基地--Powered by WWW.RONGSEN.COM.CN

使用J读取客户端信息

作者:黑客防线网安JSP教程基地 来源:黑客防线网安JSP教程基地 浏览次数:0

本篇关键词:信息客户端读取使用
黑客防线网安网讯:使用JSP读取客户端信息       请阅读以下代码。如果你的使用要求不同,可对这些代码加以很方便的修改。这些代码可以使你获得:   公司company, 用户name,版本version,main version...
使用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;
   }
   }
  
  
  
  
    黑客防线网安服务器维护方案本篇连接:http://www.rongsen.com.cn/show-16534-1.html
网站维护教程更新时间:2012-04-07 00:33:11  【打印此页】  【关闭
我要申请本站N点 | 黑客防线官网 |  
专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。黑客防线网安服务器维护基地招商进行中!QQ:29769479

footer  footer  footer  footer