在java的web程序中怎么使用串口通讯?

Python014

在java的web程序中怎么使用串口通讯?,第1张

最近在做java串口通讯,主要是用个人电脑通过串口从RS485读取数据,并通过crc循环冗余校验,把接收正确的数据解析,插入数据库mysql,并用SSH技术把数据库数据以表格以及图表形式显示 \x0d\x0a 思路: \x0d\x0a1.为了从RS485读取数据,由于暂时没有硬件设备,系统是win7,故采用Virtual Serial Port Drive(VSPD)这块虚拟串口软件代替。并下载sscom32.exe模拟串口通信软件。 \x0d\x0a\x0d\x0a2. 要想实现串口通信,用Java实现串口通信(windows系统下),需要用到sun提供的串javacomm20-win32.zip。其中要用到三个文件,配置如下: \x0d\x0acomm.jar放置到 JAVA_HOME/jre/lib/ext\x0d\x0awin32com.dll放置到 JAVA_HOME/bin\x0d\x0ajavax.comm.properties 两个地方都要放 \x0d\x0ajre/lib(也就是在JAVA文件夹下的jre),JAVA_HOME/jre/lib下 \x0d\x0a这个配置在我电脑上测试成功,也许不需要这样麻烦。注意的是,如果你使用myeclipse,因为它自带jre,你需要在它所在的jre相应位置放dll以及properties文件。 \x0d\x0a\x0d\x0a是不是感觉这个很麻烦,还有windows的限制。后来我们下载rxtx这款开源包代替了刚才的comm。不仅windows下可以,linux下也可以。使用方法很简单,配置如下: \x0d\x0a\x0d\x0aRXTXcomm.jar放到JAVA_HOME/jre/lib/ext \x0d\x0arxtxSerial.dll放到JAVA_HOME/bin \x0d\x0a如果你使用myeclipse工具,你需要把rxtxSerial.dll放到它自带的jre里。 \x0d\x0a\x0d\x0a3.新建eclipse工程,添加comm.jar或者RXTXcomm.jar包。因为javacomm20-win32.zip包里有样例SimpleRead.java,可以通过这个例子测试串口是否正确 \x0d\x0a\x0d\x0a4.接收数据正确后,根据传送接收双方的协议,采用CRC循环校验,根据传输的一方的校验函数判定是否是正确传输 \x0d\x0a\x0d\x0a5.把正确结束的数据解析,查看自己指定的通讯规则,然后解析 \x0d\x0a\x0d\x0a6.插入数据库,jdbc插入 \x0d\x0a\x0d\x0a7.数据统计,定时统计每小时,每天,每月,每年的平均值,采用quartz服务来实现。 \x0d\x0a\x0d\x0a8.建立web工程,采用hibernate3,spring3,dwr技术把数据库数据动态显示,图表采用jfreechart,以及AJAX的运用

在java中如何解决在使用接口时而不实现所有的方法?高手进

可以使用适配器类

ParserAdapter,MouseInputAdapter....

interface can be added to an existing class or used to create an adapter

方法就是 面向结构语言的:函数

java中适配器的作用实际上是实现了接口的类,但是适配器所实现的只是空方法。因为如果我们不用适配器,直接去实现接口,也要逐个实现里面的方法,并且大多情况下我们也会像 jdk里适配器所做的:仅仅以空方法去实现,只实现对我们有用的方法。

几乎所有申明了很多方法 的接口,都会有它自己的 适配器类。

本身adapter没有什么作用,只是帮助程序员专注 所实现的功能,使代码简洁罢了

你可以查一下jdk:

java.awt.event.KeyAdapter

All Implemented Interfaces:

KeyListener, EventListener

它里面的方法:

void keyPressed(KeyEvent e)

Invoked when a key has been pressed.

void keyReleased(KeyEvent e)

Invoked when a key has been released.

void keyTyped(KeyEvent e)

Invoked when a key has been typed.

都是空方法

如何解决在使用格式工厂时无法转码的情况

用格式工厂时无法转码,说明这个文件格式,格式工厂不支持,或支持不好。

如果是不支持的视频格式,则需要安装相应的视频解码器才可以。

如果是支持的视频格式,说明这个视频编码不规范,建议先将它转换成WMV格式,然后再将WMV转换成需要的视频格式,通常可以解决部分问题。

如何解决散热器在使用中出现的问题

具体出现的是什么问题呢

浩辰CAD软件在使用中有的图形不能复制如何解决?

