请问jsp如何读取客户端文件信息 可以写一个签名的applet,或者把这个文件上传到服务器上。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用applet肯定要跳窗的用javascript,然后submit回来. 同意大萝卜,jsp属于服务器端.只能通过对applet进行数字签名来访问本地的文件系统 调用Javascript然后通过表单或则隐藏帧等传到服务端! 请阅读以下代码。如果你的使用要求不同,可对这些代码加以很方便的修改。这些代码可以使你获得:公司company, 用户name,版本version,main version,minor version 操作系统(未完成!),语言language,locale等。 建立一个新的JSP文件: <%@ page language="java" import="de.hunsicker.http.util.*"%><%Browser eins = new Browser(request, session);out.println(eins.getVersion());%>请将下列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 Herstellersprotected String name; // Bezeichnung des Browsersprotected String version; // Versionprotected String mainVersion; // Hauptversionprotected String minorVersion; // Unterversionprotected String os; // Betriebssystemprotected String language = "de"; // Sprachcode Standardprotected Locale locale; // Locale-Objekt mit den aktuellen// Spracheinstellungenprivate Hashtable supportedLanguages; // Untersttzte Sprachenpublic 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;}} hibernate连接mysql报错 spring3最新最全的免费PPT下载,共享给大家学习用 spring企业开发大调查 hibernate 一查询问题 数据库高手请进(急)这段SQL语句怎么看呀 2、绝对优质JAVA版本OA系统技术转让!!! build.xml里内容是自已写,还是用工具写? hibernate的one-to-one的问题 请教各位关于从EJB客户端测试的问题? 项目规划中!希望有人支持! 散分!高手来指点下 问个小问题,2003server下可以安装Apache Tomcat 4.1和mysql 吗?
用javascript,然后submit回来.
然后通过表单或则隐藏帧等传到服务端!
公司company, 用户name,版本version,main version,minor version
操作系统(未完成!),语言language,locale等。
建立一个新的JSP文件:
<%@ page language="java" import="de.hunsicker.http.util.*"%>
<%
Browser eins = new Browser(request, session);
out.println(eins.getVersion());
%>
请将下列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
// Spracheinstellungenprivate Hashtable supportedLanguages; // Untersttzte Sprachenpublic 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;
}
}