Utiliser JSP pour lire les informations client
Auteur:Eve Cole
Date de mise à jour:2009-07-02 17:13:11
Utiliser JSP pour lire les informations client
Veuillez lire le code suivant. Si vos besoins d'utilisation sont différents, ces codes peuvent être facilement modifiés. Ces codes permettent d'obtenir :
Société, nom d'utilisateur, version, version principale, version mineure
Système d'exploitation (pas terminé !), langue, paramètres régionaux, etc.
Créez un nouveau fichier JSP :
Veuillez ajouter les fichiers de classe suivants au chemin de classe (vous devez créer la même structure de répertoires - de.hunsicker.http.util, bien sûr, vous pouvez également ajuster le nom du package vous-même !) :
paquet de.hunsicker.http.util ;
importer java.util.* ;
importer javax.servlet.* ;
importer javax.servlet.http.* ;
Le navigateur de classe publique étend HttpServlet
{
requête HttpServletRequest protégée ;
session HttpSession protégée ;
Chaîne protégée userAgent ;
société String protégée; // Firmenname des Herstellers
nom de chaîne protégé ; // Configuration des navigateurs
version de chaîne protégée ; // Version
protected String mainVersion ; // Version supérieure
protected String minorVersion; // Non-version
protected String os; // Système de récupération
langage de chaîne protégé = "de"; // Sprachcode Standard
Locale locale protégée ; // Locale-Objekt mit the actuellen
// Spracheinstellungen
table de hachage privée Langues prises en charge ; // Spécifications inférieures
Navigateur public (requête HttpServletRequest, session HttpSession)
{
this.initialize();
this.request = demande ;
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 initialiser()
{
this.supportedLanguages = new Hashtable(2);
this.supportedLanguages.put("fr", "");
this.supportedLanguages.put("de", "");
}
public void setUserAgent (String httpUserAgent)
{
this.userAgent = httpUserAgent.toLowerCase();
}
ensemble vide privéCompany()
{
si (this.userAgent.indexOf("msie") > -1)
{
this.company = "Microsoft";
}
sinon si (this.userAgent.indexOf("opera") > -1)
{
this.company = "Logiciel Opera";
}
sinon si (this.userAgent.indexOf("mozilla") > -1)
{
this.company = "Netscape Communications";
}
autre
{
this.company = "inconnu";
}
}
/**
* Liefert den Firmennamen des Herstellers des navigateurs utilisés.
*/
chaîne publique getCompany()
{
renvoyer this.company ;
}
ensemble vide privéNom()
{
si (this.company == "Microsoft")
{
this.name = "Microsoft Internet Explorer";
}
sinon si (this.company == "Netscape Communications")
{
this.name = "Netscape Navigator";
}
sinon si (this.company == "Operasoftware")
{
this.name = "Operasoftware Opera";
}
autre
{
this.name = "inconnu";
}
}
/**
* Nom du navigateur utilisé.
*/
chaîne publique getName()
{
renvoie this.name ;
}
ensemble vide privéVersion()
{
int tmpPos ;
Chaîne tmpString ;
si (this.company == "Microsoft")
{
String str = this.userAgent.substring(this.userAgent.indexOf("msie") + 5);
this.version = str.substring(0, str.indexOf(";"));
}
autre
{
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 navigateurs utilisés.
*/
chaîne publique getVersion()
{
renvoie cette .version ;
}
vide privé setMainVersion()
{
this.mainVersion = this.version.substring(0, this.version.indexOf("."));
}
/**
* Liefert die Hauptversionsnummer des navigateurs utilisés.
*/
chaîne publique getMainVersion()
{
renvoie this.mainVersion ;
}
vide privé setMinorVersion()
{
this.minorVersion = this.version.substring(this.version.indexOf(".") + 1).trim();
}
/**
* Liefert die Unterversionsnummer des navigateurs utilisés.
*/
chaîne publique getMinorVersion()
{
renvoie this.minorVersion ;
}
setOs vide privé()
{
si (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.
*/
chaîne publique getOs()
{
renvoie this.os ;
}
privé vide setLanguage()
{
String prefLanguage = this.request.getHeader("Accept-Language");
si (prefLanguage != null)
{
Langage de chaîne = null ;
StringTokenizer st = new StringTokenizer(prefLanguage, ",");
int éléments = st.countTokens();
pour (int idx = 0 ; éléments idx ; idx++)
{
if (this.supportedLanguages.containsKey((langue = st.nextToken())))
{
this.langue = this.parseLocale(langue);
}
}
}
}
/*
* Fonction de fonction pour setLanguage().
*/
analyse de chaîne privéeLocale (langage de chaîne)
{
StringTokenizer st = new StringTokenizer(langue, "-");
si (st.countTokens() == 2)
{
return st.nextToken();
}
autre
{
langue de retour ;
}
}
/**
* Liefert das Lönderkürzel der vom Benutzer
* Bevorzugten Sprache.
*/
chaîne publique getLanguage()
{
renvoie this.langue ;
}
vide privé setLocale()
{
this.locale = new Locale(this.langue, "");
}
/**
* Liefert un objet local avec les préférences linguistiques des navigateurs utilisés
*/
Locale publique getLocale()
{
renvoie this.locale ;
}
}