应该是使用的版本已经过期或锁非正常安装,浩辰CAD过期后,保存有文件大小限制,复制粘贴也对图形数量有限制,当复制的对象较多时,就会有类似提示

如何解决“该虚拟机似乎正在使用中”

1、点击对话框中的“获取所有权”按钮,会弹出一个新窗口提示获取所有权失败

2、而且重新启动虚拟机还是会出现虚拟机正在使用的窗口

3、这时,打开虚拟机所在磁盘的位置配置文件: E:\virtual\Windows Server 2003 Enterprise x64 Edition\Windows Server 2003 Enterprise x64 Edition.vmx(提示窗口中有显示)

4、找到.lck文件夹,并将其删除,避免删错可以移动到备份文件夹中,或者直接重命名此文件夹,如改为Windows Server 2003 Enterprise x64 Edition.vmx.lck.backup

5、再次打开VMware,发现可以正常打开虚拟机了。

您好,这可能是当前某个虚拟机服务正在运行,但又不能显示窗口,导致无法再使用虚拟机,建议您重启电脑再尝试

该虚拟机似乎正在使用中。

如果该虚拟机未在使用,请按“获取所有权(T)”按钮获取它的所有权。否则,请按“取消(C)”按钮以防损坏。

配置文件:D:\VMware10.01-win7 X64\Windows 7 x64.wmx。

VMware Workstation该虚拟机似乎正在使用中解决方法:

例如我们的配置文件是:D:\VMware10.01-win7 X64\Windows 7 x64.wmx

那么我们就打开:D:\VMware10.01-win7 X64\目录,删除:*.lck文件夹或者*.lck文件。

一般来说这样就可以解决VMware Workstation该虚拟机似乎正在使用中的问题,如果不行就删除后重启下电脑一定行的。

如图示,我们可以看到,我现在想要打开的虚拟机出现了该问题,无论是点击“获取所有权”,还是点击取消,都是无法打开虚拟机的。

这里我们首先需要确定虚拟机是关闭状态,如果没有关闭虚拟机,我们点击关闭。

3

关闭之后,我们再找到虚拟机所存放的目录,如图示。在该目录中,我们找到以“.lck”的文件夹。

一、JSON建构有两种结构:

json简单说就是javascript中的对象和数组,所以这两种结构就是对象和数组2种结构,通过这两种结构可以表示各种复杂的结构

1、对象:对象在js中表示为“{}”括起来的内容,数据结构为 {key:value,key:value,...}的键值对的结构,在面向对象的语言中,key为对象的属性,value为对应的属性值,所以很容易理解,取值方法为 对象.key 获取属性值,这个属性值的类型可以是 数字、字符串、数组、对象几种。在Java中就是一种Map结构。

2、数组:数组在js中是中括号“[]”扩起来的内容,数据结构为 ["java","javascript","vb",...],取值方式和所有语言中一样,使用索引获取,字段值的类型可以是 数字、字符串、数组、对象几种。在Java中是一种list结构。

经过对象、数组2种结构就可以组合成复杂的数据结构了。

二、Json in Javascript

使用Json语法创建对象

var people = {"name":"jack","sex":"mail"}

可以通过这种语法创建json对象,用“{}”括起来,用“,”隔开key:value

使用Json语法创建数组

var arr =[value1,value2...]

一个包含多个people的数组 peoples = [{"name":"jack","sex":"mail"},

"name":"lily","sex":"femail"}

Json数组可以通过这种语法创建,用"[]"括起来,数组元素之间用“,”分隔开,下面是这种语法的示意图:

在使用Json格式字符串与服务器交互时候,可以利用Json扩展的方法将字符串转换成一个JavaScript对象,或者将一个对象转换成Json格式字符串。不过先要登录http://www.json.org下载Json2.js文件。引入该包后,js对象直接用toJSONString()装换为字符串格式,字符串可以用parseJSON()转换成js对象。

访问数据

只需用点号表示法来表示数组元素。所以,要想访问 上面peoples列表的第一个条目的名字,只需在 JavaScript 中使用下面这样的代码:

peoples[0].name

利用这样的语法,可以处理任何 JSON 格式的数据,而不需要使用任何额外的 JavaScript 工具包或 API。

修改数据

正如可以用点号和方括号访问数据,也可以按照同样的方式轻松地修改数据:

peoples[0].name = "Rachmaninov"

在将字符串转换为 JavaScript 对象之后,就可以像这样修改变量中的数据。