java做的web系统 m1 读卡器 结合_IE浏览器接入IC卡读写器实现M1卡的读写功能

本文介绍了如何使用Java开发的Web系统结合ActiveX技术,通过ocx控件实现在IE浏览器中对M1非接触式IC卡的读写功能。详细步骤包括注册OCX控件、引用CLASSID以及进行M1卡的读写操作。这种方法的局限性在于仅支持IE浏览器。
摘要由CSDN通过智能技术生成

基于ActiveX技术的ocx控件是实现网页上读写

IC卡的一个比较不错的方法,因为ocx是com组件,通过其发布的接口,IE可以实现所有的功能。ActiveX不仅能适应大部分编程语言,做到与编程语言无关,还能将

IC卡读卡器集成到web中,使得在BS结构中可以在web客户端轻松的调用IC卡读卡器,极大地改善了用户体验。 只要为IC卡读卡器或者

NFC读写器发布相应的ActiveX控件就可以实现在WEB客户端使用IC卡读卡器了,但是这种技术方案的最大缺点就是只支持IE浏览器,不支持其他的浏览器。

这里我们仅以L3-U、L3-S两款

非接触式IC卡读写器在IE浏览器和IE内核的浏览器中实现对M1卡的读写功能。

第一、系统中注册OCX控件,在开发包中我们提供了LotusCardActiveX.ocx这个文件,需要对它进行注册(这里不再赘述如何注册ocx控件),可以在开发包中执行RegOcx.bat这个批处理文件即可。注意,

LotusCardActiveX.ocx所在的文件路径不要有中文路径,否则有可能提示控件注册失败。

第二、在页面中引用正确的CLASSID,我们设备的CLASSID=CLSID:BD1874A5-3810-4639-8B70-3DDD607BAADB,在页面中完整应用如下:

CLASSID="CLSID:BD1874A5-3810-4639-8B70-3DDD607BAADB">

第三,实现对M1卡的读写操作,这里仅仅介绍对M1卡的读写,对其它卡片的读写请参考对应的文档进行。

function OnTest()

{

var nHandle = 0; //设备句柄

var bResult = 0;

var strTextInfo = "";

nHandle

=

LotusCardDriver.OpenDevice("",0,0,0);//对

IC卡读写器

进行设备初始化,如果IC卡读写是USB接口的,第一个参数为空;如果是IC卡读写器是RS232串口设备,请在第一个参数位置提供正确的端口号。

if(nHandle <=0 )

{

alert("打开设备失败!");

return;

}

LotusCardDriver.Beep(nHandle,10);//读卡器蜂鸣器

bResult = LotusCardDriver.GetCardNo(nHandle,38);

if(bResult!=1)

{

alert("寻卡失败!");

LotusCardDriver.CloseDevice(nHandle);

return;

}

alert("卡号:"+LotusCardDriver.CardNo);//获取IC卡UID的方法   LotusCardDriver.CardPassWord="FFFFFFFFFFFF";

bResult=LotusCardDriver.LoadKey(nHandle, 96, 0);

if(bResult!=1)

{

alert("装载密码失败!");

LotusCardDriver.CloseDevice(nHandle);

return;

}

bResult=LotusCardDriver.Authentication(nHandle, 96, 0);

if(bResult!=1)

{

alert("密码认证失败!");

LotusCardDriver.CloseDevice(nHandle);

return;

}

bResult = LotusCardDriver.Read(nHandle, 2);

if(bResult!=1)

{

alert("读2块失败!");

LotusCardDriver.CloseDevice(nHandle);

return;

}

alert("2块:"+LotusCardDriver.ReadWriteBuffer);

LotusCardDriver.ReadWriteBuffer="0123456789abcdef0123456789abcdef";

bResult = LotusCardDriver.Write(nHandle, 2);

if(bResult!=1)

{

alert("写2块失败!");

LotusCardDriver.CloseDevice(nHandle);

return;

}

alert("写2块OK");

LotusCardDriver.CardPassWord="FFFFFFFFFFFF";

bResult=LotusCardDriver.LoadKey(nHandle, 96, 1);

if(bResult!=1)

{

alert("扇区1装载密码失败!");

LotusCardDriver.CloseDevice(nHandle);

return;

}

bResult=LotusCardDriver.Authentication(nHandle, 96, 1);

if(bResult!=1)

{

alert("扇区1密码认证失败!");

LotusCardDriver.CloseDevice(nHandle);

return;

}

bResult = LotusCardDriver.WriteText(nHandle, 1, "春眠不觉晓处处蚊子咬夜来风雨声疙瘩知多少");

if(bResult!=1)

{

alert("扇区1写文本失败!");

LotusCardDriver.CloseDevice(nHandle);

return;

}

strTextInfo = LotusCardDriver.ReadText(nHandle, 1);

alert("扇区1文本:"+strTextInfo);

LotusCardDriver.CloseDevice(nHandle);

}

第四、在页面控件中调用OnTest()函数。

以上内容是基于IE浏览器接入IC卡读写器实现M1卡的读写功能的开发范例,用户在使用我司产品进行二次开发过程中,可以作为范例进行参考和快速开发。如有疑问和需要技术支持,请联系我司在线技术支持。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值