⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 0044.htm

📁 精通struts源码,孙卫琴.经过更新后的,请查收,
💻 HTM
字号:
<html>

<head>
<title>新时代软件教程:操作系统 主页制作 服务器 设计软件 网络技术 编程语言 文字编辑</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<style>
<!--
body, table {font-size: 9pt; font-family: 宋体}
a {text-decoration:none}
a:hover {color: red;text-decoration:underline}
.1  {background-color: rgb(245,245,245)}
-->
</style>
</head>
<p align="center"><script src="../../1.js"></script></a>
    <p align="center"><big><strong>使用JSP读取客户端信息</strong></big></p>

<div align="right">(编译/Blueski)</div>
<p><span class=smallFont>
请阅读以下代码。如果你的使用要求不同,可对这些代码加以很方便的修改。这些代码可以使你获得:<br>
公司company, 用户name,版本version,main version,minor version <br>
操作系统(未完成!),语言language,locale等。 <br>
<br>
建立一个新的JSP文件: <br>
<br>
&lt;%@ page language=&quot;java&quot; import=&quot;de.hunsicker.http.util.*&quot;%&gt;<br>
&lt;%<br>
Browser eins = new Browser(request, session);<br>
out.println(eins.getVersion());<br>
%&gt;<br>
<br>
请将下列class文件加入classpath (你要建立同样的目录结构-- de.hunsicker.http.util,当然也可以自己调节包的名称。!): <br>
<br>
<br>
<br>
<br>
package de.hunsicker.http.util;<br>
<br>
import java.util.*;<br>
<br>
import javax.servlet.*;<br>
import javax.servlet.http.*;<br>
<br>
public class Browser extends HttpServlet<br>
{<br>
protected HttpServletRequest request;<br>
protected HttpSession session;<br>
<br>
protected String userAgent;<br>
protected String company; // Firmenname des Herstellers<br>
protected String name; // Bezeichnung des Browsers<br>
protected String version; // Version<br>
protected String mainVersion; // Hauptversion<br>
protected String minorVersion; // Unterversion<br>
protected String os; // Betriebssystem<br>
protected String language = &quot;de&quot;; // Sprachcode Standard<br>
protected Locale locale; // Locale-Objekt mit den aktuellen<br>
// Spracheinstellungen<br>
<br>
private Hashtable supportedLanguages; // Untersttzte Sprachen<br>
<br>
public Browser(HttpServletRequest request, HttpSession session)<br>
{<br>
this.initialize();<br>
this.request = request;<br>
this.session = session;<br>
<br>
this.setUserAgent(this.request.getHeader(&quot;User-Agent&quot;));<br>
this.setCompany();<br>
this.setName();<br>
this.setVersion();<br>
this.setMainVersion();<br>
this.setMinorVersion();<br>
this.setOs();<br>
this.setLanguage();<br>
this.setLocale();<br>
}<br>
<br>
public void initialize()<br>
{<br>
this.supportedLanguages = new Hashtable(2);<br>
<br>
this.supportedLanguages.put(&quot;en&quot;, &quot;&quot;);<br>
this.supportedLanguages.put(&quot;de&quot;, &quot;&quot;);<br>
}<br>
<br>
public void setUserAgent(String httpUserAgent)<br>
{<br>
this.userAgent = httpUserAgent.toLowerCase();<br>
}<br>
<br>
private void setCompany()<br>
{<br>
if (this.userAgent.indexOf(&quot;msie&quot;) &gt; -1)<br>
{<br>
this.company = &quot;Microsoft&quot;;<br>
}<br>
else if (this.userAgent.indexOf(&quot;opera&quot;) &gt; -1)<br>
{<br>
this.company = &quot;Opera Software&quot;;<br>
}<br>
else if (this.userAgent.indexOf(&quot;mozilla&quot;) &gt; -1)<br>
{<br>
this.company = &quot;Netscape Communications&quot;;<br>
}<br>
else<br>
{<br>
this.company = &quot;unknown&quot;;<br>
}<br>
}<br>
<br>
/**<br>
* Liefert den Firmennamen des Herstellers des verwendeten Browsers.<br>
*/<br>
public String getCompany()<br>
{<br>
return this.company;<br>
}<br>
<br>
private void setName()<br>
{<br>
if (this.company == &quot;Microsoft&quot;)<br>
{<br>
this.name = &quot;Microsoft Internet Explorer&quot;;<br>
}<br>
else if (this.company == &quot;Netscape Communications&quot;)<br>
{<br>
this.name = &quot;Netscape Navigator&quot;;<br>
}<br>
else if (this.company == &quot;Operasoftware&quot;)<br>
{<br>
this.name = &quot;Operasoftware Opera&quot;;<br>
}<br>
else<br>
{<br>
this.name = &quot;unknown&quot;;<br>
}<br>
}<br>
<br>
/**<br>
* Liefert den Namen des verwendeten Browsers.<br>
*/<br>
public String getName()<br>
{<br>
return this.name;<br>
}<br>
<br>
private void setVersion()<br>
{<br>
int tmpPos;<br>
String tmpString;<br>
<br>
if (this.company == &quot;Microsoft&quot;)<br>
{<br>
String str = this.userAgent.substring(this.userAgent.indexOf(&quot;msie&quot;) + 5);<br>
this.version = str.substring(0, str.indexOf(&quot;;&quot;));<br>
}<br>
else<br>
{<br>
tmpString = (this.userAgent.substring(tmpPos = (this.userAgent.indexOf(&quot;/&quot;)) + 1, tmpPos + this.userAgent.indexOf(&quot; &quot;))).trim();<br>
this.version = tmpString.substring(0, tmpString.indexOf(&quot; &quot;));<br>
}<br>
}<br>
<br>
/**<br>
* Liefert die Versionsnummer des verwendeten Browsers.<br>
*/<br>
public String getVersion()<br>
{<br>
return this.version;<br>
}<br>
<br>
private void setMainVersion()<br>
{<br>
this.mainVersion = this.version.substring(0, this.version.indexOf(&quot;.&quot;));<br>
}<br>
<br>
/**<br>
* Liefert die Hauptversionsnummer des verwendeten Browsers.<br>
*/<br>
public String getMainVersion()<br>
{<br>
return this.mainVersion;<br>
}<br>
<br>
private void setMinorVersion()<br>
{<br>
this.minorVersion = this.version.substring(this.version.indexOf(&quot;.&quot;) + 1).trim();<br>
}<br>
<br>
/**<br>
* Liefert die Unterversionsnummer des verwendeten Browsers.<br>
*/<br>
public String getMinorVersion()<br>
{<br>
return this.minorVersion;<br>
}<br>
<br>
private void setOs()<br>
{<br>
if (this.userAgent.indexOf(&quot;win&quot;) &gt; -1)<br>
{<br>
if (this.userAgent.indexOf(&quot;windows 95&quot;) &gt; -1 || this.userAgent.indexOf(&quot;win95&quot;) &gt; -1)<br>
{<br>
this.os = &quot;Windows 95&quot;;<br>
}<br>
if (this.userAgent.indexOf(&quot;windows 98&quot;) &gt; -1 || this.userAgent.indexOf(&quot;win98&quot;) &gt; -1)<br>
{<br>
this.os = &quot;Windows 98&quot;;<br>
}<br>
if (this.userAgent.indexOf(&quot;windows nt&quot;) &gt; -1 || this.userAgent.indexOf(&quot;winnt&quot;) &gt; -1)<br>
{<br>
this.os = &quot;Windows NT&quot;;<br>
}<br>
if (this.userAgent.indexOf(&quot;win16&quot;) &gt; -1 || this.userAgent.indexOf(&quot;windows 3.&quot;) &gt; -1)<br>
{<br>
this.os = &quot;Windows 3.x&quot;;<br>
}<br>
}<br>
}<br>
<br>
/**<br>
* Liefert den Namen des Betriebssystems.<br>
*/<br>
public String getOs()<br>
{<br>
return this.os;<br>
}<br>
<br>
private void setLanguage()<br>
{<br>
String prefLanguage = this.request.getHeader(&quot;Accept-Language&quot;);<br>
<br>
if (prefLanguage != null)<br>
{<br>
String language = null;<br>
StringTokenizer st = new StringTokenizer(prefLanguage, &quot;,&quot;);<br>
<br>
int elements = st.countTokens();<br>
<br>
for (int idx = 0; idx elements; idx++)<br>
{<br>
if (this.supportedLanguages.containsKey((language = st.nextToken())))<br>
{<br>
this.language = this.parseLocale(language);<br>
}<br>
}<br>
}<br>
}<br>
<br>
/*<br>
* Hilfsfunktion fr setLanguage().<br>
*/<br>
private String parseLocale(String language)<br>
{<br>
StringTokenizer st = new StringTokenizer(language, &quot;-&quot;);<br>
<br>
if (st.countTokens() == 2)<br>
{<br>
return st.nextToken();<br>
}<br>
else<br>
{<br>
return language;<br>
}<br>
}<br>
<br>
/**<br>
* Liefert das L?nderkürzel der vom Benutzer<br>
* bevorzugten Sprache.<br>
*/<br>
public String getLanguage()<br>
{<br>
return this.language;<br>
}<br>
<br>
private void setLocale()<br>
{<br>
this.locale = new Locale(this.language, &quot;&quot;);<br>
}<br>
<br>
/**<br>
* Liefert ein Locale-Objekt mit der Sprach-Prferenz des verwendeten Browsers<br>
*/<br>
public Locale getLocale()<br>
{<br>
return this.locale;<br>
}<br>
}

  </table>
<p align="center"><script src="../../2.js"></script></a>
</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -