欢迎来到天天文库
浏览记录
ID:1429215
大小:28.78 KB
页数:8页
时间:2017-11-11
《串口做成插件嵌入网页》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、串口做成Applet嵌入网页的方法由于公司要在车间实现无图化生产,车间安装触摸屏进行电子查图。登陆界面想通过读卡器直接读卡号,读卡器通过串口通信,所以要用到串口的读取。另外由于公司内网还是很老的asp网页,要嵌入网页只能通过插件,于是用java来做的话只能通过B/S模式的Applet来实现。如果网站是java环境,建议还是用serverlet来做,或者SSH等。第一步,用java实现读串口:这里用到java的Comm.jar包,这是一个标准包的扩展。将Comm.jar下载下来后win32com.dll文件放到jre的b
2、in下面,系统的System32下面(之所以放到System32下面是应为为了Applet能调用);javax.comm.properties文件放到jre的lib下面;comm.jar文件放到jre的libext下面Comm.jar的类简介首先,简述一下Comm.jar包的关键类:Comm.jar包的类分三层,顶层,底层和驱动层。顶层用来管理端口或所有端口的抽象类,属于不和具体物理对象挂钩的一类。比如:CommPortIdentifier,CommPort。底层实现了实际物理端口,比如:SerialPort,Par
3、allelPortComm.jar读串口的实现然后,讲解下具体的使用方式,这是重点:1、应用CommPortIdentifier类获得所有的串口数据,这里CommPortIdentifier将与驱动通信,得到所有可用端口。程序中直接调用静态方法getPortIdentifiers()。将返回一个枚举对象。2、应用CommPortIdentifier对象,打开一个端口。程序中用open方法,返回CommPort对象或者其子类对象(比如SerialPort,ParallelPort)3、通过底层的SerialPort,Pa
4、rallelPort类设置相应的参数,程序中应用setSerialPortParams方法。该方法中有4各参数,分别是波特率,数据位,停止位,奇偶检验。4、设置事件监听,先介绍下这里的事件监听。监听需要一个listener对象来进行监听(属于EventListener类,拥有相关的底层子类,如SerialPortEventListener),通过实现抽象方法serialEvent(SerialPortEventev)来经行监听。该类中自带了很多事件,如这里要用到的DATA_AVAILABLE事件。另外,每个串口只允许一
5、个listener。serialEvent的调用,该方法是通过notifyOnxxx方法进行自动调用的。比如notifyOnDataAvailable(BooleanisAvaliable)。最后事件监听过程需要属于listener对象的一个线程的支持。按照以上所述写程序即可。5、数据的读出,需要用到SerialPort,ParallelPort类中的getInputStream方法得到输入流。值得注意的是,port打开后,直到关闭前getInputStream方法将返回同一个输入流对象。第二步,实现Applet(难点
6、所在)Applet简介先介绍下Applet。Applet有五个函数:publicvoidinit(){},publicvoidstart(){},publicvoidstop(){},publicvoiddestroy(){},publicvoidrun(){},publicvoidpaint(Graphicsg){}。第一次打开网页的时候,将自动调用init()方法(init可做一些初始化操作),init()调用后将自动调用start()方法和paint(Graphicsg)方法,刷新时也将自动重新调用paint()
7、方法,当最小化等不显示Applet时,将自动调用stop()方法。当关闭网页时将调用destroy()方法,该方法将自动调用stop()方法。要连续进行Applet的操作,需要有线程的支持。通过安全监测写完Applet后,接下来就是将Applet嵌入网页(难点所在)。由于是B/S模式,所以安全性是被首先考虑的,因此要想办法通过安全检测。这里用到数字签名的方法。将相应的程序打包成jar包后,在当前目录下通过cmd运行以下语句keytool-genkey-dname"cn=BeanSoftStudio,ou=JavaSof
8、tware,o=BeanSoftStudio,c=China"-aliasbeansoft-keypassbeansoft-storepassbeansoft-validity365-keystore.beansoft其中-alias是指定数字签名名称的命令,-keypass是设定密码的命令,-storepass是设置store
此文档下载收益归作者所有