2024年6月7日发(作者:)

在浏览器中与本地资源的交互

文档作者:王浩羽 更新日期:2008-06-26

实现浏览器与本地资源交互的两个步骤

一、本地请求的实现

1. JavaScript +Applet实现本地请求

方法:页面javascript脚本调用applet,通过applet实现向本地发送请求。

参考资料:通讯 和java与c通讯,最终在b/s架构下实现与硬件(读卡器)通讯

APPLET调用本地资源

2. Web Start实现本地请求(主要是用于应用程序)

参考资料: Java Web Start简介

Java Web Start 技术

3. 通过浏览器控件实现本地请求

ActiveX控件(Microsoft Explorer浏览器)或Plug-in控件(Netscape浏览器)

参考资料:ActiveX技术 (1) (2)

调用javacomm20-win32API注意事项

激活 ActiveX 控件 (1) (2) (3)

基于Web的电子会议系统

A JAva-COM Bridge

二、请求(JAVA)与本地资源的通讯实现

1. JNI 方式实现windows 和Linux两种平台串口通讯

用C进行串口编程,如果C能统一两种平台的统一方式

参考资料:Linux 下串口编程入门

2. 使用第三方组件实现对串口通讯的实现

(1) Windows 平台:

RS232或IEEE1284协议下,使用Java Communications实现。

参考资料:Java串行端口通讯技术

利用Java实现串口全双工通讯

采用串口操作进行短信收发

Java串口编程,短信Modem,AT指令

(2) Linux 平台:

RXTX /或Java Communications实现串口通讯

参考资料:Linux系统下运用开源RXTX库实现JAVA串口通讯

RXTX库实现JAVA串口通讯

3. 直接使用JAVA的JNI技术调用C/C++接口进行通讯

参考资料:JNI调用固有方法

Java: JNI完全手册 (1) (2) (3)

小结:

两种方法实现本地请求

一、 基于沙箱机制的applet和web start

二、 基于浏览器控件

请求访问本地资源响应实现有两种方法

一、 通过第三方组件(Java Communications或RXTX)辅助实现串口访问

二、 通过JNI进行接口访问或者调用C/C++动态库实现本地资源交互

方案对比

一、 基于Java PlugIn的Applet方案

1. 实现原理

JavaScript

LiveConnet

多种实现方式

Applet(签名

认证)

本地JRE

(1) 串口通讯

(2) JNI通讯

读卡器

2. 方案优缺点考察

优点:

(1) 统一多种平台和多种浏览器,统一性好,开发便捷。

(2) 灵活性高,处理业务逻辑容易。

(3) 不需要随着浏览器的版本升级而更新,或只依赖于JRE版本更新。

缺点:

(1) 实现过程可能稍微复杂一些。

(2) 随着JRE的版本更新需要重新编译重新发布。