ใช้ JSP เพื่ออ่านข้อมูลไคลเอ็นต์
ผู้เขียน:Eve Cole
เวลาอัปเดต:2009-07-02 17:13:11
ใช้ JSP เพื่ออ่านข้อมูลไคลเอ็นต์
โปรดอ่านรหัสต่อไปนี้ หากข้อกำหนดการใช้งานของคุณแตกต่างออกไป คุณสามารถแก้ไขรหัสเหล่านี้ได้อย่างง่ายดาย รหัสเหล่านี้ช่วยให้คุณได้รับ:
บริษัทบริษัท ชื่อผู้ใช้ เวอร์ชัน เวอร์ชันหลัก เวอร์ชันรอง
ระบบปฏิบัติการ (ยังไม่เสร็จ!) ภาษา สถานที่ ฯลฯ
สร้างไฟล์ JSP ใหม่:
โปรดเพิ่มไฟล์คลาสต่อไปนี้ใน classpath (คุณต้องสร้างโครงสร้างไดเร็กทอรีเดียวกัน - de.hunsicker.http.util แน่นอนว่าคุณสามารถปรับเปลี่ยนชื่อแพ็คเกจได้ด้วยตัวเอง!):
แพ็คเกจ de.hunsicker.http.util;
นำเข้า java.util.*;
นำเข้า javax.servlet.*;
นำเข้า javax.servlet.http.*;
เบราว์เซอร์คลาสสาธารณะขยาย HttpServlet
-
คำขอ HttpServletRequest ที่มีการป้องกัน
เซสชัน HttpSession ที่มีการป้องกัน
userAgent สตริงที่ได้รับการป้องกัน;
บริษัท String ที่มีการป้องกัน // Firmenname des Herstellers
ชื่อสตริงที่ได้รับการป้องกัน // Bezeichnung des Browsers
เวอร์ชันสตริงที่ได้รับการป้องกัน // เวอร์ชัน
ป้องกันสตริง mainVersion; // Hauptversion
ป้องกัน String minorVersion; // Unterversion
ป้องกัน String os; // Betriebssystem
ภาษาสตริงที่ได้รับการป้องกัน = "de"; // Sprachcode Standard
สถานที่ที่ได้รับการป้องกัน สถานที่; // Locale-Objekt mit den aktuellen
// Spracheinstellungen
รองรับ Hashtable ส่วนตัวภาษา // Untersttzte Sprachen
เบราว์เซอร์สาธารณะ (คำขอ HttpServletRequest, เซสชัน HttpSession)
-
this.initialize();
this.request = คำขอ;
this.session = เซสชั่น;
this.setUserAgent(this.request.getHeader("ตัวแทนผู้ใช้"));
นี้.setCompany();
นี้.setName();
นี้.setVersion();
this.setMainVersion();
this.setMinorVersion();
นี้.setOs();
this.setLanguage();
this.setLocale();
-
โมฆะสาธารณะเริ่มต้น ()
-
this.supportedLanguages = ใหม่ Hashtable(2);
this.supportedLanguages.put("en", "");
this.supportedLanguages.put("de", "");
-
โมฆะสาธารณะ setUserAgent (สตริง httpUserAgent)
-
this.userAgent = httpUserAgent.toLowerCase();
-
ชุดโมฆะส่วนตัว บริษัท ()
-
ถ้า (this.userAgent.indexOf("msie") > -1)
-
this.company = "ไมโครซอฟต์";
-
อย่างอื่นถ้า (this.userAgent.indexOf("opera") > -1)
-
this.company = "ซอฟต์แวร์โอเปร่า";
-
อย่างอื่นถ้า (this.userAgent.indexOf("mozilla") > -1)
-
this.company = "การสื่อสารของ Netscape";
-
อื่น
-
this.company = "ไม่ทราบ";
-
-
-
* Liefert den Firmennamen des Herstellers เบราว์เซอร์ล่าสุด
-
สตริงสาธารณะ getCompany()
-
ส่งคืน this.company;
-
setName เป็นโมฆะส่วนตัว ()
-
ถ้า (this.company == "Microsoft")
-
this.name = "ไมโครซอฟต์ อินเตอร์เน็ต เอ็กซ์พลอเรอร์";
-
อย่างอื่นถ้า (this.company == "Netscape Communications")
-
this.name = "เนวิเกเตอร์เน็ตสเคป";
-
อย่างอื่นถ้า (this.company == "Operasoftware")
-
this.name = "ซอฟต์แวร์โอเปร่า โอเปร่า";
-
อื่น
-
this.name = "ไม่ทราบ";
-
-
-
* Liefert den Namen เบราว์เซอร์ใหม่
-
สตริงสาธารณะ getName()
-
ส่งคืน this.name;
-
setVersion เป็นโมฆะส่วนตัว ()
-
int tmpPos;
สตริง tmpString;
ถ้า (this.company == "Microsoft")
-
สตริง str = this.userAgent.substring(this.userAgent.indexOf("msie") + 5);
this.version = str.substring(0, str.indexOf(";"));
-
อื่น
-
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 เบราว์เซอร์
-
สตริงสาธารณะ getVersion()
-
ส่งคืน this.version;
-
โมฆะส่วนตัว setMainVersion()
-
this.mainVersion = this.version.substring(0, this.version.indexOf("."));
-
-
* Liefert die Hauptversionsnummer des verwendeten เบราว์เซอร์
-
สตริงสาธารณะ getMainVersion()
-
ส่งคืน this.mainVersion;
-
โมฆะส่วนตัว setMinorVersion()
-
this.minorVersion = this.version.substring(this.version.indexOf(".") + 1).trim();
-
-
* Liefert ตาย Unterversionsnummer des verwendeten เบราว์เซอร์
-
สตริงสาธารณะ getMinorVersion()
-
ส่งคืน this.minorVersion;
-
setOs เป็นโมฆะส่วนตัว ()
-
ถ้า (this.userAgent.indexOf("win") > -1)
-
ถ้า (this.userAgent.indexOf("windows 95") > -1 || this.userAgent.indexOf("win95") > -1)
-
this.os = "วินโดวส์ 95";
-
ถ้า (this.userAgent.indexOf("windows 98") > -1 || this.userAgent.indexOf("win98") > -1)
-
this.os = "วินโดวส์ 98";
-
ถ้า (this.userAgent.indexOf("windows nt") > -1 || this.userAgent.indexOf("winnt") > -1)
-
this.os = "Windows NT";
-
ถ้า (this.userAgent.indexOf("win16") > -1 || this.userAgent.indexOf("windows 3.") > -1)
-
this.os = "Windows 3.x";
-
-
-
-
* ลีเฟิร์ต เดน นาเมน เดส์ เบทรีบส์ซิสเต็มส์
-
สตริงสาธารณะ getOs()
-
ส่งคืน this.os;
-
setLanguage เป็นโมฆะส่วนตัว ()
-
สตริง prefLanguage = this.request.getHeader("Accept-Language");
ถ้า (prefLanguage != null)
-
ภาษาสตริง = null;
StringTokenizer st = ใหม่ StringTokenizer(prefLanguage, ",");
องค์ประกอบ int = st.countTokens();
สำหรับ (int idx = 0; องค์ประกอบ idx; idx++)
-
ถ้า (this.supportedLanguages.containsKey ((ภาษา = st.nextToken())))
-
this. language = this.parseLocale (ภาษา);
-
-
-
-
-
* Hilfsfunktion จาก setLanguage()
-
สตริงส่วนตัว parseLocale (ภาษาสตริง)
-
StringTokenizer st = ใหม่ StringTokenizer(ภาษา, "-");
ถ้า (st.countTokens() == 2)
-
กลับ st.nextToken();
-
อื่น
-
ภาษาส่งคืน;
-
-
-
* ลีเฟิร์ต ดาส ลอนเดอร์คูร์เซล เดอร์ วอม เบนุตเซอร์
* bevorzugten Sprache.
-
สตริงสาธารณะ getLanguage()
-
ส่งคืน this. language;
-
setLocale เป็นโมฆะส่วนตัว ()
-
this.locale = สถานที่ใหม่ (this. language, "");
-
-
* Liefert ein Locale-Objekt mit der Sprach-Prferenz des verwendeten Browsers
-
สถานที่สาธารณะ getLocale()
-
ส่งคืน this.locale;
-
-